Logo Search packages:      
Sourcecode: eigen3 version File versions  Download package

Public Types | Public Member Functions | Protected Attributes

LDLT< _MatrixType, _UpLo > Class Template Reference

Robust Cholesky decomposition of a matrix with pivoting. More...

#include <LDLT.h>

Collaboration diagram for LDLT< _MatrixType, _UpLo >:
Collaboration graph
[legend]

List of all members.

Public Types

enum  {
  RowsAtCompileTime = MatrixType::RowsAtCompileTime, ColsAtCompileTime = MatrixType::ColsAtCompileTime, Options = MatrixType::Options & ~RowMajorBit, MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
  MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime, UpLo = _UpLo
}
typedef MatrixType::Index Index
typedef _MatrixType MatrixType
typedef PermutationMatrix
< RowsAtCompileTime,
MaxRowsAtCompileTime > 
PermutationType
typedef NumTraits< typename
MatrixType::Scalar >::Real 
RealScalar
typedef MatrixType::Scalar Scalar
typedef Matrix< Scalar,
RowsAtCompileTime, 1, Options,
MaxRowsAtCompileTime, 1 > 
TmpMatrixType
typedef internal::LDLT_Traits
< MatrixType, UpLo > 
Traits
typedef Transpositions
< RowsAtCompileTime,
MaxRowsAtCompileTime > 
TranspositionType

Public Member Functions

Index cols () const
LDLTcompute (const MatrixType &matrix)
bool isNegative (void) const
bool isPositive (void) const
 LDLT ()
 Default Constructor.
 LDLT (Index size)
 Default Constructor with memory preallocation.
 LDLT (const MatrixType &matrix)
Traits::MatrixL matrixL () const
const MatrixType & matrixLDLT () const
Traits::MatrixU matrixU () const
MatrixType reconstructedMatrix () const
Index rows () const
template<typename Rhs >
const internal::solve_retval
< LDLT, Rhs > 
solve (const MatrixBase< Rhs > &b) const
template<typename Derived >
bool solveInPlace (MatrixBase< Derived > &bAndX) const
const TranspositionTypetranspositionsP () const
Diagonal< const MatrixType > vectorD (void) const

Protected Attributes

bool m_isInitialized
MatrixType m_matrix
int m_sign
TmpMatrixType m_temporary
TranspositionType m_transpositions

Detailed Description

template<typename _MatrixType, int _UpLo>
class LDLT< _MatrixType, _UpLo >

Robust Cholesky decomposition of a matrix with pivoting.

Parameters:
MatrixTypethe type of the matrix of which to compute the LDL^T Cholesky decomposition

Perform a robust Cholesky decomposition of a positive semidefinite or negative semidefinite matrix $ A $ such that $ A = P^TLDL^*P $, where P is a permutation matrix, L is lower triangular with a unit diagonal and D is a diagonal matrix.

The decomposition uses pivoting to ensure stability, so that L will have zeros in the bottom right rank(A) - n submatrix. Avoiding the square root on D also stabilizes the computation.

Remember that Cholesky decompositions are not rank-revealing. Also, do not use a Cholesky decomposition to determine whether a system of equations has a solution.

See also:
MatrixBase::ldlt(), class LLT

Definition at line 59 of file LDLT.h.


The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index