walk.h
Go to the documentation of this file.
1 /*****************************************
2 * Computer Algebra System SINGULAR *
3 *****************************************/
4 /*
5 * ABSTRACT: Declaration of the Groebner walk
6 */
7 
8 #ifndef WALK_H
9 #define WALK_H
10 
11 #include "kernel/structs.h"
12 
13 ideal MwalkInitialForm(ideal G, intvec* curr_weight);
14 
15 //compute the next weight vector
16 intvec* MwalkNextWeight(intvec* curr_weight,intvec* target_weight, ideal G);
17 
18 int MivSame(intvec* u , intvec* v);
19 int M3ivSame(intvec* next_weight, intvec* u , intvec* v);
20 
21 
22 
23 intvec* Mivdp(int nR);
24 intvec* Mivlp(int nR);
25 
27 intvec* MivMatrixOrderdp(int iv);
28 intvec* MPertVectors(ideal G, intvec* ivtarget, int pdeg);
29 intvec* MPertVectorslp(ideal G, intvec* ivtarget, int pdeg);
30 
31 
32 intvec* MivMatrixOrderlp(int nV);
33 
34 intvec* Mfpertvector(ideal G, intvec* iv);
35 intvec* MivUnit(int nV);
36 
37 intvec* MivWeightOrderlp(intvec* ivstart);
38 intvec* MivWeightOrderdp(intvec* ivstart);
39 
40 ideal MidLift(ideal Gomega, ideal M);
41 ideal MLiftLmalG(ideal L, ideal G);
42 ideal MLiftLmalGNew(ideal Gomega, ideal M, ideal G);
43 ideal MLiftLmalGMin(ideal L, ideal G);
44 
45 
46 intvec* MkInterRedNextWeight(intvec* iva, intvec* ivb, ideal G);
47 intvec* MPertNextWeight(intvec* iva, ideal G, int deg);
48 intvec* Mivperttarget(ideal G, int ndeg);
49 
50 
51 intvec* MSimpleIV(intvec* iv);
52 
53 /* Okt -- Nov'01 */
54 // compute a Groebner basis of an ideal G w.r.t. lexicographic order
55 //ideal Mwalk(ideal Go, intvec* orig_M, intvec* target_M);
56 ideal Mwalk(ideal Go, intvec* orig_M, intvec* target_M, ring baseRing, int reduction, int printout);
57 
58 // random walk algorithm to compute a Groebner basis
59 
60 ideal Mrwalk(ideal Go, intvec* orig_M, intvec* target_M, int weight_rad, int pert_deg, int reduction, int printout);
61 
62 /* the perturbation walk algorithm */
63 
64 ideal Mpwalk(ideal Go, int op_deg, int tp_deg,intvec* curr_weight,intvec* target_weight, int nP, int reduction, int printout);
65 
66 /* the perturbation walk algorithm with random element */
67 ideal Mprwalk(ideal Go, intvec* orig_M, intvec* target_M, int weight_rad, int op_deg, int tp_deg, int nP, int reduction, int printout);
68 
69 /* The fractal walk algorithm */
70 ideal Mfwalk(ideal G, intvec* ivstart, intvec* ivtarget, int reduction, int printout);
71 
72 /* The fractal walk algorithm with random element */
73 ideal Mfrwalk(ideal G, intvec* ivstart, intvec* ivtarget, int weight_rad, int reduction, int printout);
74 
75 /* Implement Tran's idea */
77 ideal TranMImprovwalk(ideal Go, intvec* curr_weight,intvec* target_weight, int nP);
78 
79 /* the first alternative algorithm */
80 ideal MAltwalk1(ideal G,int op,int tp,intvec* curr_weight,intvec* target_weight);
81 
82 /* the second alternative algorithm */
83 ideal MAltwalk2(ideal G, intvec* curr_weight, intvec* target_weight);
84 
85 #endif //WALK_H
intvec * Mfpertvector(ideal G, intvec *iv)
Definition: walk.cc:1512
intvec * MSimpleIV(intvec *iv)
ideal MLiftLmalGMin(ideal L, ideal G)
ideal MAltwalk2(ideal G, intvec *curr_weight, intvec *target_weight)
Definition: walk.cc:4280
ideal Mfwalk(ideal G, intvec *ivstart, intvec *ivtarget, int reduction, int printout)
Definition: walk.cc:8031
ideal Mprwalk(ideal Go, intvec *orig_M, intvec *target_M, int weight_rad, int op_deg, int tp_deg, int nP, int reduction, int printout)
Definition: walk.cc:6388
intvec * MivMatrixOrderlp(int nV)
Definition: walk.cc:1401
ideal MidLift(ideal Gomega, ideal M)
#define M
Definition: sirandom.c:25
ideal MLiftLmalG(ideal L, ideal G)
int MivSame(intvec *u, intvec *v)
Definition: walk.cc:893
intvec * MivWeightOrderlp(intvec *ivstart)
Definition: walk.cc:1436
Definition: intvec.h:19
intvec * MwalkNextWeight(intvec *curr_weight, intvec *target_weight, ideal G)
intvec * MPertNextWeight(intvec *iva, ideal G, int deg)
ideal Mrwalk(ideal Go, intvec *orig_M, intvec *target_M, int weight_rad, int pert_deg, int reduction, int printout)
Definition: walk.cc:5603
intvec * MkInterRedNextWeight(intvec *iva, intvec *ivb, ideal G)
Definition: walk.cc:2570
intvec * MivMatrixOrder(intvec *iv)
Definition: walk.cc:963
intvec * Mivperttarget(ideal G, int ndeg)
intvec * MPertVectors(ideal G, intvec *ivtarget, int pdeg)
Definition: walk.cc:1088
ideal MAltwalk1(ideal G, int op, int tp, intvec *curr_weight, intvec *target_weight)
Definition: walk.cc:9671
intvec * MivMatrixOrderdp(int iv)
Definition: walk.cc:1417
ideal Mpwalk(ideal Go, int op_deg, int tp_deg, intvec *curr_weight, intvec *target_weight, int nP, int reduction, int printout)
Definition: walk.cc:5947
intvec * MivUnit(int nV)
Definition: walk.cc:1496
const Variable & v
< [in] a sqrfree bivariate poly
Definition: facBivar.h:37
intvec * Mivlp(int nR)
Definition: walk.cc:1022
intvec * TranMPertVectorslp(ideal G)
void reduction(LList *sPolyList, CListOld *critPairs, LList *gPrev, RList *rules, LTagList *lTag, RTagList *rTag, ideal gbPrev, PList *rejectedGBList, int plus)
Definition: f5gb.cc:1089
ideal TranMImprovwalk(ideal Go, intvec *curr_weight, intvec *target_weight, int nP)
Definition: walk.cc:8396
ideal MLiftLmalGNew(ideal Gomega, ideal M, ideal G)
int M3ivSame(intvec *next_weight, intvec *u, intvec *v)
Definition: walk.cc:914
ideal Mfrwalk(ideal G, intvec *ivstart, intvec *ivtarget, int weight_rad, int reduction, int printout)
Definition: walk.cc:8212
ideal Mwalk(ideal Go, intvec *orig_M, intvec *target_M, ring baseRing, int reduction, int printout)
Definition: walk.cc:5302
ideal MwalkInitialForm(ideal G, intvec *curr_weight)
Definition: walk.cc:761
intvec * Mivdp(int nR)
Definition: walk.cc:1007
intvec * MivWeightOrderdp(intvec *ivstart)
Definition: walk.cc:1456
STATIC_VAR TreeM * G
Definition: janet.cc:31
intvec * MPertVectorslp(ideal G, intvec *ivtarget, int pdeg)
Definition: walk.cc:1299