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 Member Functions

void compute (const MatrixType &matrix)
int flags () const
const CholMatrixTypematrixL (void) const
RealScalar precision () const
void setFlags (int f)
void setPrecision (RealScalar v)
template<typename Derived >
bool solveInPlace (MatrixBase< Derived > &b) const
 SparseLLT (const MatrixType &matrix, int flags=0)
 SparseLLT (int flags=0)
bool succeeded (void) const

Protected Types

enum  { SupernodalFactorIsDirty = 0x10000, MatrixLIsDirty = 0x20000 }
typedef SparseMatrix< Scalar,
LowerTriangular
CholMatrixType
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, int Backend = DefaultBackend>
class SparseLLT< MatrixType, Backend >

LLT Cholesky decomposition of a sparse matrix and associated features.

Parameters:
MatrixType the 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, int Backend = DefaultBackend>
typedef SparseMatrix<Scalar,LowerTriangular> SparseLLT< MatrixType, Backend >::CholMatrixType [protected]

Definition at line 44 of file SparseLLT.h.

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

Reimplemented in SparseLLT< MatrixType, Cholmod >, and SparseLLT< MatrixType, Taucs >.

Definition at line 43 of file SparseLLT.h.

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

Reimplemented in SparseLLT< MatrixType, Cholmod >, and SparseLLT< MatrixType, Taucs >.

Definition at line 42 of file SparseLLT.h.


Member Enumeration Documentation

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

Definition at line 46 of file SparseLLT.h.


Constructor & Destructor Documentation

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

Creates a dummy LLT factorization object with flags flags.

Reimplemented in SparseLLT< MatrixType, Cholmod >, and SparseLLT< MatrixType, Taucs >.

Definition at line 54 of file SparseLLT.h.

template<typename MatrixType, int 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 >, and SparseLLT< MatrixType, Taucs >.

Definition at line 62 of file SparseLLT.h.


Member Function Documentation

template<typename MatrixType, int Backend>
void SparseLLT< MatrixType, Backend >::compute ( const MatrixType &  a  )  [inline]

Computes/re-computes the LLT factorization

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

Reimplemented in SparseLLT< MatrixType, Cholmod >, and SparseLLT< MatrixType, Taucs >.

Definition at line 127 of file SparseLLT.h.

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

Definition at line 101 of file SparseLLT.h.

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

Reimplemented in SparseLLT< MatrixType, Cholmod >, and SparseLLT< MatrixType, Taucs >.

Definition at line 107 of file SparseLLT.h.

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

Definition at line 87 of file SparseLLT.h.

template<typename MatrixType, int 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 99 of file SparseLLT.h.

template<typename MatrixType, int 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 82 of file SparseLLT.h.

template<typename MatrixType , int Backend>
template<typename Derived >
bool SparseLLT< MatrixType, Backend >::solveInPlace ( MatrixBase< Derived > &  b  )  const [inline]

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

Reimplemented in SparseLLT< MatrixType, Cholmod >, and SparseLLT< MatrixType, Taucs >.

Definition at line 187 of file SparseLLT.h.

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

Definition at line 113 of file SparseLLT.h.


Member Data Documentation

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

Definition at line 118 of file SparseLLT.h.

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

Definition at line 116 of file SparseLLT.h.

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

Definition at line 117 of file SparseLLT.h.

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

Definition at line 119 of file SparseLLT.h.

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

Definition at line 120 of file SparseLLT.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


vcglib
Author(s): Christian Bersch
autogenerated on Fri Jan 11 09:22:24 2013