My Project  UNKNOWN_GIT_VERSION
kstd1.h
Go to the documentation of this file.
1 #ifndef KSTD1_H
2 #define KSTD1_H
3 /****************************************
4 * Computer Algebra System SINGULAR *
5 ****************************************/
6 /*
7 * ABSTRACT
8 */
9 #include "kernel/structs.h"
10 #include "polys/monomials/ring.h"
11 
12 ideal mora (ideal F, ideal Q,intvec *w,intvec *hilb,kStrategy strat);
13 
14 typedef BOOLEAN (*s_poly_proc_t)(kStrategy strat);
15 
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
20  // only local: recude even with bad ecart
21 #define KSTD_NF_NONORM 4
22  // only global: avoid normalization, return a multiply of NF
23 
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 
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 
33 /// NOTE: this is just a wrapper which sets currRing for the actual kNF call
34 poly k_NF (ideal F, ideal Q, poly p,int syzComp, int lazyReduce, const ring _currRing);
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);
37 
38 ideal kStd(ideal F, ideal Q, tHomog h, intvec ** mw,intvec *hilb=NULL,
39  int syzComp=0,int newIdeal=0, intvec *vw=NULL, s_poly_proc_t sp=NULL);
40 
41 ideal kStdShift(ideal F, ideal Q, tHomog h,intvec ** w, intvec *hilb,int syzComp,
42  int newIdeal, intvec *vw, int uptodeg, int lVblock);
43 
44 /* the following global data are defined in kutil.cc */
45 //extern int syzComp;
46  /*stop building pairs after that component --> ideals.cc, syz.cc */
48  /*parameters for Lazy or global stops --> ipshell.cc, grammar.y*/
49 extern BITSET kOptions;
50  /*the known test options (a constant)*/
51 extern BITSET validOpts;
52 
53 void initMora(ideal F,kStrategy strat);
54 
55 ideal kInterRed (ideal F, ideal Q=NULL);
56 ideal kInterRedOld (ideal F, ideal Q=NULL);
57 long kModDeg(poly p, ring r = currRing);
58 long kHomModDeg(poly p, ring r = currRing);
59 
60 ideal stdred(ideal F, ideal Q, tHomog h,intvec ** w);
61 
62 ideal kMin_std(ideal F, ideal Q, tHomog h,intvec ** w, ideal &M,
63  intvec *hilb=NULL, int syzComp=0,int reduced=0);
64 
65 
66 extern intvec * kModW;
67 extern intvec * kHomW;
68 
69 
70 /* options:
71 0 prot
72 1 redSB
73 2 notBucket
74 3 notSugar
75 4 interrupt
76 5 sugarCrit
77 6 teach
78 7 cancel unit: obachman 11/00 tossed
79 8 morepairs: obachman 11/00: tossed
80 9 return SB (syz,quotient,intersect)
81 10 fastHC
82 11-19 sort in L/T
83 20 redBest: obachman 11/00 tossed
84 
85 22 staircaseBound: in NF create a HC x1^degBound+1
86 23 multBound
87 24 degBound
88 25 no redTail(p)/redTail(s)
89 26 integer strategy
90 27 stop at HC (finiteDeterminacyTest)
91 28 infRedTail: ignore ecart in local redTail-calls
92 29 kStd + 1 new element
93 30 noRedSyz
94 31 weight
95 verbose:31 stop at certain weights
96 */
97 
98 #endif
99 
poly kNF1(ideal F, ideal Q, poly q, kStrategy strat, int lazyReduce)
Definition: kstd1.cc:1765
ideal kMin_std(ideal F, ideal Q, tHomog h, intvec **w, ideal &M, intvec *hilb=NULL, int syzComp=0, int reduced=0)
Definition: kstd1.cc:2673
static CanonicalForm bound(const CFMatrix &M)
Definition: cf_linsys.cc:460
poly kNFBound(ideal F, ideal Q, poly p, int bound, int syzComp=0, int lazyReduce=0)
Definition: kstd1.cc:2868
ideal stdred(ideal F, ideal Q, tHomog h, intvec **w)
void initMora(ideal F, kStrategy strat)
Definition: kstd1.cc:1459
#define Q
Definition: sirandom.c:25
poly k_NF(ideal F, ideal Q, poly p, int syzComp, int lazyReduce, const ring _currRing)
NOTE: this is just a wrapper which sets currRing for the actual kNF call.
Definition: kstd1.cc:3015
#define BITSET
Definition: structs.h:18
ideal mora(ideal F, ideal Q, intvec *w, intvec *hilb, kStrategy strat)
Definition: kstd1.cc:1516
int Kstd1_mu
Definition: kutil.cc:237
long kHomModDeg(poly p, ring r=currRing)
Definition: kstd1.cc:2074
#define M
Definition: sirandom.c:24
int LazyDegree
BITSET kOptions
Definition: kstd1.cc:44
BITSET validOpts
Definition: kstd1.cc:59
Definition: intvec.h:17
tHomog
Definition: structs.h:37
poly kNF(ideal F, ideal Q, poly p, int syzComp=0, int lazyReduce=0)
Definition: kstd1.cc:2822
ideal kStd(ideal F, ideal Q, tHomog h, intvec **mw, intvec *hilb=NULL, int syzComp=0, int newIdeal=0, intvec *vw=NULL, s_poly_proc_t sp=NULL)
Definition: kstd1.cc:2087
#define NULL
Definition: omList.c:10
BOOLEAN(* s_poly_proc_t)(kStrategy strat)
Definition: kstd1.h:14
const CanonicalForm & w
Definition: facAbsFact.cc:55
long kModDeg(poly p, ring r=currRing)
Definition: kstd1.cc:2064
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:13
intvec * kModW
Definition: kstd1.cc:2062
ideal kSba(ideal F, ideal Q, tHomog h, intvec **mw, int incremental=0, int arri=0, intvec *hilb=NULL, int syzComp=0, int newIdeal=0, intvec *vw=NULL)
Definition: kstd1.cc:2268
int LazyPass
int p
Definition: cfModGcd.cc:4019
int Kstd1_deg
Definition: kutil.cc:236
static Poly * h
Definition: janet.cc:972
int BOOLEAN
Definition: auxiliary.h:85
ideal kStdShift(ideal F, ideal Q, tHomog h, intvec **w, intvec *hilb, int syzComp, int newIdeal, intvec *vw, int uptodeg, int lVblock)
Definition: kstd1.cc:2564
ideal kInterRedOld(ideal F, ideal Q=NULL)
Definition: kstd1.cc:3028
intvec * kHomW
Definition: kstd1.cc:2062
ideal kInterRed(ideal F, ideal Q=NULL)
Definition: kstd1.cc:3380