My Project
Loading...
Searching...
No Matches
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"
11#include "coeffs/bigintmat.h"
12
13ideal mora (ideal F, ideal Q,intvec *w,bigintmat *hilb,kStrategy strat);
14
16
17// lazy_reduce flags: can be combined by |
18#define KSTD_NF_LAZY 1
19 // do only a reduction of the leading term
20#define KSTD_NF_ECART 2
21 // only local: reduce even with bad ecart
22#define KSTD_NF_NONORM 4
23 // only global: avoid normalization, return a multiply of NF
24#define KSTD_NF_CANCELUNIT 8
25 // apply cancelunit to f inf NF(f,I)
26#define KSTD_NF_NOLF 4096
27 // avoid PrintLn with OPT_PROT
28
29poly kNF1(ideal F, ideal Q, poly q, kStrategy strat, int lazyReduce);
30ideal kNF1 (ideal F,ideal Q,ideal q, kStrategy strat, int lazyReduce);
31
32poly kNF (ideal F, ideal Q, poly p,int syzComp=0, int lazyReduce=0);
33ideal kNF(ideal F, ideal Q, ideal p,int syzComp=0, int lazyReduce=0);
34
35poly kNFBound (ideal F, ideal Q, poly p,int bound,int syzComp=0, int lazyReduce=0);
36ideal kNFBound (ideal F, ideal Q, ideal p,int bound,int syzComp=0, int lazyReduce=0);
37ideal idDivRem(ideal A, const ideal quot, ideal &factor,ideal *unit,int lazyReduce=0);
38
39/// NOTE: this is just a wrapper which sets currRing for the actual kNF call
40poly k_NF (ideal F, ideal Q, poly p,int syzComp, int lazyReduce, const ring _currRing);
41
42ideal kSba(ideal F,ideal Q, tHomog h, intvec ** mw, int incremental=0, int arri=0, bigintmat *hilb=NULL,
43 int syzComp=0,int newIdeal=0, intvec *vw=NULL);
44
45/// generic interface to GB/SB computations
46ideal kStd(ideal F, ideal Q, tHomog h, intvec ** mw,intvec *hilb=NULL,
47 int syzComp=0,int newIdeal=0, intvec *vw=NULL, s_poly_proc_t sp=NULL);
48
49/// generic interface to GB/SB computations, large hilbert vectors
50ideal kStd2(ideal F, ideal Q, tHomog h, intvec ** mw,bigintmat *hilb=NULL,
51 int syzComp=0,int newIdeal=0, intvec *vw=NULL, s_poly_proc_t sp=NULL);
52
53/// pure GB/SB computations
54ideal kStd_internal(ideal F, ideal Q, tHomog h,intvec ** w, bigintmat *hilb=NULL,
55 int syzComp=0, int newIdeal=0, intvec *vw=NULL, s_poly_proc_t sp=NULL);
56
57
58ideal kStdShift(ideal F, ideal Q, tHomog h,intvec ** mw, bigintmat *hilb=NULL,
59 int syzComp=0, int newIdeal=0, intvec *vw=NULL, BOOLEAN rightGB=FALSE);
60
61ideal kTryHilbstd(ideal F, ideal Q);
62ideal kTryHilbstd_par(ideal F, ideal Q, tHomog h, intvec ** mw);
63poly kTryHC(ideal F, ideal Q);
64
65ideal rightgb(ideal F,const ideal Q);
66
67/* the following global data are defined in kutil.cc */
68//extern int syzComp;
69 /*stop building pairs after that component --> ideals.cc, syz.cc */
71 /*parameters for global stops --> ipshell.cc, grammar.y*/
73 /*the known test options (a constant)*/
75
76void initMora(ideal F,kStrategy strat);
77
78ideal kInterRed (ideal F, const ideal Q=NULL);
79ideal kInterRedOld (ideal F, const ideal Q=NULL);
80ideal kInterRedBba (ideal F, ideal Q, int &need_retry);
81long kModDeg(poly p, const ring r = currRing);
82long kHomModDeg(poly p, const ring r = currRing);
83
84ideal stdred(ideal F, ideal Q, tHomog h,intvec ** w);
85
86ideal kMin_std2(ideal F, ideal Q, tHomog h,intvec ** w, ideal &M,
87 bigintmat *hilb, int syzComp=0,int reduced=0);
88
89ideal kMin_std(ideal F, ideal Q, tHomog h,intvec ** w, ideal &M,
90 intvec *hilb, int syzComp=0,int reduced=0);
91
92BOOLEAN kVerify(ideal F,ideal Q);
93
96
97
98/* options:
990 prot
1001 redSB
1012 notBucket
1023 notSugar
1034 interrupt
1045 sugarCrit
1056 teach
1067 cancel unit: obachman 11/00 tossed
1078 morepairs: obachman 11/00: tossed
1089 return SB (syz,quotient,intersect)
10910 fastHC
11011-19 sort in L/T
11120 redBest: obachman 11/00 tossed
112
11322 staircaseBound: in NF create a HC x1^degBound+1
11423 multBound
11524 degBound
11625 no redTail(p)/redTail(s)
11726 integer strategy
11827 stop at HC (finiteDeterminacyTest)
11928 infRedTail: ignore ecart in local redTail-calls
12029 kStd + 1 new element
12130 noRedSyz
12231 weight
123verbose:31 stop at certain weights
124*/
125
126#endif
127
#define BITSET
Definition auxiliary.h:85
int BOOLEAN
Definition auxiliary.h:88
#define FALSE
Definition auxiliary.h:97
int p
Definition cfModGcd.cc:4086
static CanonicalForm bound(const CFMatrix &M)
Definition cf_linsys.cc:460
Matrices of numbers.
Definition bigintmat.h:51
const CanonicalForm & w
Definition facAbsFact.cc:51
CanonicalForm factor
Definition facAbsFact.cc:97
#define EXTERN_VAR
Definition globaldefs.h:6
STATIC_VAR Poly * h
Definition janet.cc:971
VAR intvec * kHomW
Definition kstd1.cc:2405
VAR intvec * kModW
Definition kstd1.cc:2405
VAR BITSET validOpts
Definition kstd1.cc:60
VAR BITSET kOptions
Definition kstd1.cc:45
long kHomModDeg(poly p, const ring r=currRing)
Definition kstd1.cc:2417
EXTERN_VAR int Kstd1_deg
Definition kstd1.h:70
void initMora(ideal F, kStrategy strat)
Definition kstd1.cc:1811
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:3438
ideal kMin_std(ideal F, ideal Q, tHomog h, intvec **w, ideal &M, intvec *hilb, int syzComp=0, int reduced=0)
Definition kstd1.cc:3216
ideal kInterRedOld(ideal F, const ideal Q=NULL)
Definition kstd1.cc:3451
ideal kMin_std2(ideal F, ideal Q, tHomog h, intvec **w, ideal &M, bigintmat *hilb, int syzComp=0, int reduced=0)
Definition kstd1.cc:3064
BOOLEAN kVerify(ideal F, ideal Q)
ideal stdred(ideal F, ideal Q, tHomog h, intvec **w)
ideal kInterRedBba(ideal F, ideal Q, int &need_retry)
Definition kstd1.cc:3546
poly kNFBound(ideal F, ideal Q, poly p, int bound, int syzComp=0, int lazyReduce=0)
Definition kstd1.cc:3280
poly kNF1(ideal F, ideal Q, poly q, kStrategy strat, int lazyReduce)
Definition kstd1.cc:2115
ideal mora(ideal F, ideal Q, intvec *w, bigintmat *hilb, kStrategy strat)
Definition kstd1.cc:1878
ideal idDivRem(ideal A, const ideal quot, ideal &factor, ideal *unit, int lazyReduce=0)
Definition kLiftstd.cc:347
ideal rightgb(ideal F, const ideal Q)
Definition kstd2.cc:4958
long kModDeg(poly p, const ring r=currRing)
Definition kstd1.cc:2407
ideal kStdShift(ideal F, ideal Q, tHomog h, intvec **mw, bigintmat *hilb=NULL, int syzComp=0, int newIdeal=0, intvec *vw=NULL, BOOLEAN rightGB=FALSE)
Definition kstd1.cc:2959
BOOLEAN(* s_poly_proc_t)(kStrategy strat)
Definition kstd1.h:15
ideal kStd2(ideal F, ideal Q, tHomog h, intvec **mw, bigintmat *hilb=NULL, int syzComp=0, int newIdeal=0, intvec *vw=NULL, s_poly_proc_t sp=NULL)
generic interface to GB/SB computations, large hilbert vectors
Definition kstd1.cc:2602
ideal kInterRed(ideal F, const ideal Q=NULL)
Definition kstd1.cc:3797
ideal kSba(ideal F, ideal Q, tHomog h, intvec **mw, int incremental=0, int arri=0, bigintmat *hilb=NULL, int syzComp=0, int newIdeal=0, intvec *vw=NULL)
Definition kstd1.cc:2663
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)
generic interface to GB/SB computations
Definition kstd1.cc:2654
ideal kStd_internal(ideal F, ideal Q, tHomog h, intvec **w, bigintmat *hilb=NULL, int syzComp=0, int newIdeal=0, intvec *vw=NULL, s_poly_proc_t sp=NULL)
pure GB/SB computations
Definition kstd1.cc:2430
EXTERN_VAR int Kstd1_mu
Definition kstd1.h:70
ideal kTryHilbstd_par(ideal F, ideal Q, tHomog h, intvec **mw)
poly kTryHC(ideal F, ideal Q)
Definition kstdhelper.cc:33
ideal kTryHilbstd(ideal F, ideal Q)
poly kNF(ideal F, ideal Q, poly p, int syzComp=0, int lazyReduce=0)
Definition kstd1.cc:3224
#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 A
Definition sirandom.c:24
#define M
Definition sirandom.c:25
#define Q
Definition sirandom.c:26
tHomog
Definition structs.h:31
skStrategy * kStrategy
Definition structs.h:54