1 | /***************************************** |
---|
2 | * Computer Algebra System SINGULAR * |
---|
3 | *****************************************/ |
---|
4 | /* $Id: walk.h,v 1.3 2000-09-07 13:39:45 sulandra Exp $ */ |
---|
5 | /* |
---|
6 | * ABSTRACT: Declaration of the Groebner walk |
---|
7 | */ |
---|
8 | |
---|
9 | #include "mod2.h" |
---|
10 | #include "structs.h" |
---|
11 | |
---|
12 | ////////////////////////////////////////////////////////////////////// |
---|
13 | ////////////////////////////////////////////////////////////////////// |
---|
14 | // |
---|
15 | // IMPORTANT: |
---|
16 | // The following routines assume that pGetOrder(p) yields the scalar |
---|
17 | // product of the first row of the order matrix with the exponent |
---|
18 | // vector of p |
---|
19 | // Remark: This is true for all degree orderings (like dp) and block |
---|
20 | // orderings (like a(...),lp) BUT NOT FOR lp!!! |
---|
21 | // |
---|
22 | ////////////////////////////////////////////////////////////////////// |
---|
23 | ////////////////////////////////////////////////////////////////////// |
---|
24 | |
---|
25 | |
---|
26 | |
---|
27 | ////////////////////////////////////////////////////////////////////// |
---|
28 | // |
---|
29 | // walkNextWeight |
---|
30 | // Returns : weight vector for next step in Groebner walk, if exists |
---|
31 | // (int) 1, if next weight vector is target_weight |
---|
32 | // (int) 0, if no next weight vectro exist |
---|
33 | |
---|
34 | |
---|
35 | // assumes that curr_weight is first row of order matrix |
---|
36 | intvec* walkNextWeight(intvec* curr_weight, intvec* target_weight, ideal G); |
---|
37 | // assume curr_weight and target_weight are arrays of length |
---|
38 | // currRing->N storing current and target weight |
---|
39 | int* walkNextWeight(const int* curr_weight, const int* target_weight, |
---|
40 | const ideal G); |
---|
41 | |
---|
42 | ////////////////////////////////////////////////////////////////////// |
---|
43 | // |
---|
44 | // walkInitials |
---|
45 | // assume polys of G are ordererd decreasingly w.r.t. curr_weight |
---|
46 | // returns ideal consisting of leading (w.r.t. curr_weight) monomials |
---|
47 | ideal walkInitials(ideal G); |
---|
48 | |
---|
49 | intvec* walkAddIntVec(intvec* v1, intvec* v2); |
---|