| #### D.15.19.1 nchilb Procedure from library `ncHilb.lib` (see ncHilb_lib). Usage: nchilb(list of relations, an integer, optional); L is a list of modules (each module represents a free-polynomial), d is an integer for the degree bound (maximal total degree of the polynomials of generating set of input ideal), #[]=1 represents the case of non-finitely generated ideals, #[]=2 is for the computation of multi-graded Hilbert series, and #[]=3 is to print the details about the orbit and system of equation. Note : The generating set of input ideal should be a Groebner basis and needs to be given in a special form. It is a list of modules, where each generator of every module represents a monomial times a coefficient in the free associative algebra. The first entry, in each generator, represents a coefficient and every next entry is a variable. Ex: module p1=[1,y,z],[-1,z,y] represents the poly y*z-z*y; module p2=[1,x,z,x],[-1,z,x,z] represents the poly x*z*x-z*x*z for more details about the input, see examples. Example:
    LIB "ncHilb.lib";
    ring r=0,(X,Y,Z),dp;
    module p1 =[1,Y,Z];             //represents the poly Y*Z
    module p2 =[1,Y,Z,X];          //represents the poly Y*Z*X
    module p3 =[1,Y,Z,Z,X,Z];
    module p4 =[1,Y,Z,Z,Z,X,Z];
    module p5 =[1,Y,Z,Z,Z,Z,X,Z];
    module p6 =[1,Y,Z,Z,Z,Z,Z,X,Z];
    module p7 =[1,Y,Z,Z,Z,Z,Z,Z,X,Z];
    module p8 =[1,Y,Z,Z,Z,Z,Z,Z,Z,X,Z];
    list l1=list(p1,p2,p3,p4,p5,p6,p7,p8);
    nchilb(l1,10);
    ==>
    ==> Maximal length of words = 2
    ==>
    ==> Orbit length = 3
    ==>
    ==>
    ==> Hilbert series:
    ==> 1/(t2-3t+1)
    ==>
    ring r=0,(x,y,z),dp;
    ==> // ** redefining r (ring r=0,(x,y,z),dp;)
    module p1=[1,y,z],[-1,z,y];               //y*z-z*y
    module p2=[1,x,z,x],[-1,z,x,z];           // x*z*x-z*x*z
    module p3=[1,x,z,z,x,z],[-1,z,x,z,z,x];   // x*z^2*x*z-z*x*z^2*x
    module p4=[1,x,z,z,z,x,z];[-1,z,x,z,z,x,x]; // x*z^3*x*z-z*x*z^2*x^2
    ==> x*gen(7)+x*gen(6)+x*gen(3)+z*gen(5)+z*gen(4)+z*gen(2)-gen(1)
    list l2=list(p1,p2,p3,p4);
    nchilb(l2,6,1); //third argument '1' is for non-finitely generated case
    ==>
    ==> Maximal length of words = 3
    ==>
    ==> Orbit length = 6
    ==>
    ==>
    ==> Hilbert series:
    ==> 1/(t3+t2-3t+1)
    ==>
    ring r=0,(a,b),dp;
    ==> // ** redefining r (ring r=0,(a,b),dp;)
    module p1=[1,a,a,a];
    module p2=[1,a,b,b];
    module p3=[1,a,a,b];
    list l3=list(p1,p2,p3);
    nchilb(l3,5,2);//third argument '2' is to compute multi-graded HS
    ==>
    ==> Maximal length of words = 3
    ==>
    ==> Orbit length = 5
    ==>
    ==>
    ==> Hilbert series:
    ==> (t(1)^2+t(1)+1)/(t(1)*t(2)^2-t(1)*t(2)-t(2)+1)
    ==>
    ring r=0,(x,y,z),dp;
    ==> // ** redefining r (ring r=0,(x,y,z),dp;)
    module p1=[1,x,z,y,z,x,z];
    module p2=[1,x,z,x];
    module p3=[1,x,z,y,z,z,x,z];
    module p4=[1,y,z];
    module p5=[1,x,z,z,x,z];
    list l4=list(p1,p2,p3,p4,p5);
    nchilb(l4,7,3); //third argument '3' is to print the details
    ==>
    ==> Maximal length of words = 3
    ==>
    ==> Orbit length = 6
    ==>
    ==> Words description of the Orbit:
    ==> 1    x(1)    y(1)    x(1)*z(2)    y(1)*z(2)    x(1)*z(2)*z(3)
    ==>
    ==> linear system:
    ==> H(1) = (t)*H(2) + (t)*H(3) + (t)*H(1) +  1
    ==> H(2) = (t)*H(2) + (t)*H(3) + (t)*H(4) +  1
    ==> H(3) = (t)*H(2) + (t)*H(3) + (t)*H(5) +  1
    ==> H(4) = (t)*H(5) + (t)*H(3) + (t)*H(6) +  1
    ==> H(5) = (t)*H(5) + (t)*H(5) + (t)*H(5) +  0
    ==> H(6) = (t)*H(3) + (t)*H(3) + (t)*H(1) +  1
    ==> where H(1) represents the series corresp. to input ideal
    ==> and i^th summand in the rhs of an eqn. is according
    ==> to the right colon map corresp. to the i^th variable
    ==>
    ==> Hilbert series:
    ==> (t3+t2+1)/(2t5-2t4-t3+2t2-3t+1)
    ==>
    // of the orbit and system
    ring r=0,(x,y,z),dp;
    ==> // ** redefining r (ring r=0,(x,y,z),dp;)
    module p1=[1,y,z,z];
    module p2=[1,y,y,z];
    module p3=[1,x,z,z];
    module p4=[1,x,z,y];
    module p5=[1,x,y,z];
    module p6=[1,x,y,y];
    module p7=[1,x,x,z];
    module p8=[1,x,x,y];
    module p9=[1,y,z,y,z];
    module p10=[1,y,z,x,z];
    module p11=[1,y,z,x,y];
    module p12=[1,x,z,x,z];
    module p13=[1,x,z,x,y];
    module p14=[1,x,y,x,z];
    module p15=[1,x,y,x,y];
    module p16=[1,y,z,y,x,z];
    module p17=[1,y,z,y,x,y];
    module p18=[1,y,z,y,y,x,z];
    module p19=[1,y,z,y,y,x,y];
    module p20=[1,y,z,y,y,y,x,z];
    module p21=[1,y,z,y,y,y,x,y];
    list l5=list(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,
    p14,p15,p16,p17,p18,p19,p20,p21);
    nchilb(l5,7,1,2,3);
    ==>
    ==> Maximal length of words = 3
    ==>
    ==> Orbit length = 7
    ==>
    ==> Words description of the Orbit:
    ==> 1    x(1)    y(1)    x(1)*x(2)    y(1)*y(2)    y(1)*z(2)    x(1)*x(2)*y(3\
       )
    ==>
    ==> linear system:
    ==> H(1) = (t(1))*H(2) + (t(2))*H(3) + (t(3))*H(1) +  1
    ==> H(2) = (t(1))*H(4) + (t(2))*H(4) + (t(3))*H(4) +  1
    ==> H(3) = (t(1))*H(2) + (t(2))*H(5) + (t(3))*H(6) +  1
    ==> H(4) = (t(1))*H(4) + (t(2))*H(7) + (t(3))*H(7) +  1
    ==> H(5) = (t(1))*H(2) + (t(2))*H(5) + (t(3))*H(7) +  1
    ==> H(6) = (t(1))*H(4) + (t(2))*H(6) + (t(3))*H(7) +  1
    ==> H(7) = (t(1))*H(7) + (t(2))*H(7) + (t(3))*H(7) +  0
    ==> where H(1) represents the series corresp. to input ideal
    ==>
    ==> Hilbert series:
    ==> (-t(1)*t(2)-t(1)*t(3)-t(2)*t(3)-1)/(t(1)*t(2)*t(3)-t(1)*t(2)-t(1)*t(3)+t(\
       1)-t(2)*t(3)+t(2)+t(3)-1)
    ==>

User manual for Singular version 4-1-0p2, 2017, generated by texi2html.