My Project  debian-1:4.1.2-p1+ds-2
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 ** mw, intvec *hilb=NULL,
42  int syzComp=0, int newIdeal=0, intvec *vw=NULL, BOOLEAN rightGB=FALSE);
43 
44 ideal freegb(ideal F, ideal Q);
45 ideal rightgb(ideal F, ideal Q);
46 
47 /* the following global data are defined in kutil.cc */
48 //extern int syzComp;
49  /*stop building pairs after that component --> ideals.cc, syz.cc */
51  /*parameters for Lazy or global stops --> ipshell.cc, grammar.y*/
53  /*the known test options (a constant)*/
55 
56 void initMora(ideal F,kStrategy strat);
57 
58 ideal kInterRed (ideal F, ideal Q=NULL);
59 ideal kInterRedOld (ideal F, ideal Q=NULL);
60 long kModDeg(poly p, ring r = currRing);
61 long kHomModDeg(poly p, ring r = currRing);
62 
63 ideal stdred(ideal F, ideal Q, tHomog h,intvec ** w);
64 
65 ideal kMin_std(ideal F, ideal Q, tHomog h,intvec ** w, ideal &M,
66  intvec *hilb=NULL, int syzComp=0,int reduced=0);
67 
68 
71 
72 
73 /* options:
74 0 prot
75 1 redSB
76 2 notBucket
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
87 
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 
int BOOLEAN
Definition: auxiliary.h:87
#define FALSE
Definition: auxiliary.h:96
int p
Definition: cfModGcd.cc:4019
static CanonicalForm bound(const CFMatrix &M)
Definition: cf_linsys.cc:460
Definition: intvec.h:23
const CanonicalForm & w
Definition: facAbsFact.cc:55
#define EXTERN_VAR
Definition: globaldefs.h:6
STATIC_VAR Poly * h
Definition: janet.cc:971
STATIC_VAR jList * Q
Definition: janet.cc:30
EXTERN_VAR intvec * kHomW
Definition: kstd1.h:70
ideal freegb(ideal F, ideal Q)
Definition: kstd2.cc:4461
EXTERN_VAR int Kstd1_deg
Definition: kstd1.h:50
ideal mora(ideal F, ideal Q, intvec *w, intvec *hilb, kStrategy strat)
Definition: kstd1.cc:1517
EXTERN_VAR int LazyDegree
Definition: kstd1.h:50
void initMora(ideal F, kStrategy strat)
Definition: kstd1.cc:1460
long kHomModDeg(poly p, ring r=currRing)
Definition: kstd1.cc:2075
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:3035
ideal kInterRed(ideal F, ideal Q=NULL)
Definition: kstd1.cc:3400
EXTERN_VAR intvec * kModW
Definition: kstd1.h:69
ideal stdred(ideal F, ideal Q, tHomog h, intvec **w)
EXTERN_VAR int LazyPass
Definition: kstd1.h:50
poly kNFBound(ideal F, ideal Q, poly p, int bound, int syzComp=0, int lazyReduce=0)
Definition: kstd1.cc:2879
ideal kInterRedOld(ideal F, ideal Q=NULL)
Definition: kstd1.cc:3048
poly kNF1(ideal F, ideal Q, poly q, kStrategy strat, int lazyReduce)
Definition: kstd1.cc:1766
EXTERN_VAR BITSET kOptions
Definition: kstd1.h:52
long kModDeg(poly p, ring r=currRing)
Definition: kstd1.cc:2065
BOOLEAN(* s_poly_proc_t)(kStrategy strat)
Definition: kstd1.h:14
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:2088
EXTERN_VAR int Kstd1_mu
Definition: kstd1.h:50
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:2273
poly kNF(ideal F, ideal Q, poly p, int syzComp=0, int lazyReduce=0)
Definition: kstd1.cc:2824
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:2675
EXTERN_VAR BITSET validOpts
Definition: kstd1.h:54
ideal kStdShift(ideal F, ideal Q, tHomog h, intvec **mw, intvec *hilb=NULL, int syzComp=0, int newIdeal=0, intvec *vw=NULL, BOOLEAN rightGB=FALSE)
Definition: kstd1.cc:2569
ideal rightgb(ideal F, ideal Q)
Definition: kstd2.cc:4471
#define NULL
Definition: omList.c:12
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:13
#define M
Definition: sirandom.c:25
tHomog
Definition: structs.h:40
#define BITSET
Definition: structs.h:20