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