version 1.1, 1999/10/08 02:12:02 |
version 1.8, 2005/06/16 06:54:55 |
|
|
|
/* $OpenXM: OpenXM/src/kan96xx/Kan/gradedset.h,v 1.7 2005/06/09 04:09:22 takayama Exp $ */ |
/* gradedset.h */ |
/* gradedset.h */ |
#define max(a,b) (a>b?a:b) |
#define max(a,b) (a>b?a:b) |
|
|
Line 36 int countPairs(struct gradedPairs *grD); |
|
Line 37 int countPairs(struct gradedPairs *grD); |
|
int countGradedPolySet(struct gradedPolySet *grD); |
int countGradedPolySet(struct gradedPolySet *grD); |
struct gradedPolySet *gradedPolySetCopy(struct gradedPolySet *grG); |
struct gradedPolySet *gradedPolySetCopy(struct gradedPolySet *grG); |
int deletePairByCriterion2B(struct gradedPairs *grD,POLY gt,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 */ |
/* red.c */ |
struct spValue (*sp)(POLY f,POLY g); |
struct spValue (*sp)(POLY f,POLY g); |
|
struct spValue spZero(void); |
int (*isReducible)(POLY f,POLY g); |
int (*isReducible)(POLY f,POLY g); |
POLY (*reduction1)(POLY f,POLY g,int needSyz,POLY *cc,POLY *cg); |
POLY (*reduction1)(POLY f,POLY g,int needSyz,POLY *cc,POLY *cg); |
/* if needSyz, then result = *cc f + *cg g. */ |
/* if needSyz, then result = *cc f + *cg g. */ |
Line 69 POLY lcm_gen(POLY f,POLY g); |
|
Line 73 POLY lcm_gen(POLY f,POLY g); |
|
struct spValue sp_gen(POLY f,POLY g); |
struct spValue sp_gen(POLY f,POLY g); |
struct spValue sp_q(POLY f,POLY g); |
struct spValue sp_q(POLY f,POLY g); |
int grade_gen(POLY f); |
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 */ |
/* constructor */ |
POLY toSyzPoly(POLY cg,int grade,int index); |
POLY toSyzPoly(POLY cg,int grade,int index); |
struct coeff *toSyzCoeff(POLY f); |
struct coeff *toSyzCoeff(POLY f); |
Line 79 void initSyzRingp(void); |
|
Line 92 void initSyzRingp(void); |
|
struct gradedPolySet *(*groebner)(struct arrayOfPOLY *f, |
struct gradedPolySet *(*groebner)(struct arrayOfPOLY *f, |
int needBack, |
int needBack, |
int needSyz, struct pair **grP, |
int needSyz, struct pair **grP, |
int countDown,int forceReduction); |
int countDown,int forceReduction,int reduceOnly,int gbCheck); |
struct gradedPolySet *groebner_gen(struct arrayOfPOLY *f, |
struct gradedPolySet *groebner_gen(struct arrayOfPOLY *f, |
int needBack, |
int needBack, |
int needSyz, struct pair **grP, |
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, |
struct gradedPairs *updatePairs(struct gradedPairs *grD, POLY gt, |
int gtGrade, int t, |
int gtGrade, int t, |
struct gradedPolySet *grG); |
struct gradedPolySet *grG); |
/* add gt to grD. gt is indexed by (gtGrade,t) */ |
/* add gt to grD. gt is indexed by (gtGrade,t) */ |
|
void toReducedBasis(struct gradedPolySet *grP,int needBack, int needSyz); |
|
|
|
|
/* gbGM.c */ |
/* gbGM.c */ |
struct gradedPolySet *groebner_gm(struct arrayOfPOLY *f, |
struct gradedPolySet *groebner_gm(struct arrayOfPOLY *f, |
int needBack, |
int needBack, |
int needSyz, struct pair **grP, |
int needSyz, struct pair **grP, |
int countDown,int forceReduction); |
int countDown,int forceReduction,int reduceOnly,int gbCheck); |
|
|
/* syz0 */ |
/* syz0 */ |
void simplifyBT(int grd,int index, struct gradedPolySet *grG); |
void simplifyBT(int grd,int index, struct gradedPolySet *grG); |