Classes | Public Types | Public Member Functions | Protected Attributes
SimplicialCholesky< _MatrixType, _UpLo > Class Template Reference

A direct sparse Cholesky factorization. More...

#include <SimplicialCholesky.h>

List of all members.

Classes

struct  keep_diag

Public Types

enum  { UpLo = _UpLo }
typedef SparseMatrix< Scalar,
ColMajor, Index
CholMatrixType
typedef MatrixType::Index Index
typedef _MatrixType MatrixType
typedef MatrixType::RealScalar RealScalar
typedef MatrixType::Scalar Scalar
typedef Matrix< Scalar,
MatrixType::ColsAtCompileTime, 1 > 
VectorType

Public Member Functions

template<typename Rhs , typename Dest >
void _solve (const MatrixBase< Rhs > &b, MatrixBase< Dest > &dest) const
void analyzePattern (const MatrixType &a)
Index cols () const
SimplicialCholeskycompute (const MatrixType &matrix)
template<typename Stream >
void dumpMemory (Stream &s)
void factorize (const MatrixType &a)
ComputationInfo info () const
 Reports whether previous computation was successful.
const PermutationMatrix
< Dynamic > & 
permutationP () const
const PermutationMatrix
< Dynamic > & 
permutationPinv () const
Index rows () const
SimplicialCholeskysetMode (SimplicialCholeskyMode mode)
 SimplicialCholesky ()
 SimplicialCholesky (const MatrixType &matrix)
template<typename Rhs >
const internal::solve_retval
< SimplicialCholesky, Rhs > 
solve (const MatrixBase< Rhs > &b) const
 ~SimplicialCholesky ()

Protected Attributes

bool m_analysisIsOk
VectorType m_diag
bool m_factorizationIsOk
ComputationInfo m_info
bool m_isInitialized
bool m_LDLt
CholMatrixType m_matrix
VectorXi m_nonZerosPerCol
PermutationMatrix< Dynamicm_P
VectorXi m_parent
PermutationMatrix< Dynamicm_Pinv

Detailed Description

template<typename _MatrixType, int _UpLo = Lower>
class SimplicialCholesky< _MatrixType, _UpLo >

A direct sparse Cholesky factorization.

This class allows to solve for A.X = B sparse linear problems via a LL^T or LDL^T Cholesky factorization. The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices X and B can be either dense or sparse.

Template Parameters:
_MatrixTypethe type of the sparse matrix A, it must be a SparseMatrix<>
_UpLothe triangular part that will be used for the computations. It can be Lower or Upper. Default is Lower.

Definition at line 83 of file SimplicialCholesky.h.


Member Typedef Documentation

template<typename _MatrixType, int _UpLo = Lower>
typedef SparseMatrix<Scalar,ColMajor,Index> SimplicialCholesky< _MatrixType, _UpLo >::CholMatrixType

Definition at line 91 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
typedef MatrixType::Index SimplicialCholesky< _MatrixType, _UpLo >::Index

Definition at line 90 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
typedef _MatrixType SimplicialCholesky< _MatrixType, _UpLo >::MatrixType

Definition at line 86 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
typedef MatrixType::RealScalar SimplicialCholesky< _MatrixType, _UpLo >::RealScalar

Definition at line 89 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
typedef MatrixType::Scalar SimplicialCholesky< _MatrixType, _UpLo >::Scalar

Definition at line 88 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
typedef Matrix<Scalar,MatrixType::ColsAtCompileTime,1> SimplicialCholesky< _MatrixType, _UpLo >::VectorType

Definition at line 92 of file SimplicialCholesky.h.


Member Enumeration Documentation

template<typename _MatrixType, int _UpLo = Lower>
anonymous enum
Enumerator:
UpLo 

Definition at line 87 of file SimplicialCholesky.h.


Constructor & Destructor Documentation

template<typename _MatrixType, int _UpLo = Lower>
SimplicialCholesky< _MatrixType, _UpLo >::SimplicialCholesky ( ) [inline]

Definition at line 96 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
SimplicialCholesky< _MatrixType, _UpLo >::SimplicialCholesky ( const MatrixType matrix) [inline]

Definition at line 100 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
SimplicialCholesky< _MatrixType, _UpLo >::~SimplicialCholesky ( ) [inline]

Definition at line 106 of file SimplicialCholesky.h.


Member Function Documentation

template<typename _MatrixType, int _UpLo = Lower>
template<typename Rhs , typename Dest >
void SimplicialCholesky< _MatrixType, _UpLo >::_solve ( const MatrixBase< Rhs > &  b,
MatrixBase< Dest > &  dest 
) const [inline]

Definition at line 207 of file SimplicialCholesky.h.

template<typename _MatrixType , int _UpLo>
void SimplicialCholesky< _MatrixType, _UpLo >::analyzePattern ( const MatrixType a)
Returns:
the solution x of $ A x = b $ using the current decomposition of A.
See also:
compute() Performs a symbolic decomposition on the sparcity of matrix.

This function is particularly useful when solving for several problems having the same structure.

See also:
factorize()

Definition at line 290 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
Index SimplicialCholesky< _MatrixType, _UpLo >::cols ( void  ) const [inline]

Definition at line 110 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
SimplicialCholesky& SimplicialCholesky< _MatrixType, _UpLo >::compute ( const MatrixType matrix) [inline]

Computes the sparse Cholesky decomposition of matrix

Definition at line 142 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
template<typename Stream >
void SimplicialCholesky< _MatrixType, _UpLo >::dumpMemory ( Stream &  s) [inline]

Definition at line 254 of file SimplicialCholesky.h.

template<typename _MatrixType , int _UpLo>
void SimplicialCholesky< _MatrixType, _UpLo >::factorize ( const MatrixType a)

Performs a numeric decomposition of matrix

The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed.

See also:
analyzePattern()

Definition at line 357 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
ComputationInfo SimplicialCholesky< _MatrixType, _UpLo >::info ( ) const [inline]

Reports whether previous computation was successful.

Returns:
Success if computation was succesful, NumericalIssue if the matrix.appears to be negative.

Definition at line 135 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
const PermutationMatrix<Dynamic>& SimplicialCholesky< _MatrixType, _UpLo >::permutationP ( ) const [inline]
Returns:
the permutation P
See also:
permutationPinv()

Definition at line 196 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
const PermutationMatrix<Dynamic>& SimplicialCholesky< _MatrixType, _UpLo >::permutationPinv ( ) const [inline]
Returns:
the inverse P^-1 of the permutation P
See also:
permutationP()

Definition at line 201 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
Index SimplicialCholesky< _MatrixType, _UpLo >::rows ( void  ) const [inline]

Definition at line 111 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
SimplicialCholesky& SimplicialCholesky< _MatrixType, _UpLo >::setMode ( SimplicialCholeskyMode  mode) [inline]

Definition at line 113 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
template<typename Rhs >
const internal::solve_retval<SimplicialCholesky, Rhs> SimplicialCholesky< _MatrixType, _UpLo >::solve ( const MatrixBase< Rhs > &  b) const [inline]
Returns:
the solution x of $ A x = b $ using the current decomposition of A.
See also:
compute()

Definition at line 155 of file SimplicialCholesky.h.


Member Data Documentation

template<typename _MatrixType, int _UpLo = Lower>
bool SimplicialCholesky< _MatrixType, _UpLo >::m_analysisIsOk [protected]

Definition at line 278 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
VectorType SimplicialCholesky< _MatrixType, _UpLo >::m_diag [protected]

Definition at line 282 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
bool SimplicialCholesky< _MatrixType, _UpLo >::m_factorizationIsOk [protected]

Definition at line 277 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
ComputationInfo SimplicialCholesky< _MatrixType, _UpLo >::m_info [mutable, protected]

Definition at line 275 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
bool SimplicialCholesky< _MatrixType, _UpLo >::m_isInitialized [protected]

Definition at line 276 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
bool SimplicialCholesky< _MatrixType, _UpLo >::m_LDLt [protected]

Definition at line 279 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
CholMatrixType SimplicialCholesky< _MatrixType, _UpLo >::m_matrix [protected]

Definition at line 281 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
VectorXi SimplicialCholesky< _MatrixType, _UpLo >::m_nonZerosPerCol [protected]

Definition at line 284 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
PermutationMatrix<Dynamic> SimplicialCholesky< _MatrixType, _UpLo >::m_P [protected]

Definition at line 285 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
VectorXi SimplicialCholesky< _MatrixType, _UpLo >::m_parent [protected]

Definition at line 283 of file SimplicialCholesky.h.

template<typename _MatrixType, int _UpLo = Lower>
PermutationMatrix<Dynamic> SimplicialCholesky< _MatrixType, _UpLo >::m_Pinv [protected]

Definition at line 286 of file SimplicialCholesky.h.


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


libicr
Author(s): Robert Krug
autogenerated on Mon Jan 6 2014 11:34:28