Changeset a073dd in git
 Timestamp:
 Jun 7, 2005, 12:05:19 PM (18 years ago)
 Branches:
 (u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
 Children:
 1992ae09fe5b6131c31c54b22c57a436c72fe412
 Parents:
 0a5ca730b1b89c3ce6ac8f1f6af48f1029041ad0
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

Singular/LIB/sagbi.lib
r0a5ca7 ra073dd 1 1 ////////////////////////////////////////////////////////////////////////////// 2 version="$Id: sagbi.lib,v 1.4 20050607 10:05:19 Singular Exp $"; 2 3 category="Commutative Algebra"; 3 4 info=" … … 5 6 AUTHORS: Gerhard Pfister, pfister@mathematik.unikl.de, 6 7 @* Anen Lakhal, alakhal@mathematik.unikl.de 8 7 9 PROCEDURES: 8 proc reduction(p,I); Perform one step subalgebra reducton (for short Sreduction) of p w.r.t I9 proc S_poly(I);Compute the Spolynomilas of the Subalgebra defined by the genartors of I10 proc S_nf(id,I);Perform iterated Sreductions in order to compute Subalgebras normal forms11 proc sagbi(I); Construct SAGBI basis for the Subalgebra defined by I12 proc sagbi 1(I);Construct partial SAGBI basis for the Subalgebra defined by I10 proc reduction(p,I); Perform one step subalgebra reducton (for short Sreduction) of p w.r.t I 11 proc sagbiSPoly(I); Compute the Spolynomilas of the Subalgebra defined by the genartors of I 12 proc sagbiNF(id,I); Perform iterated Sreductions in order to compute Subalgebras normal forms 13 proc sagbi(I); Construct SAGBI basis for the Subalgebra defined by I 14 proc sagbiPart(I); Construct partial SAGBI basis for the Subalgebra defined by I 13 15 "; 14 16 … … 17 19 18 20 /////////////////////////////////////////////////////////////////////////////// 19 proc S_poly(id ,list #)20 "USAGE: S_poly(id [,n]); id ideal, n positive integer.21 proc sagbiSPoly(id ,list #) 22 "USAGE: sagbiSPoly(id [,n]); id ideal, n positive integer. 21 23 RETURN: an ideal 22 24 @format … … 27 29 the ideal of algebraic relations. 28 30 @end format 29 EXAMPLE: example S_poly; show an example "31 EXAMPLE: example sagbiSPoly; show an example " 30 32 { 31 33 if(size(#)==0) … … 97 99 map phi=R1,vars,id; 98 100 99 // the S_polynomials are the image by phi of the generators of kern101 // the sagbiSPolynomials are the image by phi of the generators of kern 100 102 101 103 P=simplify(phi(kern),1); … … 110 112 111 113 dbprint(printlevelvoice+3," 112 // ' S_poly' created a ring as 2nd element of the list.114 // 'sagbiSPoly' created a ring as 2nd element of the list. 113 115 // The ring contains the ideal 'kern' of algebraic relations between the 114 116 //leading terms of the generators of I. … … 127 129 poly f1,f2,f3,f4=x2,y2,xy+y,2xy2; 128 130 ideal I=f1,f2,f3,f4; 129 S_poly(I);130 list L= S_poly(I,1);131 sagbiSPoly(I); 132 list L=sagbiSPoly(I,1); 131 133 L[1]; 132 134 def S= L[2]; setring S; kern; … … 198 200 if(size(J)==0) 199 201 { 200 @L = S_poly(I,1);202 @L =sagbiSPoly(I,1); 201 203 } 202 204 else … … 438 440 /////////////////////////////////////////////////////////////////////////////// 439 441 440 proc S_nf(id,ideal dom,int k,list#)441 "USAGE: S_nf(id,dom,k[,n]); id either poly or ideal,dom ideal, k and n positive intergers.442 proc sagbiNF(id,ideal dom,int k,list#) 443 "USAGE: sagbiNF(id,dom,k[,n]); id either poly or ideal,dom ideal, k and n positive intergers. 442 444 RETURN: depends On the type of id; ideal or polynomial. 443 445 @format … … 451 453 NOTE: computation of Subalgebras normal forms may be performed either 452 454 in polynomial rings or quotient polynomial rings 453 EXAMPLE: example S_nf; show example "455 EXAMPLE: example sagbiNF; show example " 454 456 { 455 457 int z; … … 490 492 {"EXAMPLE:"; echo = 2; 491 493 ring r=0,(x,y),dp; 492 ideal I x2xy;494 ideal I= x2xy; 493 495 qring Q=std(I); 494 496 ideal dom =x2,x2y+y,x3y2; 495 497 poly p=x4+x2y+y; 496 S_nf(p,dom,0);497 S_nf(p,dom,1);// tail subalgebra reduction is perofrmed498 sagbiNF(p,dom,0); 499 sagbiNF(p,dom,1);// tail subalgebra reduction is perofrmed 498 500 } 499 501 … … 550 552 L=Spoly1(L,S,Red,2); 551 553 Red=L[1]; 552 Red= S_nf(Red,S,k,#);554 Red=sagbiNF(Red,S,k,#); 553 555 oldS=S; 554 556 S=S+Red; … … 563 565 } 564 566 /////////////////////////////////////////////////////////////////////////////// 565 proc sagbi 1(id,int k,int c,list #)567 proc sagbiPart(id,int k,int c,list #) 566 568 "USAGE: sagbi(id,k,c[,n]); id ideal, k, c and n positive integer. 567 569 RETURN: A partial SAGBI basis for the subalgebra defined by the genrators of id. … … 581 583 with infinte SAGBI basis. In this case, by means of this procedure, 582 584 we may check for example, if the elements of this basis have a particular form. 583 EXAMPLE: example sagbi 1; show example "585 EXAMPLE: example sagbiPart; show example " 584 586 { 585 587 degBound=0; … … 592 594 L=Spoly1(L,S,Red,2); 593 595 Red=L[1]; 594 Red= S_nf(Red,S,k,#);596 Red=sagbiNF(Red,S,k,#); 595 597 oldS=S; 596 598 S=S+Red; … … 603 605 ring r= 0,(x,y),dp; 604 606 ideal I=x,xyy2,xy2;//the corresponding Subalgebra has an infinte SAGBI basis 605 sagbi 1(I,1,3)// computations should stop after 3 turns.607 sagbiPart(I,1,3);// computations should stop after 3 turns. 606 608 } 607 609 ////////////////////////////////////////////////////////////////////////////// 608
Note: See TracChangeset
for help on using the changeset viewer.