Changeset 6f184e in git


Ignore:
Timestamp:
Oct 18, 2021, 1:54:25 PM (3 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
e2c597cebf3e1f2e5391b7e5756aa240b3fb0ab8
Parents:
3551885a5d35f5d806aa9a27ec225b51933cd05c
Message:
rename sagbi2 -> sagbigrob.lib, clean redefines
Files:
5 edited
1 moved

Legend:

Unmodified
Added
Removed
  • Singular/LIB/sagbigrob.lib

    r3551885 r6f184e  
    33category="Commutative Algebra";
    44info="
    5 LIBRARY: sagbi2.lib  Compute Sagbi-Groebner basis of an ideal of a subalgebra
     5LIBRARY: sagbigrob.lib  Compute Sagbi-Groebner basis of an ideal of a subalgebra
    66AUTHORS:
    77 Nazish Kanwal, Lecturer of Mathematics, School of Mathematics and
     
    1414
    1515PROCUDURES:
     16 LTGS(I,A);          leading terms for syzygies of I over subalgebra A
    1617 SGNF(f,I,A);        normalform of f wrt. I in subalgebra A.
    1718 SPOLY(I,A);         S-polynomials of ideal I over subalgebra A.
     
    2930////////// Procedure to compute normal form ////////
    3031
    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 ,
    3233// the following procedure compute a normal form of f with respect to I over subalgebra A.
    3334
    3435proc SGNF(poly f,ideal I, ideal A)
    3536
    36 "USAGE: SGNF(f,I,A); f polynomial, I ideal of subalgebra 
     37"USAGE: SGNF(f,I,A); f polynomial, I ideal of subalgebra
    3738                   A, A ideal (which is a finite Sagbi bases).
    3839RETURN: a polynomial h: the normalform of f wrt. I in A
     
    4849
    4950   while(h!=0 && h1!=h)
    50    { 
     51   {
    5152     for(i=1;i<=size(G);i++)
    5253     {
    5354       m=lead(h)/lead(G[i]);
    5455       if(m!=0)
    55        {     
    56          L= algebra_containment(m,lead(A),1); 
     56       {
     57         L= algebra_containment(m,lead(A),1);
    5758         if (L[1]==1)
    5859         { k=1;
     
    6263           c=leadcoef(h)/(leadcoef(j)*leadcoef(G[i]));
    6364           h1=h;
    64            h=h-(c*j*G[i]); 
    65            kill s;     
     65           h=h-(c*j*G[i]);
     66           kill s;
    6667         }
    6768       }
     
    7475   }
    7576   return(h);
    76 } 
     77}
    7778example
    7879{
     
    109110  int m=size(I) ;
    110111  ideal Q;
    111   list M;
     112  list M,Li;
     113  poly ji;
    112114  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);
    116117     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;
    122124     }
    123      setring bsr;
    124      poly ji=imap(Si,ji);
     125     ji=imap(Si,ji);
    125126     M[i]=ji;
    126127  }
     
    138139RETURN: a list T."
    139140{
    140   int i,j,l;
     141  int i,j;
    141142  int l=size(G);
    142   list T;
     143  list T,S;
     144  poly gij;
     145  vector vij;
    143146  for(i=1;i<=l-1;i++)
    144147  {
    145     list S;
     148    S=list();
    146149    for(j=i+1;j<=l;j++)
    147150    {
    148         poly gij=lcm(G[i],G[j]);
    149         vector 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);
    150153        S[j]=vij;
    151154    }
     
    163166RETURN: a module M."
    164167{
     168  def r=basering;
    165169  A=sagbi(A);
    166170  ideal F=lead(I);
     
    205209      int d,e;
    206210      list D;
     211      vector qd,pde;
     212      poly gd;
     213      list td;
    207214      for(d=1;d<=b;d++)
    208215      {
    209         vector qd;
    210         poly gd=J[d];
    211         def td=pdivi(gd,H);
     216        qd=0;
     217        gd=J[d];
     218        td=pdivi(gd,H);
    212219        for(e=1;e<=c;e++)
    213220        {
    214           vector pde=td[2][e]*gen(e);
     221          pde=td[2][e]*gen(e);
    215222          qd=qd+pde;
    216223        }
     
    222229    {
    223230      Q=N,0;
    224         }
     231    }
    225232    setring r;
    226233    map psi=R1,A,maxideal(1);
    227234    list W=psi(Q);
    228     int n=size(I);
     235    int nn=size(I);
    229236    int i,j,l,t;
    230     module M;
     237    module M,Z;
     238    vector vij;
    231239    t=1;
    232     for(i=1;i<=n-1;i++)
    233     {
    234       module Z;
    235       for(j=i+1;j<=n;j++)
    236       {
    237         vector 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];
    238246        Z[j-i]=vij;
    239247      }
    240248      if(M!=0)
    241         {
    242           M=M,Z;
    243         }
     249      {
     250        M=M,Z;
     251      }
    244252      else
    245253      {
     
    248256    }
    249257    t=t+1;
     258    vector vt;
    250259    for(l=1;l<=size(W[2]);l++)
    251260    {
    252       vector vt=W[t][l];
     261      vt=W[t][l];
    253262      if(vt!=0)
    254263      {
     
    269278
    270279// Example 2:
    271 
    272    ring r=QQ,(x,y),Dp;
     280   ring r2=QQ,(x,y),Dp;
    273281   ideal A=x2,xy;
    274282   ideal I=x3y+x2,x4+x2y2,-x3y3-x2y2;
     
    290298  module P=LTGS(I,A);
    291299  ideal S;
     300  poly pij,hj;
     301  vector Vj;
    292302  for(j=1;j<=size(P);j++)
    293303  {
    294     vector Vj=P[j];
    295     poly hj;
     304    Vj=P[j];
     305    hj=0;
    296306    for(i=1;i<=size(I);i++)
    297307    {
    298       poly pij = Vj[i]*I[i];
     308      pij = Vj[i]*I[i];
    299309      hj=hj+pij;
    300310    }
     
    318328}
    319329
    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
    323333// ideal I over subalgebra A.
    324334
     
    367377
    368378  // 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;
    372382  SGB(I,A);
    373383}
     
    401411_[4]=27y3z3
    402412_[5]=8y6
    403 _[6]=12y5z 
     413_[6]=12y5z
    404414
    405415// SINGULAR EXAMPLE #02 for all Procedures:
  • Singular/singular-libs

    r3551885 r6f184e  
    6868SLIB2 = KVequiv.lib deflation.lib invar.lib lejeune.lib ncHilb.lib ncrat.lib \
    6969        mathml.lib maxlike.lib recover.lib autgradalg.lib dummy.lib \
    70         interval.lib lrcalc.lib nchilbert.lib sagbi2.lib systhreads.lib VecField.lib
     70        interval.lib lrcalc.lib nchilbert.lib sagbigrob.lib systhreads.lib VecField.lib
  • Tst/Short/ok_s.lst

    r3551885 r6f184e  
    164164combinat
    165165methods
     166sagbi2
    166167sets
    167168ssi_Z
    168169ssi_ringref
    169170pfd
    170 
    171 
  • Tst/Short/sagbi2.res.gz.uu

    r3551885 r6f184e  
    11begin 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(&#57E8VL%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\`````
     2M'XL("`-@;6$"`W-A9V)I,BYR97,`Q5?=3QLY$'_/7V%5]Y#@=9H=>S\"2B2J
     3M`D+BN%;TX:XG5,$1HD@IH)`*>__ZF_'WIJ'M/9T0&\]ZOG_C&>_5I_?GEXRQ
     4M<LXNSM^Q-]OG[7B]NGUS-+CR.S!G^/++ZF&U'8Z.!O3+YG/V?+.\7<'X8?$R
     5M?M[>;".[G+.X5F.GU/(N-X^W.ZJK.=NL'I9L,_O\N1CJPA3=J+A[2@SUG*WN
     6M%C=K=CP##5QW!1@HI.D22Q-8SF=*XRX';:`K:EQW7&K30:&T$LHHKK3LN`9\
     7M`XV1G4Q*6HS^T]G5\+PXQA"__%U>SP3J.E@N'H8PXFC0+LL1[L$U^>+IR"5'
     8MZ%UBDLAD;00^ZYLE%`J1BYY`9I4T0E0#(Q',2F*JKF=3E`IL(DB@.IWIJGN&
     9M)1E6@8_BCS)!%4J%+$SG[.K#'Q=_Y6EH3>UB+L%4G8M,E)/6-)T,@N4$!<_>
     10M>3&2<,P3IR*#Q:G*L'$*OP/()\4&XF)W?M3!CV"Y3-56PMA7$\PFMII&Q3K5
     11M4BE3+6F)#F$A,2V%*1@1B4^E@K)\^!`&^2R[ES(@,HEJ3_403T0T5D%\)TRO
     12MH(0OH;Q^,@U"!SAYTFI2;6"N3*A('C0+Q^?2!ZA-!0Z)1'")1S/D7AW+U51I
     13MJ>*^3%XC%+I.6[B.GB5C/0*-J6@9HC5(UB!9HP!5LM98:S(5OTS2-1)53B0-
     14M;5A5I@G+-DKRS&X4BJC6>TX#^D#(*NN`%-(5DG0@QD+A)B*H*+^2AT+"F'#?
     15M(69W(6X+JL4*^XER2@)NM:EYA<\*DU>3/DP#^="*!I^-*,F)6DPI"=8MQ<T4
     16MXVTQT`9_:VXJ#]<4"7Q4`A]`B#7<J@>KWFI75CVI:;C5J&RX:`TSB/^UQV)J
     17MN5!86-\P[2CMW+*R%B`+=R6<3^4$G9FB4RVFO4'P8Z*;O'L(FUB7UXJ#RU>>
     18M64J:H7.([<7].61Z1S4`P@VDPR2,2_Q>$S;;?00Q9<E8<+;-&LYTS!;ZYNO3
     19M>D$!'`W>OF5/F\=_B&#WF\>O#*<=Z\V^P<F?Q[]_N#@Y'#"&W"=>NB2Z/PE'
     20MQ7OL7:P__HP;?]JDG6SJR:)L<:UH,R44WV$!4)YH9"`H2#=YYI*\;_16B4N;
     21M$W99RZ3[WD/R'F8?/Q;#E\*/\G4OA!=M.`U?[+="==A&<:[F@3!DH-PC#W?[
     22M2"`B=@V\1G&LVWYT&!4ZA3-!=4*U-!]YK7!F^-AZ&GU11*V^,J)F'^=>?0%S
     23MP%$7,:?ND*%.Y/^.^V['"@@"`2VIW@G&5P&T^$4WD.?@@&T6=XM[O/;1/AON
     24MY1SUPST\M'X<2E!9*!J*?@34$.DE-C6*SY]+\!CO1B)<JU1^8NK*]2Q(V)0)
     25M&YK'"1JB?HK,+BZO`/,#9%Z'II!88Y7EV;TI3-/X#0/413C-AFLVZ^G^%6F>
     26M+JE^J.0CNJ*K6IM>\7!GI,MJ5#G8K83>6=X7>03RUY#\+N1T>_9>A)!%O"33
     27M'NP$G5T=_)V6O`_@0W8PSRY/\VY\>?H+Q]*C/=E["O];Z3X]K@V[G]G9JM.;
     28MY4R78">NT"W'^G6M[/)T>%^X[-BRT1!>+XO0Y&*4V=<5X-<5?9C1U]>W9\S8
     29-T6^#?P%.P^YPS@T`````
    3130`
    3231end
  • Tst/Short/sagbi2.stat

    r3551885 r6f184e  
    1 1 >> tst_memory_0 :: 1632403557:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:283680
    2 1 >> tst_memory_1 :: 1632403557:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:2281472
    3 1 >> tst_memory_2 :: 1632403557:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:2428928
    4 1 >> tst_timer_1 :: 1632403557:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:35
     11 >> tst_memory_0 :: 1634557955:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:285288
     21 >> tst_memory_1 :: 1634557955:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:2281472
     31 >> tst_memory_2 :: 1634557955:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:2428928
     41 >> tst_timer_1 :: 1634557955:4210, 64 bit:4.2.1:x86_64-Linux:nepomuck:29
  • Tst/Short/sagbi2.tst

    r3551885 r6f184e  
    22tst_init();
    33
    4 LIB "sagbi2.lib";
    5 ring r=integer,(x,y,z),dp;
     4LIB "sagbigrob.lib";
     5ring r=ZZ,(x,y,z),dp;
    66ideal A=2x2+xz,2y2,3yz;
    77ideal I=4x2y2+2xy2z,6x2yz+3xyz2,4x4-4y4+4x3z+x2z2,27y3z3;
Note: See TracChangeset for help on using the changeset viewer.