54 ERROR(
"BIBasis::CheckMatrix(): no input matrix.");
61 ERROR(
"BIBasis::CheckMatrix(): failed to get input matrix ring.");
67 ERROR(
"BIBasis::CheckMatrix(): input matrix ring is not ZZ/2.");
74 ERROR(
"BIBasis::CheckMatrix(): failed to cast matrix ring to polynomial ring.");
81 ERROR(
"BIBasis::CheckMatrix(): failed to get coefficient ring.");
87 ERROR(
"BIBasis::CheckMatrix(): coefficient ring is not ZZ/2.");
94 ERROR(
"BIBasis::CheckMatrix(): failed to get monoid.");
99 if (!monomialOrdering)
101 ERROR(
"BIBasis::CheckMatrix(): failed to get monomial ordering.");
105 if (!monomialOrdering->
array[0])
107 ERROR(
"BIBasis::CheckMatrix(): monomial ordering is unknown.");
111 switch(monomialOrdering->
array[0]->type)
123 ERROR(
"BIBasis::CheckMatrix(): monomial ordering is unsupported: %d.", monomialOrdering->
array[0]->type);
const Matrix * ToMatrix() const
bool CheckMatrix(const Matrix *matrix) const
const Matrix * GetBIBasisMatrix(const Matrix *matrix, int toGroebner) const
void SetMonomialOrder(Monom::Order order)
void SetNumberOfVariables(Monom::Integer numberOfVariables)
const Ring * get_ring() const
const MonomialOrdering * getMonomialOrdering() const
Engine-side commutative monomial monoid: variable names, ordering, multidegree machinery,...
const Ring * getCoefficientRing() const
virtual const Monoid * getMonoid() const
Abstract base for the engine's polynomial-ring hierarchy.
virtual const PolynomialRing * cast_to_PolynomialRing() const
long characteristic() const
virtual bool isFinitePrimeField() const
BIBasis::BooleanInvolutiveBasis<MonomType> — Janet-involutive Gröbner driver for F_2[x]/(x_i^2-x_i).
BIBasis::Launcher — monomial-order dispatcher between the engine boundary and BooleanInvolutiveBasis.
Matrix — the engine's immutable homomorphism F -> G between free modules.
BIBasis::Monom — abstract squarefree-monomial base for the three Janet orderings.
BIBasis::MonomDL — degree-lex specialisation of the BIBasis monomial type.
BIBasis::MonomDRL — degree-reverse-lex specialisation of the BIBasis monomial type.
BIBasis::MonomLex — pure lexicographic specialisation of the BIBasis monomial type.
SettingsManager & GetSettingsManager()
BIBasis::SettingsManager — singleton holding the per-run monomial order and variable count.
Front-end-side description of a monomial ordering as a list of mon_part blocks.