Macaulay2 Engine
Loading...
Searching...
No Matches
Basis.hpp File Reference

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)

Detailed Description

newf4::Basis — evolving Gröbner basis container with GBPolyStatus per element.

Note
AI-generated documentation. Verify against the source before relying on it.

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.

See also
MonomialHashTable.hpp
PolynomialList.hpp
GBF4Computation.hpp
MacaulayMatrix.hpp

Definition in file Basis.hpp.