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 
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 
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 /// NOTE: this is just a wrapper which sets currRing for the actual kNF call
29 poly kNF (ideal F, ideal Q, poly p,int syzComp, int lazyReduce, const ring _currRing);
30 ideal kSba(ideal F,ideal Q, tHomog h, intvec ** mw, int incremental=0, int arri=0, intvec *hilb=NULL,
31  int syzComp=0,int newIdeal=0, intvec *vw=NULL);
32 
33 ideal kStd(ideal F, ideal Q, tHomog h, intvec ** mw,intvec *hilb=NULL,
34  int syzComp=0,int newIdeal=0, intvec *vw=NULL);
35 
37  int newIdeal, intvec *vw, int uptodeg, int lVblock);
38 
39 /* the following global data are defined in kutil.cc */
40 //extern int syzComp;
41  /*stop building pairs after that component --> ideals.cc, syz.cc */
43  /*parameters for Lazy or global stops --> ipshell.cc, grammar.y*/
44 extern BITSET kOptions;
45  /*the known test options (a constant)*/
46 extern BITSET validOpts;
47 
49 
52 long kModDeg(poly p, ring r = currRing);
53 long kHomModDeg(poly p, ring r = currRing);
54 
56 
58  intvec *hilb=NULL, int syzComp=0,int reduced=0);
59 
60 
61 extern intvec * kModW;
62 extern intvec * kHomW;
63 
64 
65 /* options:
66 0 prot
67 1 redSB
68 2 notBucket
69 3 notSugar
70 4 interrupt
71 5 sugarCrit
72 6 teach
73 7 cancel unit: obachman 11/00 tossed
74 8 morepairs: obachman 11/00: tossed
75 9 return SB (syz,quotient,intersect)
76 10 fastHC
77 11-19 sort in L/T
78 20 redBest: obachman 11/00 tossed
79 
80 22 staircaseBound: in NF create a HC x1^degBound+1
81 23 multBound
82 24 degBound
83 25 no redTail(p)/redTail(s)
84 26 integer strategy
85 27 stop at HC (finiteDeterminacyTest)
86 28 infRedTail: ignore ecart in local redTail-calls
87 29 kStd + 1 new element
88 30 noRedSyz
89 31 weight
90 verbose:31 stop at certain weights
91 */
92 
93 #endif
94 
poly kNF1(ideal F, ideal Q, poly q, kStrategy strat, int lazyReduce)
Definition: kstd1.cc:1766
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:2447
ideal stdred(ideal F, ideal Q, tHomog h, intvec **w)
return P p
Definition: myNF.cc:203
const ideal
Definition: gb_hack.h:42
void initMora(ideal F, kStrategy strat)
Definition: kstd1.cc:1403
#define Q
Definition: sirandom.c:25
#define BITSET
Definition: structs.h:17
ideal mora(ideal F, ideal Q, intvec *w, intvec *hilb, kStrategy strat)
Definition: kstd1.cc:1462
int Kstd1_mu
Definition: kutil.cc:229
long kHomModDeg(poly p, ring r=currRing)
Definition: kstd1.cc:2054
#define M
Definition: sirandom.c:24
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
int LazyDegree
const ring r
Definition: syzextra.cc:208
BITSET kOptions
Definition: kstd1.cc:55
BITSET validOpts
Definition: kstd1.cc:70
Definition: intvec.h:16
tHomog
Definition: structs.h:37
END_NAMESPACE BEGIN_NAMESPACE_SINGULARXX ideal poly int syzComp
Definition: myNF.cc:291
polyrec * poly
Definition: hilb.h:10
poly kNF(ideal F, ideal Q, poly p, int syzComp=0, int lazyReduce=0)
Definition: kstd1.cc:2598
ideal kStd(ideal F, ideal Q, tHomog h, intvec **mw, intvec *hilb=NULL, int syzComp=0, int newIdeal=0, intvec *vw=NULL)
Definition: kstd1.cc:2067
kStrategy strat
Definition: myNF.cc:319
#define NULL
Definition: omList.c:10
const CanonicalForm & w
Definition: facAbsFact.cc:55
long kModDeg(poly p, ring r=currRing)
Definition: kstd1.cc:2044
intvec * kModW
Definition: kstd1.cc:2042
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:2202
int LazyPass
int Kstd1_deg
Definition: kutil.cc:228
static Poly * h
Definition: janet.cc:978
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:2345
ideal kInterRedOld(ideal F, ideal Q=NULL)
Definition: kstd1.cc:2710
intvec * kHomW
Definition: kstd1.cc:2042
END_NAMESPACE BEGIN_NAMESPACE_SINGULARXX ideal poly int int lazyReduce
Definition: myNF.cc:292
ideal kInterRed(ideal F, ideal Q=NULL)
Definition: kstd1.cc:3059