[a9a7be] | 1 | /***************************************** |
---|
| 2 | * Computer Algebra System SINGULAR * |
---|
| 3 | *****************************************/ |
---|
[847242] | 4 | /* $Id: walk.h,v 1.3 2000-09-07 13:39:45 sulandra Exp $ */ |
---|
[a9a7be] | 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); |
---|
[847242] | 48 | |
---|
| 49 | intvec* walkAddIntVec(intvec* v1, intvec* v2); |
---|