My Project
Loading...
Searching...
No Matches
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
13ideal MwalkInitialForm(ideal G, intvec* curr_weight);
14
15//compute the next weight vector
16intvec* MwalkNextWeight(intvec* curr_weight,intvec* target_weight, ideal G);
17
18int MivSame(intvec* u , intvec* v);
19int M3ivSame(intvec* next_weight, intvec* u , intvec* v);
20
21
22
23intvec* Mivdp(int nR);
24intvec* Mivlp(int nR);
25
28intvec* MPertVectors(ideal G, intvec* ivtarget, int pdeg);
29intvec* MPertVectorslp(ideal G, intvec* ivtarget, int pdeg);
30
31
33
34intvec* Mfpertvector(ideal G, intvec* iv);
35intvec* MivUnit(int nV);
36
39
40ideal MidLift(ideal Gomega, ideal M);
41ideal MLiftLmalG(ideal L, ideal G);
42ideal MLiftLmalGNew(ideal Gomega, ideal M, ideal G);
43ideal MLiftLmalGMin(ideal L, ideal G);
44
45
46intvec* MkInterRedNextWeight(intvec* iva, intvec* ivb, ideal G);
47intvec* MPertNextWeight(intvec* iva, ideal G, int deg);
48intvec* Mivperttarget(ideal G, int ndeg);
49
50
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);
56ideal 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
60ideal 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
64ideal 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 */
67ideal 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 */
70ideal Mfwalk(ideal G, intvec* ivstart, intvec* ivtarget, int reduction, int printout);
71
72/* The fractal walk algorithm with random element */
73ideal Mfrwalk(ideal G, intvec* ivstart, intvec* ivtarget, int weight_rad, int reduction, int printout);
74
75/* Implement Tran's idea */
77ideal TranMImprovwalk(ideal Go, intvec* curr_weight,intvec* target_weight, int nP);
78
79/* the first alternative algorithm */
80ideal MAltwalk1(ideal G,int op,int tp,intvec* curr_weight,intvec* target_weight);
81
82/* the second alternative algorithm */
83ideal MAltwalk2(ideal G, intvec* curr_weight, intvec* target_weight);
84
85#endif //WALK_H
Definition: intvec.h:23
void reduction(LList *sPolyList, CListOld *critPairs, LList *gPrev, RList *rules, LTagList *lTag, RTagList *rTag, ideal gbPrev, PList *rejectedGBList, int plus)
Definition: f5gb.cc:1089
const Variable & v
< [in] a sqrfree bivariate poly
Definition: facBivar.h:39
STATIC_VAR TreeM * G
Definition: janet.cc:31
#define M
Definition: sirandom.c:25
int M3ivSame(intvec *next_weight, intvec *u, intvec *v)
Definition: walk.cc:914
intvec * MivWeightOrderdp(intvec *ivstart)
Definition: walk.cc:1456
ideal TranMImprovwalk(ideal Go, intvec *curr_weight, intvec *target_weight, int nP)
Definition: walk.cc:8396
intvec * MivUnit(int nV)
Definition: walk.cc:1496
intvec * Mfpertvector(ideal G, intvec *iv)
Definition: walk.cc:1512
intvec * MwalkNextWeight(intvec *curr_weight, intvec *target_weight, ideal G)
ideal MLiftLmalGMin(ideal L, ideal G)
intvec * Mivperttarget(ideal G, int ndeg)
intvec * MSimpleIV(intvec *iv)
intvec * MivMatrixOrderdp(int iv)
Definition: walk.cc:1417
ideal Mfwalk(ideal G, intvec *ivstart, intvec *ivtarget, int reduction, int printout)
Definition: walk.cc:8031
intvec * MPertVectors(ideal G, intvec *ivtarget, int pdeg)
Definition: walk.cc:1088
intvec * TranMPertVectorslp(ideal G)
ideal MidLift(ideal Gomega, ideal M)
intvec * MivWeightOrderlp(intvec *ivstart)
Definition: walk.cc:1436
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 * MivMatrixOrder(intvec *iv)
Definition: walk.cc:963
ideal MAltwalk2(ideal G, intvec *curr_weight, intvec *target_weight)
Definition: walk.cc:4280
ideal MLiftLmalGNew(ideal Gomega, ideal M, ideal G)
ideal MLiftLmalG(ideal L, ideal G)
ideal Mrwalk(ideal Go, intvec *orig_M, intvec *target_M, int weight_rad, int pert_deg, int reduction, int printout)
Definition: walk.cc:5603
ideal MAltwalk1(ideal G, int op, int tp, intvec *curr_weight, intvec *target_weight)
Definition: walk.cc:9671
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 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
int MivSame(intvec *u, intvec *v)
Definition: walk.cc:893
intvec * Mivlp(int nR)
Definition: walk.cc:1022
intvec * MivMatrixOrderlp(int nV)
Definition: walk.cc:1401
intvec * MPertVectorslp(ideal G, intvec *ivtarget, int pdeg)
Definition: walk.cc:1299
intvec * Mivdp(int nR)
Definition: walk.cc:1007
intvec * MkInterRedNextWeight(intvec *iva, intvec *ivb, ideal G)
Definition: walk.cc:2570
intvec * MPertNextWeight(intvec *iva, ideal G, int deg)
ideal MwalkInitialForm(ideal G, intvec *curr_weight)
Definition: walk.cc:761