This commit is contained in:
@@ -3,9 +3,7 @@
|
||||
#include "Gauss.h"
|
||||
|
||||
Vect Solver::Image(Matrix&& a_Matrix) const {
|
||||
a_Matrix.Transpose();
|
||||
Gauss::GaussJordan(a_Matrix, true, true);
|
||||
a_Matrix.Transpose();
|
||||
Gauss::GaussJordanColumn(a_Matrix, true, true);
|
||||
return {a_Matrix};
|
||||
}
|
||||
|
||||
@@ -14,16 +12,14 @@ Vect Solver::Kernel(Matrix&& a_Matrix) const {
|
||||
std::size_t matrixRawCount = a_Matrix.GetRawCount();
|
||||
std::size_t matrixColumnCount = a_Matrix.GetColumnCount();
|
||||
|
||||
a_Matrix.Transpose();
|
||||
a_Matrix.Augment(Matrix::Identity(a_Matrix.GetRawCount()));
|
||||
Gauss::GaussJordan(a_Matrix, true, true);
|
||||
a_Matrix.Transpose();
|
||||
a_Matrix.AugmentBottom(Matrix::Identity(a_Matrix.GetColumnCount()));
|
||||
Gauss::GaussJordanColumn(a_Matrix, true, true);
|
||||
|
||||
// nombre de colonnes non nulles
|
||||
std::size_t origine_colonne = Vect(a_Matrix.SubMatrix(0, 0, matrixRawCount, matrixColumnCount)).GetCardinal();
|
||||
|
||||
return {a_Matrix.SubMatrix(matrixRawCount, origine_colonne, a_Matrix.GetRawCount() - matrixRawCount,
|
||||
a_Matrix.GetColumnCount() - origine_colonne)};
|
||||
return {a_Matrix.SubMatrix(
|
||||
matrixRawCount, origine_colonne, a_Matrix.GetRawCount() - matrixRawCount, a_Matrix.GetColumnCount() - origine_colonne)};
|
||||
}
|
||||
|
||||
VectAffine Solver::RectangularSystem(Matrix&& a_MatrixA, const Matrix& a_VectorB) const {
|
||||
|
||||
Reference in New Issue
Block a user