1163{
1165
1167 {
1168 buffer b;
1171 Monom m(monomInserter.data());
1173 o << b.
str() <<
"(" << i.second.first <<
", " << i.second.second <<
") ";
1174
1175 }
1176 o << std::endl;
1177
1179 {
1180 o << "***ERROR*** expected mRows and mReducersTodo to have the same length!" << std::endl;
1181 exit(1);
1182 }
1184 for (
auto count = 0; count <
mRows.size(); ++count)
1185 {
1187 o << count << " ("<< pr.left << ", "
1188 << pr.preRowIndex << ", "
1189 << pr.right << ")";
1190 size_t count2 = 0;
1192 {
1194 mRows[count].columnIndices[count2] != i)
1195 {
1196 o << " 0 ";
1197 }
1198 else
1199 {
1200 buffer b;
1202 o <<
" " << b.
str() <<
" ";
1203 count2++;
1204 }
1205 }
1206 o << std::endl;
1207 }
1208}
const Ring * coefficientRing() const
const FreeMonoid & monoid() const
gc_vector< int > MonomialInserter
void monomInsertFromWord(MonomialInserter &result, const Word &w) const
void elem_text_out(buffer &o, const Monom &m1) const
MonomialHash mColumnMonomials
void displayF4MatrixSize(std::ostream &o) const
std::vector< PreRow > mReducersTodo
const VectorArithmetic * mVectorArithmetic
const FreeAlgebra & freeAlgebra() const
virtual void elem_text_out(buffer &o, const ring_elem f, bool p_one=true, bool p_plus=false, bool p_parens=false) const =0
Symbolic description of one row before it is materialised in the matrix: a left * (something) * right...