This repository has been archived on 2025-02-26. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Pivot/include/Solver.h
2024-03-06 21:24:15 +01:00

44 lines
1.2 KiB
C++

#pragma once
/**
* \file Solver.h
* \brief Contient la définition du solutionneur
*/
#include "Vect.h"
/**
* \class Solver
* \brief Permet d'obtenir différentes propriétés d'une matrice comme l'image ou le noyau
*/
class Solver {
public:
/**
* \brief Calcule l'image d'une matrice
* \param a_Matrix La matrice à traiter
* \return L'espace vectoriel correspondant
*/
Vect Image(const Matrix& a_Matrix) const;
/**
* \brief Calcule le noyau d'une matrice
* \param a_Matrix La matrice à traiter
* \return L'espace vectoriel correspondant
*/
Vect Kernel(const Matrix& a_Matrix) const;
/**
* \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 RectangularSystem(const Matrix& a_MatrixA, const Matrix& a_VectorB) const;
/**
* \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 Matrix& a_Matrix) const;
};