version 1.6, 2003/08/19 08:02:09 |
version 1.9, 2020/10/06 11:33:46 |
|
|
/* $OpenXM: OpenXM/src/kan96xx/Kan/gradedset.h,v 1.5 2003/07/30 09:00:52 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/kan96xx/Kan/gradedset.h,v 1.8 2005/06/16 06:54:55 takayama Exp $ */ |
/* gradedset.h */ |
/* gradedset.h */ |
#define max(a,b) (a>b?a:b) |
#define max(a,b) (a>b?a:b) |
|
|
Line 42 int clearGmod(struct gradedPolySet *g); |
|
Line 42 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 91 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); |
Line 107 void toReducedBasis(struct gradedPolySet *grP,int need |
|
Line 108 void toReducedBasis(struct gradedPolySet *grP,int need |
|
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); |
Line 150 void errorSyz0(char *s); |
|
Line 151 void errorSyz0(char *s); |
|
struct arrayOfPOLY *syzPolyToArrayOfPOLY(int size,POLY f, |
struct arrayOfPOLY *syzPolyToArrayOfPOLY(int size,POLY f, |
struct gradedPolySet *grG); |
struct gradedPolySet *grG); |
/* f is in SyzRingp. */ |
/* 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) {\ |
#define checkRingSp(f,g,r) {\ |