Singular Manual: toricRingFromBinomials

| #### D.4.25.4 toricRingFromBinomials Procedure from library `normaliz.lib` (see normaliz_lib). Usage: toricRingFromBinomials(ideal I); toricRingFromBinomials(ideal I, intvec grading); Return: The ideal 253#253 is generated by binomials of type 1019#1019 (multiindex notation) in the surrounding polynomial ring 1020#1020. The binomials represent a congruence on the monoid 1021#1021 with residue monoid 13#13. Let 420#420 be the image of 13#13 in gp(13#13)/torsion. Then 420#420 is universal in the sense that every homomorphism from 13#13 to an affine monoid factors through 420#420. If 253#253 is a prime ideal, then 1022#1022. In general, 1023#1023 where 1024#1024 is the unique minimal prime ideal of 253#253 generated by binomials of type 1019#1019. The function computes 1025#1025 and returns a newly created polynomial ring of the same Krull dimension, whose variables are 1026#1026, where 301#301 is the rank of the matrix with rows 1027#1027. (In general there is no canonical choice for such an embedding.) The function returns the input ideal I if an option blocking the computation of Hilbert bases 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 = u2v-xyz, ux2-wyz, uvw-y2z;
    def S = toricRingFromBinomials(I);
    setring S;
    I;
    ==> I[1]=x(3)
    ==> I[2]=x(1)
    ==> I[3]=x(2)*x(3)^3
    ==> I[4]=x(1)*x(2)*x(3)^2
    ==> I[5]=x(1)^3*x(2)
    ==> I[6]=x(1)^2*x(2)^3*x(3)^5
See also: normalToricRingFromBinomials; toricRingFromBinomials.

User manual for Singular version 4.4.1, 2025, generated by texi2html.