Changeset c661e3 in git
- Timestamp:
- Oct 11, 2010, 4:43:19 PM (14 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- d5abcfb5a8d5981beafb238eb7ab2390e274e781
- Parents:
- ebd7d86c7d81364a678cca227095db453f88aed6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/sagbi.lib
rebd7d8 rc661e3 17 17 computations. 18 18 19 Guide: new implementations of sagbi, sagbiPart, sagbiReduce, sagbiSPoly 20 as well as algebraicDependence by Jan Hackfeld do not support computations 21 over a quotient ring yet. On the contrary, sagbiReduction and sagbiNF do 22 work over any ring. 23 19 24 PROCEDURES: 20 25 sagbiSPoly(A [,r,m]); computes SAGBI S-polynomials of A … … 55 60 example sagbiPart; 56 61 example algebraicDependence; 62 } 63 64 static proc assumeQring() 65 { 66 if (ideal(basering) != 0) 67 { 68 ERROR("This function has not yet been implemented over qrings."); 69 } 57 70 } 58 71 … … 482 495 EXAMPLE: example sagbiSPoly; shows an example" 483 496 { 497 assumeQring(); 484 498 int returnRing; 485 499 int method=0; … … 568 582 569 583 proc sagbiReduce(idealORpoly, ideal algebra, list #) 570 "USAGE: 571 RETURN: 584 "USAGE: sagbiReduce(I, A[, tr, mt]); I, A ideals, tr, mt optional integers 585 RETURN: ideal of remainders of I after SAGBI reduction by A 572 586 ASSUME: basering is not a qring 573 587 PURPOSE: … … 583 597 EXAMPLE: example sagbiReduce; shows an example" 584 598 { 599 assumeQring(); 585 600 int tailreduction=0; //Default 586 601 int method=0; //Default … … 677 692 EXAMPLE: example sagbi; shows an example" 678 693 { 694 assumeQring(); 679 695 int tailreduction=0; //default value 680 696 int method=0; //default value … … 741 757 EXAMPLE: example sagbiPart; shows an example" 742 758 { 759 assumeQring(); 743 760 int tailreduction=0; //default value 744 761 int method=0; //default value … … 807 824 EXAMPLE: example algebraicDependence; shows an example" 808 825 { 826 assumeQring(); 809 827 def br=basering; 810 828 int i; … … 1082 1100 "USAGE: sagbiNF(id,dom,k[,n]); id either poly or ideal,dom ideal, k and n positive intergers. 1083 1101 RETURN: same as type of id; ideal or polynomial. 1084 ASSUME: basering is not a qring1085 1102 PURPOSE: 1086 1103 @format … … 1092 1109 n may take the values (0 or default),1 or 2. 1093 1110 @end format 1111 NOTE: sagbiNF works over both rings and quotient rings 1094 1112 EXAMPLE: example sagbiNF; show example " 1095 1113 { 1096 return(sagbiReduce(id,dom,k)); 1114 ideal rs; 1115 if (ideal(basering) == 0) 1116 { 1117 rs = sagbiReduce(id,dom,k) ; 1118 } 1119 else 1120 { 1121 rs = sagbiReduction(id,dom,k) ; 1122 } 1123 return(rs); 1097 1124 } 1098 1125 example 1099 1126 {"EXAMPLE:"; echo = 2; 1100 1127 ring r=0,(x,y),dp; 1128 poly p=x4+x2y+y; 1129 ideal dom =x2,x2y+y,x3y2; 1130 sagbiNF(p,dom,1); 1101 1131 ideal I= x2-xy; 1102 qring Q=std(I); 1103 ideal dom =x2,x2y+y,x3y2; 1104 poly p=x4+x2y+y; 1105 sagbiNF(p,dom,0); 1132 qring Q=std(I); // we go to the quotient ring 1133 poly p=imap(r,p); 1134 NF(p,std(0)); // the representative of p has changed 1135 ideal dom = imap(r,dom); 1136 print(matrix(NF(dom,std(0)))); // dom has changed as well 1137 sagbiNF(p,dom,0); // no tail reduction 1106 1138 sagbiNF(p,dom,1);// tail subalgebra reduction is performed 1107 1139 }
Note: See TracChangeset
for help on using the changeset viewer.