|
| LLT () |
| Default Constructor. More...
|
|
| LLT (Index size) |
| Default Constructor with memory preallocation. More...
|
|
template<typename InputType > |
| LLT (const EigenBase< InputType > &matrix) |
|
template<typename InputType > |
| LLT (EigenBase< InputType > &matrix) |
| Constructs a LDLT factorization from a given matrix. More...
|
|
Traits::MatrixU | matrixU () const |
|
Traits::MatrixL | matrixL () const |
|
template<typename Rhs > |
const Solve< LLT, Rhs > | solve (const MatrixBase< Rhs > &b) const |
|
template<typename Derived > |
void | solveInPlace (MatrixBase< Derived > &bAndX) const |
|
template<typename InputType > |
LLT & | compute (const EigenBase< InputType > &matrix) |
|
RealScalar | rcond () const |
|
const MatrixType & | matrixLLT () const |
|
MatrixType | reconstructedMatrix () const |
|
ComputationInfo | info () const |
| Reports whether previous computation was successful. More...
|
|
const LLT & | adjoint () const |
|
Index | rows () const |
|
Index | cols () const |
|
template<typename VectorType > |
LLT | rankUpdate (const VectorType &vec, const RealScalar &sigma=1) |
|
template<typename RhsType , typename DstType > |
EIGEN_DEVICE_FUNC void | _solve_impl (const RhsType &rhs, DstType &dst) const |
|
template<typename InputType > |
LLT< MatrixType, _UpLo > & | compute (const EigenBase< InputType > &a) |
| Computes / recomputes the Cholesky decomposition A = LL^* = U^*U of matrix. More...
|
|
template<typename VectorType > |
LLT< _MatrixType, _UpLo > | rankUpdate (const VectorType &v, const RealScalar &sigma) |
| Performs a rank one update (or dowdate) of the current decomposition. More...
|
|
template<typename RhsType , typename DstType > |
void | _solve_impl (const RhsType &rhs, DstType &dst) const |
|
template<typename _MatrixType, int _UpLo>
class Eigen::LLT< _MatrixType, _UpLo >
Standard Cholesky decomposition (LL^T) of a matrix and associated features.
- Template Parameters
-
_MatrixType | the type of the matrix of which we are computing the LL^T Cholesky decomposition |
_UpLo | the triangular part that will be used for the decompositon: Lower (default) or Upper. The other triangular part won't be read. |
This class performs a LL^T Cholesky decomposition of a symmetric, positive definite matrix A such that A = LL^* = U^*U, where L is lower triangular.
While the Cholesky decomposition is particularly useful to solve selfadjoint problems like D^*D x = b, for that purpose, we recommend the Cholesky decomposition without square root which is more stable and even faster. Nevertheless, this standard Cholesky decomposition remains useful in many other situations like generalised eigen problems with hermitian matrices.
Remember that Cholesky decompositions are not rank-revealing. This LLT decomposition is only stable on positive definite matrices, use LDLT instead for the semidefinite case. Also, do not use a Cholesky decomposition to determine whether a system of equations has a solution.
Example:
Output:
This class supports the inplace decomposition mechanism.
- See also
- MatrixBase::llt(), SelfAdjointView::llt(), class LDLT
template<typename _MatrixType, int _UpLo>
template<typename VectorType >
LLT<_MatrixType,_UpLo> Eigen::LLT< _MatrixType, _UpLo >::rankUpdate |
( |
const VectorType & |
v, |
|
|
const RealScalar & |
sigma |
|
) |
| |
Performs a rank one update (or dowdate) of the current decomposition.
If A = LL^* before the rank one update, then after it we have LL^* = A + sigma * v v^* where v must be a vector of same dimension.