Singular Manual: nchilb

| #### D.15.18.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, # != NULL for non-finitely generated ideals; Note : The input ideal needs to be given in 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],[-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
    list l1=list(p1,p2);
    nchilb(l1,6,1); //third argument is for non-finitely generated case
    ==>
    ==> 1/(t3+t2-3t+1)
    ==>
    ==> Orbit size = 6
    ring r=0,(x,y,z,w),dp;
    ==> // ** redefining r (ring r=0,(x,y,z,w),dp;)
    module p1=[1,y,x],[-1,x,y];            //represents the poly y*x-x*y
    module p2=[1,z,x],[-1,x,z];
    module p3=[1,w,x],[-1,x,w];
    module p4=[1,z,y],[-1,y,z];
    module p5=[1,w,y],[-1,y,w];
    module p6=[1,w,z],[-1,z,w];
    list l2=list(p1,p2,p3,p4,p5,p6);
    nchilb(l2,5);
    ==>
    ==> 1/(t4-4t3+6t2-4t+1)
    ==>
    ==> Orbit size = 5
    ring r=0,(X,Y,Z),dp;
    ==> // ** redefining r (ring r=0,(X,Y,Z),dp;)
    module p1 =[1,Y,Z];                //represents the poly Y*Z
    module p2 =[1,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 l3=list(p1,p2,p3,p4,p5,p6,p7,p8);
    nchilb(l3,10);
    ==>
    ==> 1/(t2-3t+1)
    ==>
    ==> Orbit size = 3
    ring r=0,U(1..3),dp;
    ==> // ** redefining r (ring r=0,U(1..3),dp;)
    module p1=[1,U(2),U(3),U(3)];
    module p2=[1,U(2),U(2),U(3)];
    module p3=[1,U(1),U(3),U(3)];
    module p4=[1,U(1),U(3),U(2)];
    module p5=[1,U(1),U(2),U(3)];
    module p6=[1,U(1),U(2),U(2)];
    module p7=[1,U(1),U(1),U(3)];
    module p8=[1,U(1),U(1),U(2)];
    module p9=[1,U(2),U(3),U(2),U(3)];
    module p10=[1,U(2),U(3),U(1),U(3)];
    module p11=[1,U(2),U(3),U(1),U(2)];
    module p12=[1,U(1),U(3),U(1),U(3)];
    module p13=[1,U(1),U(3),U(1),U(2)];
    module p14=[1,U(1),U(2),U(1),U(3)];
    module p15=[1,U(1),U(2),U(1),U(2)];
    module p16=[1,U(2),U(3),U(2),U(1),U(3)];
    module p17=[1,U(2),U(3),U(2),U(1),U(2)];
    module p18=[1,U(2),U(3),U(2),U(2),U(1),U(3)];
    module p19=[1,U(2),U(3),U(2),U(2),U(1),U(2)];
    module p20=[1,U(2),U(3),U(2),U(2),U(2),U(1),U(3)];
    module p21=[1,U(2),U(3),U(2),U(2),U(2),U(1),U(2)];
    list ll=list(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,
    p14,p15,p16,p17,p18,p19,p20,p21);
    nchilb(ll,7,1);
    ==>
    ==> (-3t2-1)/(t3-3t2+3t-1)
    ==>
    ==> Orbit size = 7
    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 l1=list(p1,p2,p3,p4,p5);
    nchilb(l1,7);
    ==>
    ==> (t3+t2+1)/(2t5-2t4-t3+2t2-3t+1)
    ==>
    ==> Orbit size = 6

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