- Timestamp:
- Oct 14, 2016, 2:30:14 PM (8 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- a85c1546f3be117e077ebe1215bb680cf6023e70
- Parents:
- 81fb5aeadbd51ed0150e244d060d98a3a6637449
- Location:
- Singular/LIB
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/alexpoly.lib
r81fb5ae r90cf60e 361 361 int n_i,n_j; 362 362 int bad_contact; 363 list newpos; // when reordering the branches, here we save the new order of the old branches 363 list newpos; // when reordering the branches, here we save the new order of the old branches 364 364 for (ii=1;ii<=r;ii++) 365 365 { … … 421 421 newpos=insert(newpos,newpos[j],i-1); 422 422 newpos=delete(newpos,j+1); 423 // BE AWARE: after this reordering the graphs do not have the correct weight for the 424 // strict transform any more; this will be adjusted further down 423 // BE AWARE: after this reordering the graphs do not have the correct weight for the 424 // strict transform any more; this will be adjusted further down 425 425 graphs=insert(graphs,graphs[j],i-1); 426 426 graphs=delete(graphs,j+1); … … 440 440 i=i+1; 441 441 } 442 } 443 // Here we adjust the weights of the strict transforms in the graphs!!! 442 } 443 // Here we adjust the weights of the strict transforms in the graphs!!! 444 444 for (i=1;i<=size(graphs);i++) 445 445 { … … 578 578 { 579 579 list result=rgraph,rtm,rmt; 580 return(result); 580 return(result); 581 581 } 582 582 else // reorder the branches according to the ordering of the input 583 583 { 584 // reordered total multiplicities, multiplicities and resolution graph 584 // reordered total multiplicities, multiplicities and resolution graph 585 585 intmat rtmro[nrows(rtm)][ncols(rtm)]; 586 586 intmat rmtro[nrows(rmt)][ncols(rmt)]; -
Singular/LIB/ncHilb.lib
r81fb5ae r90cf60e 22 22 proc nchilb(list L_wp, int d, list #) 23 23 "USAGE: nchilb(list of relations, an integer, optional); 24 L is a list of modules (each module represents a free-polynomial), 25 d is an integer for the degree bound, 24 L is a list of modules (each module represents a free-polynomial), 25 d is an integer for the degree bound, 26 26 # != NULL for non-finitely generated ideals; 27 27 NOTE : The input ideal needs to be given in special form. It is a list … … 31 31 every next entry is a variable. 32 32 Ex. module p1=[1,y,z],[-1,z,y] represents the poly y*z-z*y; 33 module p2=[1,x,z,x],[-1,z,x,z] represents the poly x*z*x-z*x*z 33 module p2=[1,x,z,x],[-1,z,x,z] represents the poly x*z*x-z*x*z 34 34 for more details about the input, see examples. 35 35 EXAMPLE: example nchilb; shows an example " 36 36 { 37 37 38 if (d<1) 38 if (d<1) 39 39 { 40 40 ERROR("bad degree bound"); 41 41 } 42 42 43 43 def save = basering; 44 44 int sz=size(#); 45 45 int lV=nvars(save); 46 46 47 47 def R =makeLetterplaceRing(d); 48 48 setring R; … … 50 50 poly p; 51 51 poly q=0; 52 // convert list L_wp of free-poly to letterPlace-poly format 52 // convert list L_wp of free-poly to letterPlace-poly format 53 53 setring save; 54 54 module M; … … 56 56 vector w; 57 57 poly pc=0; 58 intvec v; 58 intvec v; 59 59 slm = size(L_wp); // number of polys in the given ideal 60 60 61 61 for (i=1; i<=slm; i++) 62 { 62 { 63 63 M = L_wp[i]; 64 64 sm = ncols(M); // number of words in the free-poly M … … 66 66 { 67 67 w = M[j]; 68 sw = size(w); 68 sw = size(w); 69 69 for (k=2; k<=sw; k++) 70 70 { … … 83 83 setring R; 84 84 I = I,q; //lp-polynomial added to I 85 q=0; //ready for the next polynomial 85 q=0; //ready for the next polynomial 86 86 setring save; 87 87 } … … 89 89 90 90 ideal J = system("freegb",I,d,lV); 91 91 92 92 //Groebner Basis is computed for the given ideal. 93 93 //now compute the leading monomials of the Groebner Basis 94 94 95 95 ideal J_lm; 96 96 for(i=1;i<=size(J);i++) … … 98 98 J_lm[i]=leadmonom(J[i]); 99 99 } 100 100 101 101 setring save; 102 102 def A =makeLetterplaceRing(2*d); 103 103 setring A; 104 104 ideal I=imap(R, J_lm); 105 105 106 106 //compute the Hilbert series 107 107 108 108 if(sz==1) // non-finitely generated case 109 109 { … … 116 116 } 117 117 example 118 { 118 { 119 119 "EXAMPLE:"; echo = 2; 120 120 ring r=0,(x,y,z),dp; … … 123 123 list l1=list(p1,p2); 124 124 nchilb(l1,6,1); //third argument is for non-finitely generated case 125 125 126 126 ring r=0,(x,y,z,w),dp; 127 127 module p1=[1,y,x],[-1,x,y]; //represents the poly y*x-x*y … … 133 133 list l2=list(p1,p2,p3,p4,p5,p6); 134 134 nchilb(l2,5); 135 135 136 136 ring r=0,(X,Y,Z),dp; 137 137 module p1 =[1,Y,Z]; //represents the poly Y*Z … … 145 145 list l3=list(p1,p2,p3,p4,p5,p6,p7,p8); 146 146 nchilb(l3,10); 147 147 148 148 ring r=0,U(1..3),dp; 149 149 module p1=[1,U(2),U(3),U(3)]; … … 171 171 p14,p15,p16,p17,p18,p19,p20,p21); 172 172 nchilb(ll,7,1); 173 173 174 174 ring r=0,(x,y,z),dp; 175 175 module p1=[1,x,z,y,z,x,z]; … … 178 178 module p4=[1,y,z]; 179 179 module p5=[1,x,z,z,x,z]; 180 180 181 181 list l1=list(p1,p2,p3,p4,p5); 182 182 nchilb(l1,7);
Note: See TracChangeset
for help on using the changeset viewer.