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