version 1.1, 1999/10/08 02:12:01 |
version 1.11, 2006/12/21 05:29:49 |
|
|
|
/* $OpenXM: OpenXM/src/kan96xx/Kan/extern2.h,v 1.10 2003/08/26 12:46:05 takayama Exp $ */ |
/* poly.c */ |
/* poly.c */ |
void KinitKan(void); |
void KinitKan(void); |
MONOMIAL newMonomial(struct ring *ringp); |
MONOMIAL newMonomial(struct ring *ringp); |
Line 43 POLY modulo0(POLY f,struct ring *ringp); |
|
Line 44 POLY modulo0(POLY f,struct ring *ringp); |
|
POLY modulopZ(POLY f,struct coeff *pcoeff); |
POLY modulopZ(POLY f,struct coeff *pcoeff); |
struct pairOfPOLY quotientByNumber(POLY f,struct coeff *pcoeff); |
struct pairOfPOLY quotientByNumber(POLY f,struct coeff *pcoeff); |
int pLength(POLY f); |
int pLength(POLY f); |
|
struct coeff *gcdOfCoeff(POLY f); |
|
int coeffSizeMin(POLY f); |
|
POLY reduceContentOfPoly(POLY f,struct coeff **contp); |
|
int shouldReduceContent(POLY f,int ss); |
|
|
|
|
/* poly3.c */ |
/* poly3.c */ |
void initT(void); |
void initT(void); |
void makeTable(struct coeff *c,struct exps e[],struct ring *ringp); |
void makeTable(struct coeff *c,struct exps e[],struct ring *ringp); |
Line 66 int isHomogenized_vec(POLY f); |
|
Line 72 int isHomogenized_vec(POLY f); |
|
int containVectorVariable(POLY f); |
int containVectorVariable(POLY f); |
POLY POLYToPrincipalPart(POLY f); |
POLY POLYToPrincipalPart(POLY f); |
POLY POLYToInitW(POLY f,int w[]); |
POLY POLYToInitW(POLY f,int w[]); |
|
POLY POLYToInitWS(POLY f,int w[],int s[]); |
|
int ordWsAll(POLY f,int w[],int s[]); |
|
|
POLY polyGCD(POLY f,POLY g); |
POLY polyGCD(POLY f,POLY g); |
int isTheSameRing(struct ring *rstack[], int rp, struct ring *newRingp); |
int isTheSameRing(struct ring *rstack[], int rp, struct ring *newRingp); |
|
POLY goDeHomogenizeS(POLY f); |
|
POLY goHomogenize(POLY f,int u[],int v[],int ds[],int dssize,int ei,int onlyS); |
|
POLY goHomogenize11(POLY f,int ds[],int dssize,int ei,int onlyS); |
|
POLY goHomogenize_dsIdx(POLY f,int u[],int v[],int dsIdx,int ei,int onlyS); |
|
POLY goHomogenize11_dsIdx(POLY f,int ds[],int dsIdx,int ei,int onlyS); |
|
struct ring *newRingOverFp(struct ring *rp, int p); |
|
int getPrime(int p); |
|
|
/* coeff.c */ |
/* coeff.c */ |
char *intToString(int i); |
char *intToString(int i); |
Line 114 int isMinusOne(struct coeff *cp); |
|
Line 129 int isMinusOne(struct coeff *cp); |
|
int isMinusOne(struct coeff *cp); |
int isMinusOne(struct coeff *cp); |
int isNegative(struct coeff *cp); |
int isNegative(struct coeff *cp); |
int isConstant(POLY f); |
int isConstant(POLY f); |
|
int isConstantAll(POLY f); |
void errorOutput(char *s); |
void errorOutput(char *s); |
int validOutputOrder(int w[],int n); |
int validOutputOrder(int w[],int n); |
|
char **makeDsmall(char **dvars,int n); |
|
|
|
|
/* order.c */ |
/* order.c */ |
void setOrderByMatrix(int order[],int n,int c, int l,int omsize); |
void setOrderByMatrix(int order[],int n,int c, int l,int omsize); |
void printOrder(struct ring *ringp); |
void printOrder(struct ring *ringp); |
Line 165 int grade_firstvec(POLY f); |
|
Line 183 int grade_firstvec(POLY f); |
|
int grade_sugar(POLY f); |
int grade_sugar(POLY f); |
int eliminated(POLY f); |
int eliminated(POLY f); |
int isOrdered(POLY f); |
int isOrdered(POLY f); |
|
int dGrade(POLY f); |
|
int dGrade1(POLY f); |
|
int uvGrade(POLY f, int u[],int v[],int ds[],int dssize,int ei); |
|
int uvGrade1(POLY f, int u[],int v[],int ds[],int dssize,int ei); |
|
|
/* resol.c */ |
/* resol.c */ |
struct arrayOfMonomialSyz schreyerSkelton(struct arrayOfPOLY g); |
struct arrayOfMonomialSyz schreyerSkelton(struct arrayOfPOLY g); |
Line 184 int (*grade)(POLY f); |
|
Line 206 int (*grade)(POLY f); |
|
#define checkRing2(f,g) {\ |
#define checkRing2(f,g) {\ |
if ((f)->m->ringp != (g)->m->ringp) {\ |
if ((f)->m->ringp != (g)->m->ringp) {\ |
fprintf(stderr,"f and g must be in a same ring. Type in ctrl-\\");\ |
fprintf(stderr,"f and g must be in a same ring. Type in ctrl-\\");\ |
getchar(); getchar(); exit();\ |
getchar(); getchar(); exit(1);\ |
}\ |
}\ |
} |
} |
|
|