=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/gradedset.h,v retrieving revision 1.4 retrieving revision 1.9 diff -u -p -r1.4 -r1.9 --- OpenXM/src/kan96xx/Kan/gradedset.h 2003/07/17 09:10:54 1.4 +++ OpenXM/src/kan96xx/Kan/gradedset.h 2020/10/06 11:33:46 1.9 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/gradedset.h,v 1.3 2000/02/24 00:27:12 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/gradedset.h,v 1.8 2005/06/16 06:54:55 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. */ @@ -89,11 +92,11 @@ 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); @@ -105,7 +108,7 @@ void toReducedBasis(struct gradedPolySet *grP,int need 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); @@ -148,6 +151,17 @@ void errorSyz0(char *s); struct arrayOfPOLY *syzPolyToArrayOfPOLY(int size,POLY f, struct gradedPolySet *grG); /* f is in SyzRingp. */ + +int criterion1(POLY f,POLY g,POLY lc); +struct gradedPolySet *groebner_gen( + struct arrayOfPOLY *f, + int needBack, + int needSyz, + struct pair **grP, /* if (needSyz), it is set. */ + int countDown, + int forceReduction, + int reduceOnly, + int gbCheck); #define checkRingSp(f,g,r) {\