Auxiliary class to hold the results of a Cholesky factorization of a sparse matrix.
Usage example:
CSparseMatrix SM(100,100); SM.insert_entry(i,j, val); ... SM.compressFromTriplet(); // Do Cholesky decomposition: CSparseMatrix::CholeskyDecomp CD(SM); CD.get_inverse(); ...
Definition at line 337 of file CSparseMatrix.h.
#include <mrpt/math/CSparseMatrix.h>

Public Member Functions | |
| CholeskyDecomp (const CSparseMatrix &A) | |
| Constructor from a square definite-positive sparse matrix A, which can be use to solve Ax=b The actual Cholesky decomposition takes places in this constructor. | |
| virtual | ~CholeskyDecomp () |
| Destructor. | |
| CMatrixDouble | get_L () const |
| Return the L matrix (L*L' = M), as a dense matrix. | |
| void | get_L (CMatrixDouble &out_L) const |
| Return the L matrix (L*L' = M), as a dense matrix. | |
| mrpt::vector_double | backsub (const mrpt::vector_double &b) const |
| Return the vector from a back-substitution step that solves: Ux=b. | |
| void | backsub (const mrpt::vector_double &b, mrpt::vector_double &result_x) const |
| Return the vector from a back-substitution step that solves: Ux=b. | |
| void | update (const CSparseMatrix &new_SM) |
| Update the Cholesky factorization from an updated vesion of the original input, square definite-positive sparse matrix. | |
Private Attributes | |
| css * | m_symbolic_structure |
| csn * | m_numeric_structure |
| const CSparseMatrix * | m_originalSM |
| A const reference to the original matrix used to build this decomposition. | |
| mrpt::math::CSparseMatrix::CholeskyDecomp::CholeskyDecomp | ( | const CSparseMatrix & | A ) |
Constructor from a square definite-positive sparse matrix A, which can be use to solve Ax=b The actual Cholesky decomposition takes places in this constructor.
| std::runtime_error | On non-square input matrix. |
| mrpt::math::CExceptionNotDefPos | On non-definite-positive matrix as input. |
| virtual mrpt::math::CSparseMatrix::CholeskyDecomp::~CholeskyDecomp | ( | ) | [virtual] |
Destructor.
| mrpt::vector_double mrpt::math::CSparseMatrix::CholeskyDecomp::backsub | ( | const mrpt::vector_double & | b ) | const [inline] |
Return the vector from a back-substitution step that solves: Ux=b.
Definition at line 362 of file CSparseMatrix.h.
References backsub().
Referenced by backsub().
| void mrpt::math::CSparseMatrix::CholeskyDecomp::backsub | ( | const mrpt::vector_double & | b, |
| mrpt::vector_double & | result_x | ||
| ) | const |
Return the vector from a back-substitution step that solves: Ux=b.
| void mrpt::math::CSparseMatrix::CholeskyDecomp::get_L | ( | CMatrixDouble & | out_L ) | const |
Return the L matrix (L*L' = M), as a dense matrix.
| CMatrixDouble mrpt::math::CSparseMatrix::CholeskyDecomp::get_L | ( | ) | const [inline] |
Return the L matrix (L*L' = M), as a dense matrix.
Definition at line 356 of file CSparseMatrix.h.
References get_L().
Referenced by get_L().
| void mrpt::math::CSparseMatrix::CholeskyDecomp::update | ( | const CSparseMatrix & | new_SM ) |
Update the Cholesky factorization from an updated vesion of the original input, square definite-positive sparse matrix.
NOTE: This new matrix MUST HAVE exactly the same sparse structure than the original one.
Definition at line 341 of file CSparseMatrix.h.
const CSparseMatrix* mrpt::math::CSparseMatrix::CholeskyDecomp::m_originalSM [private] |
A const reference to the original matrix used to build this decomposition.
Definition at line 342 of file CSparseMatrix.h.
Definition at line 340 of file CSparseMatrix.h.
| Page generated by Doxygen 1.7.2 for MRPT 0.9.4 SVN: at Mon Jan 10 22:30:30 UTC 2011 |