1099{
1101
1103 {
1104
1105 buffer b;
1108 Monom m(monomInserter.data());
1110 o << b.
str() <<
"(" << i.second.first <<
", " << i.second.second <<
") ";
1111 if (i.second.second != -1 and
1112 (
mRows[i.second.second].columnIndices.begin() ==
nullptr or
1113 mRows[i.second.second].columnIndices[0] != i.second.first))
1114 {
1115 std::cout <<
"Oops (" <<
mRows[i.second.second].columnIndices.begin()
1116 <<
"," <<
mRows[i.second.second].columnIndices[0] <<
","
1117 << i.second.first << ")";
1118 }
1119 }
1120 o << std::endl;
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1132 for (
auto count = 0; count <
mRows.size(); ++count)
1133 {
1134
1135
1136
1137
1138
1139 if (
mRows[count].columnIndices.begin() ==
nullptr)
1140 {
1141 o << "Row " << count
1142 << " is empty. This may indicate an error depending on the current state."
1143 << std::endl;
1144 continue;
1145 }
1146 o <<
"Row " << count <<
";" <<
mRows[count].columnIndices.size() <<
": ";
1148 {
1149 o << "***ERROR*** expected coefficient array and components array to have the same length" << std::endl;
1150 exit(1);
1151 }
1153 {
1154 buffer b;
1156 o <<
"[" <<
mRows[count].columnIndices[i] <<
"," << b.
str() <<
"] ";
1157 }
1158 o << std::endl;
1159 }
1160}
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
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