=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/gradedset.h,v retrieving revision 1.2 retrieving revision 1.8 diff -u -p -r1.2 -r1.8 --- OpenXM/src/kan96xx/Kan/gradedset.h 2000/01/16 07:55:39 1.2 +++ OpenXM/src/kan96xx/Kan/gradedset.h 2005/06/16 06:54:55 1.8 @@ -1,4 +1,4 @@ -/* $OpenXM$ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/gradedset.h,v 1.7 2005/06/09 04:09:22 takayama Exp $ */ /* gradedset.h */ #define max(a,b) (a>b?a:b) @@ -37,9 +37,12 @@ int countPairs(struct gradedPairs *grD); int countGradedPolySet(struct gradedPolySet *grD); struct gradedPolySet *gradedPolySetCopy(struct gradedPolySet *grG); int deletePairByCriterion2B(struct gradedPairs *grD,POLY gt,struct gradedPolySet *grG); +int markGeneratorInG(struct gradedPolySet *g,int grade,int index); +int clearGmod(struct gradedPolySet *g); /* red.c */ struct spValue (*sp)(POLY f,POLY g); +struct spValue spZero(void); int (*isReducible)(POLY f,POLY g); POLY (*reduction1)(POLY f,POLY g,int needSyz,POLY *cc,POLY *cg); /* if needSyz, then result = *cc f + *cg g. */ @@ -70,7 +73,16 @@ POLY lcm_gen(POLY f,POLY g); struct spValue sp_gen(POLY f,POLY g); struct spValue sp_q(POLY f,POLY g); int grade_gen(POLY f); +POLY reductionCdr_except_grd_i(POLY f,struct gradedPolySet *gset, + int needSyz,struct syz0 *syzp, + int grd,int i, int *reduced); + /* Polynomial at (grd,i) is not used for reduction. + if del[j] == 1, then the attached polynomial is not used for reduction.*/ +/* ecart.c */ +POLY reduction_ecart(POLY f,struct gradedPolySet *gset, + int needSyz,struct syz0 *syzp); + /* constructor */ POLY toSyzPoly(POLY cg,int grade,int index); struct coeff *toSyzCoeff(POLY f); @@ -80,21 +92,23 @@ void initSyzRingp(void); struct gradedPolySet *(*groebner)(struct arrayOfPOLY *f, int needBack, int needSyz, struct pair **grP, - int countDown,int forceReduction); + int countDown,int forceReduction,int reduceOnly,int gbCheck); struct gradedPolySet *groebner_gen(struct arrayOfPOLY *f, int needBack, int needSyz, struct pair **grP, - int countDown,int forceReduction); + int countDown,int forceReduction,int reduceOnly,int gbCheck); struct gradedPairs *updatePairs(struct gradedPairs *grD, POLY gt, int gtGrade, int t, struct gradedPolySet *grG); /* add gt to grD. gt is indexed by (gtGrade,t) */ +void toReducedBasis(struct gradedPolySet *grP,int needBack, int needSyz); + /* gbGM.c */ struct gradedPolySet *groebner_gm(struct arrayOfPOLY *f, int needBack, int needSyz, struct pair **grP, - int countDown,int forceReduction); + int countDown,int forceReduction,int reduceOnly,int gbCheck); /* syz0 */ void simplifyBT(int grd,int index, struct gradedPolySet *grG);