|
Macaulay2 Engine
|
newf4::Basis — evolving Gröbner basis container with GBPolyStatus per element. More...
Go to the source code of this file.
Classes | |
| class | newf4::Basis |
Namespaces | |
| namespace | newf4 |
Enumerations | |
| enum class | newf4::GBPolyStatus { newf4::Gen , newf4::MinGen , newf4::MinGB , newf4::NonMinGB , newf4::Retired } |
Functions | |
| std::string | newf4::toString (GBPolyStatus status) |
newf4::Basis — evolving Gröbner basis container with GBPolyStatus per element.
Declares the Basis class meant to hold the current Gröbner basis (plus the original generators) while the refactored F4 driver runs. Storage is two parallel containers: a PolynomialList mPolynomialList bound to a shared MonomialHashTable& and VectorArithmetic&, and a std::vector<GBPolyStatus> mGBStatusList recording the role of each entry via the Gen / MinGen / MinGB / NonMinGB / Retired enum (in-source comment flags the statuses as "not a final choice"). Public surface is currently constructor + read-only accessors (getPolynomialList, vectorArithmetic, getGBStatusList); the in-file comment lists the planned API ("wipe out a poly from basis", "add poly... adjust other elements", "test divisibility both ways") that hasn't been written yet.
Modern counterpart of the legacy f4/-era gb_array: the monomial side is keyed through MonomialHashTable indices rather than packed-monomial pointers. The Gröbner-basis reporters in GBF4Interface.hpp (get_gb, get_mingens, get_change) override the legacy GBComputation virtuals but currently return nullptr — once the refactor lands they will read off GBPolyStatus from this class to filter the appropriate subset.
Definition in file Basis.hpp.