version 1.2, 2000/01/16 07:55:38 |
version 1.12, 2020/10/06 11:33:46 |
|
|
/* $OpenXM$ */ |
/* $OpenXM: OpenXM/src/kan96xx/Kan/extern2.h,v 1.11 2006/12/21 05:29:49 takayama Exp $ */ |
/* poly.c */ |
/* poly.c */ |
void KinitKan(void); |
void KinitKan(void); |
MONOMIAL newMonomial(struct ring *ringp); |
MONOMIAL newMonomial(struct ring *ringp); |
Line 44 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 67 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 112 struct coeff *universalNumberGCD(struct coeff *a,struc |
|
Line 126 struct coeff *universalNumberGCD(struct coeff *a,struc |
|
char *POLYToString(POLY f,int multSym,int brace); |
char *POLYToString(POLY f,int multSym,int brace); |
int isOne(struct coeff *cp); |
int isOne(struct coeff *cp); |
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 166 int grade_firstvec(POLY f); |
|
Line 182 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 185 int (*grade)(POLY f); |
|
Line 205 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);\ |
}\ |
}\ |
} |
} |
|
|