Changeset 6f184e in git
- Timestamp:
- Oct 18, 2021, 1:54:25 PM (3 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- e2c597cebf3e1f2e5391b7e5756aa240b3fb0ab8
- Parents:
- 3551885a5d35f5d806aa9a27ec225b51933cd05c
- Files:
-
- 5 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/sagbigrob.lib
r3551885 r6f184e 3 3 category="Commutative Algebra"; 4 4 info=" 5 LIBRARY: sagbi 2.lib Compute Sagbi-Groebner basis of an ideal of a subalgebra5 LIBRARY: sagbigrob.lib Compute Sagbi-Groebner basis of an ideal of a subalgebra 6 6 AUTHORS: 7 7 Nazish Kanwal, Lecturer of Mathematics, School of Mathematics and … … 14 14 15 15 PROCUDURES: 16 LTGS(I,A); leading terms for syzygies of I over subalgebra A 16 17 SGNF(f,I,A); normalform of f wrt. I in subalgebra A. 17 18 SPOLY(I,A); S-polynomials of ideal I over subalgebra A. … … 29 30 ////////// Procedure to compute normal form //////// 30 31 31 // For a polynomial f of subalgebra A and a finite set of polynomials I , 32 // For a polynomial f of subalgebra A and a finite set of polynomials I , 32 33 // the following procedure compute a normal form of f with respect to I over subalgebra A. 33 34 34 35 proc SGNF(poly f,ideal I, ideal A) 35 36 36 "USAGE: SGNF(f,I,A); f polynomial, I ideal of subalgebra 37 "USAGE: SGNF(f,I,A); f polynomial, I ideal of subalgebra 37 38 A, A ideal (which is a finite Sagbi bases). 38 39 RETURN: a polynomial h: the normalform of f wrt. I in A … … 48 49 49 50 while(h!=0 && h1!=h) 50 { 51 { 51 52 for(i=1;i<=size(G);i++) 52 53 { 53 54 m=lead(h)/lead(G[i]); 54 55 if(m!=0) 55 { 56 L= algebra_containment(m,lead(A),1); 56 { 57 L= algebra_containment(m,lead(A),1); 57 58 if (L[1]==1) 58 59 { k=1; … … 62 63 c=leadcoef(h)/(leadcoef(j)*leadcoef(G[i])); 63 64 h1=h; 64 h=h-(c*j*G[i]); 65 kill s; 65 h=h-(c*j*G[i]); 66 kill s; 66 67 } 67 68 } … … 74 75 } 75 76 return(h); 76 } 77 } 77 78 example 78 79 { … … 109 110 int m=size(I) ; 110 111 ideal Q; 111 list M; 112 list M,Li; 113 poly ji; 112 114 for(i=1;i<=m;i++) 113 { 114 setring bsr; 115 list Li=algebra_containment(lead(I[i]),B,1); 115 { 116 Li=algebra_containment(lead(I[i]),B,1); 116 117 if (Li[1]==1) 117 { 118 def Si=Li[2]; 119 setring Si; 120 poly ji=check; 121 118 { 119 if (defined(Si)) { kill Si; } 120 def Si=Li[2]; 121 setring Si; 122 poly ji=check; 123 setring bsr; 122 124 } 123 setring bsr; 124 poly ji=imap(Si,ji); 125 ji=imap(Si,ji); 125 126 M[i]=ji; 126 127 } … … 138 139 RETURN: a list T." 139 140 { 140 int i,j ,l;141 int i,j; 141 142 int l=size(G); 142 list T; 143 list T,S; 144 poly gij; 145 vector vij; 143 146 for(i=1;i<=l-1;i++) 144 147 { 145 list S;148 S=list(); 146 149 for(j=i+1;j<=l;j++) 147 150 { 148 polygij=lcm(G[i],G[j]);149 v ector vij=(gij/G[i])*gen(i)-(gij/G[j])*gen(j);151 gij=lcm(G[i],G[j]); 152 vij=(gij/G[i])*gen(i)-(gij/G[j])*gen(j); 150 153 S[j]=vij; 151 154 } … … 163 166 RETURN: a module M." 164 167 { 168 def r=basering; 165 169 A=sagbi(A); 166 170 ideal F=lead(I); … … 205 209 int d,e; 206 210 list D; 211 vector qd,pde; 212 poly gd; 213 list td; 207 214 for(d=1;d<=b;d++) 208 215 { 209 vector qd;210 polygd=J[d];211 deftd=pdivi(gd,H);216 qd=0; 217 gd=J[d]; 218 td=pdivi(gd,H); 212 219 for(e=1;e<=c;e++) 213 220 { 214 vectorpde=td[2][e]*gen(e);221 pde=td[2][e]*gen(e); 215 222 qd=qd+pde; 216 223 } … … 222 229 { 223 230 Q=N,0; 224 231 } 225 232 setring r; 226 233 map psi=R1,A,maxideal(1); 227 234 list W=psi(Q); 228 int n =size(I);235 int nn=size(I); 229 236 int i,j,l,t; 230 module M; 237 module M,Z; 238 vector vij; 231 239 t=1; 232 for(i=1;i<=n -1;i++)233 { 234 module Z;235 for(j=i+1;j<=n ;j++)236 { 237 v ector vij=W[t][i][j];240 for(i=1;i<=nn-1;i++) 241 { 242 Z=0; 243 for(j=i+1;j<=nn;j++) 244 { 245 vij=W[t][i][j]; 238 246 Z[j-i]=vij; 239 247 } 240 248 if(M!=0) 241 242 243 249 { 250 M=M,Z; 251 } 244 252 else 245 253 { … … 248 256 } 249 257 t=t+1; 258 vector vt; 250 259 for(l=1;l<=size(W[2]);l++) 251 260 { 252 v ector vt=W[t][l];261 vt=W[t][l]; 253 262 if(vt!=0) 254 263 { … … 269 278 270 279 // Example 2: 271 272 ring r=QQ,(x,y),Dp; 280 ring r2=QQ,(x,y),Dp; 273 281 ideal A=x2,xy; 274 282 ideal I=x3y+x2,x4+x2y2,-x3y3-x2y2; … … 290 298 module P=LTGS(I,A); 291 299 ideal S; 300 poly pij,hj; 301 vector Vj; 292 302 for(j=1;j<=size(P);j++) 293 303 { 294 vectorVj=P[j];295 poly hj;304 Vj=P[j]; 305 hj=0; 296 306 for(i=1;i<=size(I);i++) 297 307 { 298 p oly pij = Vj[i]*I[i];308 pij = Vj[i]*I[i]; 299 309 hj=hj+pij; 300 310 } … … 318 328 } 319 329 320 //////// SAGBI-GROEBNER Bases Construction ////////// 321 322 // This procedure give Sagbi Groebner bases of 330 //////// SAGBI-GROEBNER Bases Construction ////////// 331 332 // This procedure give Sagbi Groebner bases of 323 333 // ideal I over subalgebra A. 324 334 … … 367 377 368 378 // Example 2: 369 ring r =QQ,(w,x,y,z),lp;370 ideal A=wxy+2z2, y2-4z, x+3y 371 ideal I= wxy-y2+2z2+4z, x+y2+3y-4z, x2+6xy+9y2 379 ring r2=QQ,(w,x,y,z),lp; 380 ideal A=wxy+2z2, y2-4z, x+3y; 381 ideal I= wxy-y2+2z2+4z, x+y2+3y-4z, x2+6xy+9y2; 372 382 SGB(I,A); 373 383 } … … 401 411 _[4]=27y3z3 402 412 _[5]=8y6 403 _[6]=12y5z 413 _[6]=12y5z 404 414 405 415 // SINGULAR EXAMPLE #02 for all Procedures: -
Singular/singular-libs
r3551885 r6f184e 68 68 SLIB2 = KVequiv.lib deflation.lib invar.lib lejeune.lib ncHilb.lib ncrat.lib \ 69 69 mathml.lib maxlike.lib recover.lib autgradalg.lib dummy.lib \ 70 interval.lib lrcalc.lib nchilbert.lib sagbi 2.lib systhreads.lib VecField.lib70 interval.lib lrcalc.lib nchilbert.lib sagbigrob.lib systhreads.lib VecField.lib -
Tst/Short/ok_s.lst
r3551885 r6f184e 164 164 combinat 165 165 methods 166 sagbi2 166 167 sets 167 168 ssi_Z 168 169 ssi_ringref 169 170 pfd 170 171 -
Tst/Short/sagbi2.res.gz.uu
r3551885 r6f184e 1 1 begin 640 sagbi2.res.gz 2 M'XL("&6`3&$"`W-A9V)I,BYR97,`Q5?;;ALW$'W75Q!!'Z1RJ8A#[JV&!#B( 3 M;1APW03.0YO"")Q&%@0HMF$K,+E?WQE>=VW9<=H"?9%([ES.S)P=SIY]>'M\ 4 MRAB3"W9R_(:]VMYMIYOUYU=[H[/P!!8,#S^MK];;\61O1/]LL6!W%ZO/:YA> 5 M+>^G=]N+;1)7"Y;6>NJ-!MFAW7+!;M=7*W8[7U]MEZOE;3$VA2VZ2?'E)DM5 6 M"[;^LKS8L/TY&."F*\!"H6R71>HH<CS7!I]R,!:ZHL)UQY6Q'13::*&MYMJH 7 MCAO`$ZBMZE0VTF#\'X[.QL?%/@;YZ4]Y/A=HZ^?5\FH,$XX.W5).\!F<$Y:P 8 M3U)J@NBRD$(AYR/*.6QNHU&)((8-"NML$9(9F(CH5I%0>3YO42N*B:B!YDS/ 9 M5O4CCNN!L")A'44I6<E!].NTFI<A:5^.)):A7;"S=[^=_-&O0V,KGW1<<`FV 10 M['QZA9PUMNX4S^?!C)RAF:,W?2,]9GAC/7IX<X\X$NKB(O#I]T@PP4-O,E-> 11 MPC2P&N8S1^A)L<ETEBK3V2@$A%QF1@E;,-ID.9TY[>3P1UB4<^)!RX+H:90[ 12 M"$PRB52I"NE,V`&G16!QG\(]"\)$DO!LU69ZZAT6,&<VOB@\>A->-U`5/>@H 13 MH7`38?+DFB!7B4*VS$N=GB>MY]PAV4V5E7"=XL@P<*/[F'3"!-\'"+N@PD[4 14 M[NW^P0":00`<URH5)P<C*)B$I\)-QO'OPN2VB2*EK>.R?BYX7);_..+([6I' 15 M5\"`B=_:1:N$\J^3\E3>^="]0R@3F.U%E!,!1P!."D%"/Y)008+LD8+U_$8I 16 MLJRY$TV2@M[J4CB+"K,1%!SC*^Q7)?Z6F/6*-+&./'AK1(V_M9!DI!(M5<_7 17 MPYL%>OU;3'^#;:_&_XK<4*CDOHQ^B.HMNL&?4N`/$$%JYY5ZI7/>.N=5\@[. 18 MO:R<?ZB<?TEH2E&Z"$L'(X>(/^BMY2V"D3*CP8)CQ$I4$4U#41,<^BT)%"65 19 M4(9E8VL%J'"PI$R[M<(''I6J'"Z3#):4#5CM@N4RDPJV<88I:#I+@4;*T 20 MAU<CO!(1U!Y>)%G]Z,X8=M[`+.J^N3>*P!61JX\A`-$$`C^B/@_U1[Q(";(2 21 M/3>]^Z.=LJ6Y^'JS61*:O='KU^SF]OHOVK#+V^NO#(<HEN>IT<'O^[^^.SGX 22 M9<08BAX$54G[,%U]_!CNH;=X#['A-&7]-&5L?M(;HE0A&UQK>OC4=1I>."_H 23 M\X)K6X:TH!>LK-8&T^_/AT`A`X7Y^_?%^+X(0^!F@/;>6$YC&UZ30G=X^^%$ 24 MUL?,4(!RC#+</R<J6"\+2#"++(4=@0ST0HF3;JAST@]!^7%#=T(W-`7Q2N.` 25 M$"L(.'ND"E+3ZM60MO]O%1]VT5@KH))2J_$%\\?/5VH'&@/%$`2U3#K$'D<0 26 MPUL"H1(/P0C?7W081TQ)O:*BWA7.4XYESC$-/3G%M'L^PP_S^T2"G\GPTRDN 27 M%!*E=#(/9[$VSPKQGO9AMKV!I#=-T7R;]CQ_B7@*/J%$[2;=J[[;4`?/5VT< 28 MU.E;)>F-AE7..7E4Y\>%?EFE'V4C?ST%&#$;(GTAT#-XD`_5FW?T</+<K9<( 29 M`[V7\NCTL-]73P^_]TH&ALS^`\[?7&\LNYR[^\[DD]7<2""N5\(T'(GO.]7I 30 KX?BR\&ES5#,0CU?A>)9#['UX`WYXTS<[?9A_N\.4[/TT^AM%?*F0Z0\````` 2 M'XL("`-@;6$"`W-A9V)I,BYR97,`Q5?=3QLY$'_/7V%5]Y#@=9H=>S\"2B2J 3 M`D+BN%;TX:XG5,$1HD@IH)`*>__ZF_'WIJ'M/9T0&\]ZOG_C&>_5I_?GEXRQ 4 M<LXNSM^Q-]OG[7B]NGUS-+CR.S!G^/++ZF&U'8Z.!O3+YG/V?+.\7<'X8?$R 5 M?M[>;".[G+.X5F.GU/(N-X^W.ZJK.=NL'I9L,_O\N1CJPA3=J+A[2@SUG*WN 6 M%C=K=CP##5QW!1@HI.D22Q-8SF=*XRX';:`K:EQW7&K30:&T$LHHKK3LN`9\ 7 M`XV1G4Q*6HS^T]G5\+PXQA"__%U>SP3J.E@N'H8PXFC0+LL1[L$U^>+IR"5' 8 MZ%UBDLAD;00^ZYLE%`J1BYY`9I4T0E0#(Q',2F*JKF=3E`IL(DB@.IWIJGN& 9 M)1E6@8_BCS)!%4J%+$SG[.K#'Q=_Y6EH3>UB+L%4G8M,E)/6-)T,@N4$!<_> 10 M>3&2<,P3IR*#Q:G*L'$*OP/()\4&XF)W?M3!CV"Y3-56PMA7$\PFMII&Q3K5 11 M4BE3+6F)#F$A,2V%*1@1B4^E@K)\^!`&^2R[ES(@,HEJ3_403T0T5D%\)TRO 12 MH(0OH;Q^,@U"!SAYTFI2;6"N3*A('C0+Q^?2!ZA-!0Z)1'")1S/D7AW+U51I 13 MJ>*^3%XC%+I.6[B.GB5C/0*-J6@9HC5(UB!9HP!5LM98:S(5OTS2-1)53B0- 14 M;5A5I@G+-DKRS&X4BJC6>TX#^D#(*NN`%-(5DG0@QD+A)B*H*+^2AT+"F'#? 15 M(69W(6X+JL4*^XER2@)NM:EYA<\*DU>3/DP#^="*!I^-*,F)6DPI"=8MQ<T4 16 MXVTQT`9_:VXJ#]<4"7Q4`A]`B#7<J@>KWFI75CVI:;C5J&RX:`TSB/^UQV)J 17 MN5!86-\P[2CMW+*R%B`+=R6<3^4$G9FB4RVFO4'P8Z*;O'L(FUB7UXJ#RU>> 18 M64J:H7.([<7].61Z1S4`P@VDPR2,2_Q>$S;;?00Q9<E8<+;-&LYTS!;ZYNO3 19 M>D$!'`W>OF5/F\=_B&#WF\>O#*<=Z\V^P<F?Q[]_N#@Y'#"&W"=>NB2Z/PE' 20 MQ7OL7:P__HP;?]JDG6SJR:)L<:UH,R44WV$!4)YH9"`H2#=YYI*\;_16B4N; 21 M$W99RZ3[WD/R'F8?/Q;#E\*/\G4OA!=M.`U?[+="==A&<:[F@3!DH-PC#W?[ 22 M2"`B=@V\1G&LVWYT&!4ZA3-!=4*U-!]YK7!F^-AZ&GU11*V^,J)F'^=>?0%S 23 MP%$7,:?ND*%.Y/^.^V['"@@"`2VIW@G&5P&T^$4WD.?@@&T6=XM[O/;1/AON 24 MY1SUPST\M'X<2E!9*!J*?@34$.DE-C6*SY]+\!CO1B)<JU1^8NK*]2Q(V)0) 25 M&YK'"1JB?HK,+BZO`/,#9%Z'II!88Y7EV;TI3-/X#0/413C-AFLVZ^G^%6F> 26 M+JE^J.0CNJ*K6IM>\7!GI,MJ5#G8K83>6=X7>03RUY#\+N1T>_9>A)!%O"33 27 M'NP$G5T=_)V6O`_@0W8PSRY/\VY\>?H+Q]*C/=E["O];Z3X]K@V[G]G9JM.; 28 MY4R78">NT"W'^G6M[/)T>%^X[-BRT1!>+XO0Y&*4V=<5X-<5?9C1U]>W9\S8 29 -T6^#?P%.P^YPS@T````` 31 30 ` 32 31 end -
Tst/Short/sagbi2.stat
r3551885 r6f184e 1 1 >> tst_memory_0 :: 163 2403557:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:2836802 1 >> tst_memory_1 :: 163 2403557:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:22814723 1 >> tst_memory_2 :: 163 2403557:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:24289284 1 >> tst_timer_1 :: 163 2403557:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:351 1 >> tst_memory_0 :: 1634557955:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:285288 2 1 >> tst_memory_1 :: 1634557955:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:2281472 3 1 >> tst_memory_2 :: 1634557955:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:2428928 4 1 >> tst_timer_1 :: 1634557955:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:29 -
Tst/Short/sagbi2.tst
r3551885 r6f184e 2 2 tst_init(); 3 3 4 LIB "sagbi 2.lib";5 ring r= integer,(x,y,z),dp;4 LIB "sagbigrob.lib"; 5 ring r=ZZ,(x,y,z),dp; 6 6 ideal A=2x2+xz,2y2,3yz; 7 7 ideal I=4x2y2+2xy2z,6x2yz+3xyz2,4x4-4y4+4x3z+x2z2,27y3z3;
Note: See TracChangeset
for help on using the changeset viewer.