[35aab3] | 1 | #ifndef KSTD1_H |
---|
| 2 | #define KSTD1_H |
---|
| 3 | /**************************************** |
---|
| 4 | * Computer Algebra System SINGULAR * |
---|
| 5 | ****************************************/ |
---|
[341696] | 6 | /* $Id$ */ |
---|
[35aab3] | 7 | /* |
---|
| 8 | * ABSTRACT |
---|
| 9 | */ |
---|
[599326] | 10 | #include <kernel/structs.h> |
---|
[210e07] | 11 | #include <polys/monomials/ring.h> |
---|
[35aab3] | 12 | |
---|
| 13 | ideal mora (ideal F, ideal Q,intvec *w,intvec *hilb,kStrategy strat); |
---|
| 14 | |
---|
[18ff4c] | 15 | // lazy_reduce flags: can be combined by | |
---|
| 16 | #define KSTD_NF_LAZY 1 |
---|
| 17 | // do only a reduction of the leading term |
---|
| 18 | #define KSTD_NF_ECART 2 |
---|
| 19 | // only local: recude even with bad ecart |
---|
| 20 | #define KSTD_NF_NONORM 4 |
---|
[0f7420d] | 21 | // only global: avoid normalization, return a multiply of NF |
---|
[18ff4c] | 22 | |
---|
[35aab3] | 23 | poly kNF1(ideal F, ideal Q, poly q, kStrategy strat, int lazyReduce); |
---|
| 24 | ideal kNF1 (ideal F,ideal Q,ideal q, kStrategy strat, int lazyReduce); |
---|
| 25 | |
---|
| 26 | poly kNF (ideal F, ideal Q, poly p,int syzComp=0, int lazyReduce=0); |
---|
| 27 | ideal kNF(ideal F, ideal Q, ideal p,int syzComp=0, int lazyReduce=0); |
---|
| 28 | |
---|
[64f0ca] | 29 | /// NOTE: this is just a wrapper which sets currRing for the actual kNF call |
---|
| 30 | poly kNF (ideal F, ideal Q, poly p,int syzComp, int lazyReduce, const ring _currRing); |
---|
[83be980] | 31 | ideal kSba(ideal F,ideal Q, tHomog h, intvec ** mw, int incremental=0, int arri=0, intvec *hilb=NULL, |
---|
| 32 | int syzComp=0,int newIdeal=0, intvec *vw=NULL); |
---|
[64f0ca] | 33 | |
---|
[35aab3] | 34 | ideal kStd(ideal F, ideal Q, tHomog h, intvec ** mw,intvec *hilb=NULL, |
---|
| 35 | int syzComp=0,int newIdeal=0, intvec *vw=NULL); |
---|
| 36 | |
---|
[1c473f] | 37 | ideal kStdShift(ideal F, ideal Q, tHomog h,intvec ** w, intvec *hilb,int syzComp, |
---|
| 38 | int newIdeal, intvec *vw, int uptodeg, int lVblock); |
---|
| 39 | |
---|
[35aab3] | 40 | /* the following global data are defined in kutil.cc */ |
---|
| 41 | //extern int syzComp; |
---|
| 42 | /*stop building pairs after that component --> ideals.cc, syz.cc */ |
---|
[c536ff] | 43 | extern int LazyPass,LazyDegree,Kstd1_mu,Kstd1_deg; |
---|
[35aab3] | 44 | /*parameters for Lazy or global stops --> ipshell.cc, grammar.y*/ |
---|
| 45 | extern BITSET kOptions; |
---|
| 46 | /*the known test options (a constant)*/ |
---|
| 47 | extern BITSET validOpts; |
---|
| 48 | |
---|
| 49 | void initMora(ideal F,kStrategy strat); |
---|
| 50 | |
---|
| 51 | ideal kInterRed (ideal F, ideal Q=NULL); |
---|
[e7c6b22] | 52 | ideal kInterRedOld (ideal F, ideal Q=NULL); |
---|
[35aab3] | 53 | long kModDeg(poly p, ring r = currRing); |
---|
| 54 | long kHomModDeg(poly p, ring r = currRing); |
---|
| 55 | |
---|
| 56 | ideal stdred(ideal F, ideal Q, tHomog h,intvec ** w); |
---|
| 57 | |
---|
| 58 | ideal kMin_std(ideal F, ideal Q, tHomog h,intvec ** w, ideal &M, |
---|
| 59 | intvec *hilb=NULL, int syzComp=0,int reduced=0); |
---|
| 60 | |
---|
| 61 | |
---|
| 62 | extern intvec * kModW; |
---|
[2f2bb21] | 63 | extern intvec * kHomW; |
---|
| 64 | |
---|
[35aab3] | 65 | |
---|
| 66 | /* options: |
---|
| 67 | 0 prot |
---|
| 68 | 1 redSB |
---|
[3a0e1a] | 69 | 2 notBucket |
---|
[35aab3] | 70 | 3 notSugar |
---|
| 71 | 4 interrupt |
---|
| 72 | 5 sugarCrit |
---|
| 73 | 6 teach |
---|
| 74 | 7 cancel unit: obachman 11/00 tossed |
---|
| 75 | 8 morepairs: obachman 11/00: tossed |
---|
| 76 | 9 return SB (syz,quotient,intersect) |
---|
| 77 | 10 fastHC |
---|
| 78 | 11-19 sort in L/T |
---|
| 79 | 20 redBest: obachman 11/00 tossed |
---|
[d544b1] | 80 | |
---|
[35aab3] | 81 | 22 staircaseBound: in NF create a HC x1^degBound+1 |
---|
| 82 | 23 multBound |
---|
| 83 | 24 degBound |
---|
| 84 | 25 no redTail(p)/redTail(s) |
---|
| 85 | 26 integer strategy |
---|
| 86 | 27 stop at HC (finiteDeterminacyTest) |
---|
| 87 | 28 infRedTail: ignore ecart in local redTail-calls |
---|
| 88 | 29 kStd + 1 new element |
---|
| 89 | 30 noRedSyz |
---|
| 90 | 31 weight |
---|
| 91 | verbose:31 stop at certain weights |
---|
| 92 | */ |
---|
| 93 | |
---|
| 94 | #endif |
---|
| 95 | |
---|