46#include "../e/comp-gb.hpp"
52 const std::vector<int>& variableWeights,
64 const std::vector<int>& variableWeights,
87 const std::vector<int>& variableWeights,
95 const std::vector<int>& variableWeights,
138 const Matrix **result_remainder,
139 const Matrix **result_quotient)
override
142 (void) result_remainder;
143 (void) result_quotient;
std::vector< BasicPoly > BasicPolyList
Ring-agnostic polynomial-list transport type plus its streaming collector and emitter.
newf4::GBF4Computation — top-level driver for the refactored F4 Gröbner-basis engine.
auto createGBF4Interface(const Matrix *inputMatrix, const std::vector< int > &variableWeights, int strategy, int numThreads) -> GBComputation *
Hash-table-keyed polynomial storage for the new F4.
Engine-side free module R^n over a Ring.
base class for Groebner basis computations.
const Matrix * value() const
Streaming consumer that builds an engine Matrix from the mathicgb-style stream callbacks (idealBegin ...
Abstract base for the engine's polynomial-ring hierarchy.
Front-end-visible "ring element" value: an engine ring_elem paired with the Ring* that gives it meani...
~GBF4Interface() override
GBF4Interface(const PolynomialRing *originalRing, const Matrix *inputMatrix, const std::vector< int > &variableWeights, Strategy strategy, int numThreads)
Computation * set_hilbert_function(const RingElement *h) override
void show() const override
int complete_thru_degree() const override
M2_bool matrix_lift(const Matrix *m, const Matrix **result_remainder, const Matrix **result_quotient) override
const Matrix * get_mingens() override
void remove_gb() override
const PolynomialRing * get_ring() const override
const Matrix * get_syzygies() override
void text_out(buffer &o) const override
std::unique_ptr< VectorArithmetic > mVectorArithmetic
std::unique_ptr< GBF4Computation > mComputation
enum ComputationStatusCode computation_is_complete()
const Matrix * get_gb() override
const Matrix * get_change() override
const GBF4Computation & computation() const
void start_computation() override
const Matrix * matrix_remainder(const Matrix *m) override
int contains(const Matrix *m) override
const FreeModule * mFreeModule
const Matrix * get_initial(int nparts) override
bool stop_conditions_ok() override
const PolynomialRing * mOriginalRing
MatrixStream — term-by-term streaming construction of a Matrix.
void toStream(const PolynomialList &Fs, S &str)
const Matrix * toMatrix(const FreeModule *target, const PolynomialList &Fs)
auto createGBF4Interface(const Matrix *inputMatrix, const std::vector< int > &variableWeights, Strategy strategy, int numThreads) -> GBComputation *
void populateComputation(const Matrix *M, GBF4Computation &C)