source: git/Singular/walk.h

spielwiese
Last change on this file was a4b31c, checked in by Hans Schoenemann <hannes@…>, 7 years ago
use include ".." for singular related .h, p4
  • Property mode set to 100644
File size: 2.7 KB
Line 
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
26intvec* MivMatrixOrder(intvec* iv);
27intvec* MivMatrixOrderdp(int iv);
28intvec* MPertVectors(ideal G, intvec* ivtarget, int pdeg);
29intvec* MPertVectorslp(ideal G, intvec* ivtarget, int pdeg);
30
31
32intvec* MivMatrixOrderlp(int nV);
33
34intvec* Mfpertvector(ideal G, intvec* iv);
35intvec* MivUnit(int nV);
36
37intvec* MivWeightOrderlp(intvec* ivstart);
38intvec* MivWeightOrderdp(intvec* ivstart);
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
51intvec* 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);
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 */
76intvec* TranMPertVectorslp(ideal G);
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
Note: See TracBrowser for help on using the repository browser.