solver rework + refactor
This commit is contained in:
@@ -12,40 +12,33 @@
|
||||
* \brief Permet d'obtenir différentes propriétés d'une matrice comme l'image ou le noyau
|
||||
*/
|
||||
class Solver {
|
||||
private:
|
||||
Matrix m_Matrix;
|
||||
|
||||
public:
|
||||
/**
|
||||
* \brief Initialise le resolveur
|
||||
* \param mat La matrice d'entrée
|
||||
*/
|
||||
Solver(const Matrix& mat);
|
||||
|
||||
~Solver() {}
|
||||
|
||||
/**
|
||||
* \brief Calcule l'image de la matrice d'entrée
|
||||
* \brief Calcule l'image d'une matrice
|
||||
* \param a_Matrix La matrice à traiter
|
||||
* \return L'espace vectoriel correspondant
|
||||
*/
|
||||
Vect Image() const;
|
||||
Vect Image(const Matrix& a_Matrix) const;
|
||||
|
||||
/**
|
||||
* \brief Calcule le noyau de la matrice d'entrée
|
||||
* \brief Calcule le noyau d'une matrice
|
||||
* \param a_Matrix La matrice à traiter
|
||||
* \return L'espace vectoriel correspondant
|
||||
*/
|
||||
Vect Kernel() const;
|
||||
Vect Kernel(const Matrix& a_Matrix) const;
|
||||
|
||||
/**
|
||||
* \brief Résout le système triangulaire de la forme AX=B, avec X et B, des vecteurs colonne.
|
||||
* La matrice d'entrée est considéré comme étant la matrice augmenté [A|B]
|
||||
* \brief Résout le système rectangulaire de la forme AX=B, avec X et B, des vecteurs colonne.
|
||||
* \param a_MatrixA La matrice jouant le rôle de A
|
||||
* \param a_VectorB La matrice colonne jouant le rôle de B
|
||||
* \return L'espace affine associé
|
||||
*/
|
||||
VectAffine TriangularSystem() const;
|
||||
VectAffine RectangularSystem(const Matrix& a_MatrixA, const Matrix& a_VectorB) const;
|
||||
|
||||
/**
|
||||
* \brief Calcule le rang de la matrice
|
||||
* \note Ceci équivaut à \code Image().GetCardinal() \endcode
|
||||
* \brief Calcule le rang d'une matrice
|
||||
* \param a_Matrix La matrice à traiter
|
||||
* \note Ceci équivaut à \code Image(a_Matrix).GetCardinal() \endcode
|
||||
*/
|
||||
std::size_t Rank() const;
|
||||
std::size_t Rank(const Matrix& a_Matrix) const;
|
||||
};
|
||||
Reference in New Issue
Block a user