Changeset 69bc59 in git
- Timestamp:
- Jun 8, 2006, 11:56:54 PM (17 years ago)
- Branches:
- (u'spielwiese', '91fdef05f09f54b8d58d92a472e9c4a43aa4656f')
- Children:
- 8e4858985c8a175c0ae6f5422cd1c577e587236d
- Parents:
- 728a2c96465e8ac52df53f624fc9319cc328b4e0
- Location:
- kernel
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/ringgb.cc
r728a2c r69bc59 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: ringgb.cc,v 1. 7 2006-06-08 18:00:35wienand Exp $ */4 /* $Id: ringgb.cc,v 1.8 2006-06-08 21:56:54 wienand Exp $ */ 5 5 /* 6 6 * ABSTRACT: ringgb interface … … 120 120 } 121 121 122 poly plain_spoly(poly f, poly g) { 123 number cf = pGetCoeff(f), cg = pGetCoeff(g); 124 int ct = ksCheckCoeff(&cf, &cg); // gcd and zero divisors 125 poly fm, gm; 126 k_GetLeadTerms(f, g, currRing, fm, gm, currRing); 127 pSetCoeff0(fm, cg); 128 pSetCoeff0(gm, cf); // and now, m1 * LT(p1) == m2 * LT(p2) 129 return(pSub(pMult_mm(f, fm), pMult_mm(g, gm))); 130 } 131 132 122 133 poly spolyRing2toM(poly f, poly g, ring r) { 123 134 poly m1 = NULL; … … 127 138 // printPolyMsg("m2=", m2, ""); 128 139 // PrintLn(); 129 return pSub(p p_Mult_mm(f, m1, r), pp_Mult_mm(g, m2, r));140 return pSub(p_Mult_mm(f, m1, r), p_Mult_mm(g, m2, r)); 130 141 } 131 142 … … 143 154 // wrp(G->m[i]); 144 155 // PrintLn(); 145 h = spolyRing2toM(h, G->m[i], r);156 h = spolyRing2toM(h, pCopy(G->m[i]), r); 146 157 // PrintS("=> h="); 147 158 // wrp(h); … … 174 185 return h; 175 186 } 187 188 int testGB(ideal GI) { 189 poly f, g, h; 190 int i = 0; 191 int j = 0; 192 for (i = 0; i < IDELEMS(GI) - 1; i++) { 193 for (j = i + 1; j < IDELEMS(GI); j++) { 194 f = pCopy(GI->m[i]); 195 g = pCopy(GI->m[j]); 196 h = plain_spoly(f, g); 197 if (ringNF(h, GI, currRing) != NULL) { 198 wrp(GI->m[i]); 199 PrintLn(); 200 wrp(GI->m[j]); 201 PrintLn(); 202 wrp(h); 203 PrintLn(); 204 wrp(ringNF(h, GI, currRing)); 205 PrintLn(); 206 return(0); 207 } 208 pDelete(&h); 209 } 210 } 211 return(1); 212 } 213 176 214 #endif -
kernel/ringgb.h
r728a2c r69bc59 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: ringgb.h,v 1. 2 2005-11-27 15:28:46wienand Exp $ */4 /* $Id: ringgb.h,v 1.3 2006-06-08 21:56:54 wienand Exp $ */ 5 5 /* 6 6 * ABSTRACT: ringgb interface … … 14 14 poly ringRedNF(poly f, ideal G, ring r); 15 15 poly ringNF(poly f, ideal G, ring r); 16 poly plain_spoly(poly f, poly g); 17 int testGB(ideal GI); 16 18 17 19 #endif
Note: See TracChangeset
for help on using the changeset viewer.