|
Macaulay2 Engine
|
Matrix-form encoding of a MonomialOrdering used by the Groebner walk algorithm. More...
Public Member Functions | |
| MonomialOrderMatrix (const MonomialOrdering *mo) | |
| ~MonomialOrderMatrix () | |
| const long * | part (int i) const |
| int | compare (long *m1, long *m2) const |
| int | minpart (long *m) const |
| long | value (int i, long *monom) const |
| MonomialOrdering * | toMonomialOrdering () const |
| int | facet_compare (long *mon1, long *mon2) |
Private Attributes | |
| int | nvars |
| long ** | order |
Matrix-form encoding of a MonomialOrdering used by the Groebner walk algorithm.
Every monomial ordering can be expressed as a matrix M so m_1 < m_2 iff the first non-zero entry of M (exp(m_2) - exp(m_1)) is positive. This class extracts that matrix from a MonomialOrdering* and stores each row in order[i]. value(i, m) is the inner product order[i] . exp(m), compare(m1, m2) walks the rows until one differs, and minpart(m) returns the first row that takes a non-zero value on m. Used internally by gb-walk.cpp to interpolate between monomial orderings during a GB walk.
Definition at line 35 of file gb-walk.cpp.