|
Macaulay2 Engine
|
ResSchreyerOrder — per-free-module-summand data implementing the Schreyer order on the next level. More...
Go to the source code of this file.
Classes | |
| struct | ResSchreyerOrder |
| Per-level Schreyer-order data attached to a SchreyerFrame::Level. More... | |
ResSchreyerOrder — per-free-module-summand data implementing the Schreyer order on the next level.
Declares the small struct each SchreyerFrame level carries to define the order its child level inherits. For every generator i of the current free module, mTotalMonom[i] holds the encoded res_packed_monomial that the order will compare against, and mTieBreaker[i] holds the component_index used to break ties when two total monomials agree. Comparison of two basis elements e_i * m and e_j * m' walks compare(mTotalMonom[i] * m, mTotalMonom[j] * m') under the ambient monoid order and falls back to mTieBreaker[i] vs mTieBreaker[j] on equality — the standard Schreyer construction that lets each homological level's leading-term arithmetic stay local.
The in-file Operations to include comment block lists the planned API surface (total-monomial / tie-breaker construction, in-order checks, polynomial sorting, the two-monomial comparator, and debug display); some of these are filled in by res-monomial-sorter.hpp and res-schreyer-frame.hpp, others remain open. The resolution-specialised counterpart of the engine's general- purpose SchreyerOrder, with plain std::vector storage over res_packed_monomial instead of the gc-managed top-level encoding.
Definition in file res-schreyer-order.hpp.