#include <linearsolverbase.h>
Public Member Functions | |
int | dimSolutions () |
const VectorType & | genericSolution (const T *parameter) |
const VectorType & | someSolution () |
bool | thereExistSolutions () |
~LinearSolverBase () | |
Protected Member Functions | |
void | init (const MatrixType &leftHandSide, const VectorType &rightHandSide) |
Protected Attributes | |
MatrixType | m_basisKer |
bool | m_computedBasisKer |
VectorType | m_genericSolution |
LUDecompositionType | m_luDecomposition |
VectorType | m_rightHandSide |
VectorType | m_someSolution |
bool | m_thereExistSolutions |
This class template is only internally used in Eigen.
~LinearSolverBase | ( | ) | [inline] |
int dimSolutions | ( | ) | [inline] |
Assuming that there exist solutions (which can be checked with thereExistSolutions()), this function returns the dimension of the space of solutions. Thus, 0 means that there exists exactly one solution, and a positive value means that there exist infinitely many solutions, forming a space of the given dimension.
const VectorType & genericSolution | ( | const T * | parameter | ) | [inline] |
In short, this method returns a reference to a solution vector (kept alive by this class) of the system, corresponding to a given parameter. The parameter must be an array of size equal to dimSolutions(). Any such parameter array will give a solution, and each solution corresponds to a unique parameter. Thus this function gives a complete description of the space of solutions.
parameter | An array with size equal to dimSolutions(). |
void init | ( | const MatrixType & | leftHandSide, | |
const VectorType & | rightHandSide | |||
) | [inline, protected] |
helper for the constructors
const VectorType& someSolution | ( | ) | [inline] |
Returns a reference to a vector (kept alive by this class) that is a solution of the system of equations, if any solution exists. If there exist no solutions, the return value is undefined.
bool thereExistSolutions | ( | ) | [inline] |
This function returns true if there exists at least one solution. It returns false if there are no solutions.
MatrixType m_basisKer [protected] |
A matrix whose column vectors form a basis of the kernel of the left hand side.
bool m_computedBasisKer [protected] |
Equals true if m_basisKer has already been computed
VectorType m_genericSolution [protected] |
Stores the vector that was last returned by genericSolution().
LUDecompositionType m_luDecomposition [protected] |
Stores the LU decomposition that is used for computations.
VectorType m_rightHandSide [protected] |
The right hand side vector.
VectorType m_someSolution [protected] |
Stores some solution of the system, or 0 if there are no solutions. Used as a base point of the space of solutions. Returned by someSolution().
bool m_thereExistSolutions [protected] |
Equals true if at least one solution exists