Public Types | Public Member Functions | Protected Types | Protected Attributes
SparseLLT< _MatrixType, Backend > Class Template Reference

LLT Cholesky decomposition of a sparse matrix and associated features. More...

#include <SparseLLT.h>

List of all members.

Public Types

typedef SparseMatrix< ScalarCholMatrixType
typedef MatrixType::Index Index
typedef _MatrixType MatrixType

Public Member Functions

Index cols () const
void compute (const MatrixType &matrix)
int flags () const
const CholMatrixTypematrixL (void) const
RealScalar precision () const
Index rows () const
void setFlags (int f)
void setPrecision (RealScalar v)
template<typename Rhs >
const internal::solve_retval
< SparseLLT< MatrixType >, Rhs > 
solve (const MatrixBase< Rhs > &b) const
template<typename Derived >
bool solveInPlace (MatrixBase< Derived > &b) const
 SparseLLT (int flags=0)
 SparseLLT (const MatrixType &matrix, int flags=0)
bool succeeded (void) const

Protected Types

enum  { SupernodalFactorIsDirty = 0x10000, MatrixLIsDirty = 0x20000 }
typedef NumTraits< typename
_MatrixType::Scalar >::Real 
RealScalar
typedef _MatrixType::Scalar Scalar

Protected Attributes

int m_flags
CholMatrixType m_matrix
RealScalar m_precision
int m_status
bool m_succeeded

Detailed Description

template<typename _MatrixType, typename Backend = DefaultBackend>
class SparseLLT< _MatrixType, Backend >

LLT Cholesky decomposition of a sparse matrix and associated features.

Parameters:
MatrixTypethe type of the matrix of which we are computing the LLT Cholesky decomposition
See also:
class LLT, class LDLT

Definition at line 39 of file SparseLLT.h.


Member Typedef Documentation

template<typename _MatrixType, typename Backend = DefaultBackend>
typedef SparseMatrix<Scalar> SparseLLT< _MatrixType, Backend >::CholMatrixType

Reimplemented in SparseLLT< _MatrixType, Cholmod >.

Definition at line 51 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
typedef MatrixType::Index SparseLLT< _MatrixType, Backend >::Index

Reimplemented in SparseLLT< _MatrixType, Cholmod >.

Definition at line 53 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
typedef _MatrixType SparseLLT< _MatrixType, Backend >::MatrixType

Reimplemented in SparseLLT< _MatrixType, Cholmod >.

Definition at line 52 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
typedef NumTraits<typename _MatrixType::Scalar>::Real SparseLLT< _MatrixType, Backend >::RealScalar [protected]

Reimplemented in SparseLLT< _MatrixType, Cholmod >.

Definition at line 43 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
typedef _MatrixType::Scalar SparseLLT< _MatrixType, Backend >::Scalar [protected]

Reimplemented in SparseLLT< _MatrixType, Cholmod >.

Definition at line 42 of file SparseLLT.h.


Member Enumeration Documentation

template<typename _MatrixType, typename Backend = DefaultBackend>
anonymous enum [protected]
Enumerator:
SupernodalFactorIsDirty 
MatrixLIsDirty 

Definition at line 45 of file SparseLLT.h.


Constructor & Destructor Documentation

template<typename _MatrixType, typename Backend = DefaultBackend>
SparseLLT< _MatrixType, Backend >::SparseLLT ( int  flags = 0) [inline]

Creates a dummy LLT factorization object with flags flags.

Reimplemented in SparseLLT< _MatrixType, Cholmod >.

Definition at line 56 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
SparseLLT< _MatrixType, Backend >::SparseLLT ( const MatrixType matrix,
int  flags = 0 
) [inline]

Creates a LLT object and compute the respective factorization of matrix using flags flags.

Reimplemented in SparseLLT< _MatrixType, Cholmod >.

Definition at line 64 of file SparseLLT.h.


Member Function Documentation

template<typename _MatrixType, typename Backend = DefaultBackend>
Index SparseLLT< _MatrixType, Backend >::cols ( void  ) const [inline]

Reimplemented in SparseLLT< _MatrixType, Cholmod >.

Definition at line 122 of file SparseLLT.h.

template<typename _MatrixType , typename Backend >
void SparseLLT< _MatrixType, Backend >::compute ( const MatrixType matrix)

Computes/re-computes the LLT factorization

Computes / recomputes the LLT decomposition of matrix a using the default algorithm.

Reimplemented in SparseLLT< _MatrixType, Cholmod >.

Definition at line 170 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
int SparseLLT< _MatrixType, Backend >::flags ( ) const [inline]
Returns:
the current flags

Definition at line 103 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
const CholMatrixType& SparseLLT< _MatrixType, Backend >::matrixL ( void  ) const [inline]
Returns:
the lower triangular matrix L

Reimplemented in SparseLLT< _MatrixType, Cholmod >.

Definition at line 109 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
RealScalar SparseLLT< _MatrixType, Backend >::precision ( ) const [inline]
Returns:
the current precision.
See also:
setPrecision()

Definition at line 89 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
Index SparseLLT< _MatrixType, Backend >::rows ( void  ) const [inline]

Reimplemented in SparseLLT< _MatrixType, Cholmod >.

Definition at line 123 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
void SparseLLT< _MatrixType, Backend >::setFlags ( int  f) [inline]

Sets the flags. Possible values are:

  • CompleteFactorization
  • IncompleteFactorization
  • MemoryEfficient (hint to use the memory most efficient method offered by the backend)
  • SupernodalMultifrontal (implies a complete factorization if supported by the backend, overloads the MemoryEfficient flags)
  • SupernodalLeftLooking (implies a complete factorization if supported by the backend, overloads the MemoryEfficient flags)
See also:
flags()

Definition at line 101 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
void SparseLLT< _MatrixType, Backend >::setPrecision ( RealScalar  v) [inline]

Sets the relative threshold value used to prune zero coefficients during the decomposition.

Setting a value greater than zero speeds up computation, and yields to an imcomplete factorization with fewer non zero coefficients. Such approximate factors are especially useful to initialize an iterative solver.

Warning:
if precision is greater that zero, the LLT factorization is not guaranteed to succeed even if the matrix is positive definite.

Note that the exact meaning of this parameter might depends on the actual backend. Moreover, not all backends support this feature.

See also:
precision()

Definition at line 84 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
template<typename Rhs >
const internal::solve_retval<SparseLLT<MatrixType>, Rhs> SparseLLT< _MatrixType, Backend >::solve ( const MatrixBase< Rhs > &  b) const [inline]

Reimplemented in SparseLLT< _MatrixType, Cholmod >.

Definition at line 116 of file SparseLLT.h.

template<typename _MatrixType , typename Backend >
template<typename Derived >
bool SparseLLT< _MatrixType, Backend >::solveInPlace ( MatrixBase< Derived > &  b) const

Computes b = L^-T L^-1 b

Reimplemented in SparseLLT< _MatrixType, Cholmod >.

Definition at line 234 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
bool SparseLLT< _MatrixType, Backend >::succeeded ( void  ) const [inline]
Returns:
true if the factorization succeeded

Reimplemented in SparseLLT< _MatrixType, Cholmod >.

Definition at line 126 of file SparseLLT.h.


Member Data Documentation

template<typename _MatrixType, typename Backend = DefaultBackend>
int SparseLLT< _MatrixType, Backend >::m_flags [protected]

Definition at line 131 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
CholMatrixType SparseLLT< _MatrixType, Backend >::m_matrix [protected]

Definition at line 129 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
RealScalar SparseLLT< _MatrixType, Backend >::m_precision [protected]

Definition at line 130 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
int SparseLLT< _MatrixType, Backend >::m_status [mutable, protected]

Definition at line 132 of file SparseLLT.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
bool SparseLLT< _MatrixType, Backend >::m_succeeded [protected]

Definition at line 133 of file SparseLLT.h.


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


re_vision
Author(s): Dorian Galvez-Lopez
autogenerated on Sun Jan 5 2014 11:34:25