Definition at line 977 of file groebner.cpp.
978{
981 {
982 ERROR(
"expected matrices to be over the same ring");
983 return nullptr;
984 }
986 if (A !=
nullptr and reducerMatrix->
n_rows() == 1)
987 {
988 auto outRows = toBeReduced->
n_rows();
989 auto outCols = toBeReduced->
n_cols();
993 G.initReductionOnly();
994 auto result =
G.twoSidedReduction(reducees);
996 }
997 ERROR(
"expected a matrix over a noncommutative algebra");
998 return nullptr;
999}
const FreeAlgebra & freeAlgebra() const
Concrete Ring wrapper around an owned FreeAlgebra (no quotient).
const Ring * get_ring() const
One-overlap-at-a-time Groebner basis driver for the free associative algebra (the "Naive" companion t...
virtual const M2FreeAlgebra * cast_to_M2FreeAlgebra() const
ConstPolyList matrixToPolyList(const M2FreeAlgebraOrQuotient *A, const Matrix *input)
const Matrix * polyListToMatrix(const M2FreeAlgebraOrQuotient *A, const PolyL &elems, int numrows, int numcols)
VALGRIND_MAKE_MEM_DEFINED & result(result)
References Ring::cast_to_M2FreeAlgebra(), ERROR, M2FreeAlgebra::freeAlgebra(), G, Matrix::get_ring(), Matrix, matrixToPolyList(), Matrix::n_cols(), Matrix::n_rows(), polyListToMatrix(), and result().