
D.4.18.3 normalToricRingFromBinomials
Procedure from library normaliz.lib (see normaliz_lib).
 Usage:
 normalToricRingFromBinomials(ideal I);
normalToricRingFromBinomials(ideal I, intvec grading);
 Return:
 The ideal is generated by binomials of type (multiindex notation)
in the surrounding polynomial ring
. The binomials
represent a congruence on the monoid with residue monoid .
Let be the image of in gp()/torsion. Then is universal in the
sense that every homomorphism from to an affine monoid factors through .
If is a prime ideal, then . In general, where
is the unique minimal prime ideal of generated by binomials of type
.
The function computes the normalization of and returns a newly created
polynomial ring of the same Krull dimension, whose variables are
, where is the rank of the matrix with rows .
(In general there is no canonical choice for such an embedding.)
Inside this polynomial ring there is an ideal which lists the algebra
generators of the normalization of .
The function returns the input ideal I if one of the options
supp , triang , volume , or hseries
has been activated.
However, in this case some numerical invariants are computed, and
some other data may be contained in files that you can read into
Singular (see showNuminvs, exportNuminvs).
Example:
 LIB "normaliz.lib";
ring R = 37,(u,v,w,x,y,z),dp;
ideal I = u2vxyz, ux2wyz, uvwy2z;
def S = normalToricRingFromBinomials(I);
setring S;
I;
==> I[1]=x(1)
==> I[2]=x(3)
==> I[3]=x(1)^2*x(2)
==> I[4]=x(1)*x(2)*x(3)
==> I[5]=x(2)*x(3)^2
==> I[6]=x(1)^3*x(2)^2
==> I[7]=x(1)^2*x(2)^2*x(3)
==> I[8]=x(1)*x(2)^2*x(3)^2
==> I[9]=x(1)*x(2)^3*x(3)^3
 See also:
ehrhartRing;
intclMonIdeal;
intclToricRing;
normalToricRing.
