diff --git a/src/Solver.cpp b/src/Solver.cpp index 5f05d14..96aef1a 100644 --- a/src/Solver.cpp +++ b/src/Solver.cpp @@ -36,7 +36,18 @@ VectAffine Solver::TriangularSystem() const { Vect noyau = solver.Kernel(); Matrix origin = mat.SubMatrix(0, mat.GetColumnCount() - 1, mat.GetRawCount(), 1); - return {noyau, origin}; + // on rajoute des 0 si il faut + + Matrix fullOrigin {mat.GetColumnCount() - 1, 1}; + for (int i = 0; i < mat.GetRawCount(); i++) { + fullOrigin.at(i, 0) = origin.at(i, 0); + } + + for (int i = mat.GetRawCount(); i < mat.GetColumnCount() - 1; i++) { + fullOrigin.at(i, 0) = 0; + } + + return {noyau, fullOrigin}; } std::size_t Solver::Rank() const {