NDDEM
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
Eigen::KLU< _MatrixType > Class Template Reference

#include <KLUSupport.h>

+ Inheritance diagram for Eigen::KLU< _MatrixType >:

Public Types

enum  { ColsAtCompileTime = MatrixType::ColsAtCompileTime , MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime }
 
typedef _MatrixType MatrixType
 
typedef MatrixType::Scalar Scalar
 
typedef MatrixType::RealScalar RealScalar
 
typedef MatrixType::StorageIndex StorageIndex
 
typedef Matrix< Scalar, Dynamic, 1 > Vector
 
typedef Matrix< int, 1, MatrixType::ColsAtCompileTime > IntRowVectorType
 
typedef Matrix< int, MatrixType::RowsAtCompileTime, 1 > IntColVectorType
 
typedef SparseMatrix< ScalarLUMatrixType
 
typedef SparseMatrix< Scalar, ColMajor, int > KLUMatrixType
 
typedef Ref< const KLUMatrixType, StandardCompressedFormatKLUMatrixRef
 

Public Member Functions

 KLU ()
 
template<typename InputMatrixType >
 KLU (const InputMatrixType &matrix)
 
 ~KLU ()
 
EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
 
EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
 
ComputationInfo info () const
 Reports whether previous computation was successful. More...
 
template<typename InputMatrixType >
void compute (const InputMatrixType &matrix)
 
template<typename InputMatrixType >
void analyzePattern (const InputMatrixType &matrix)
 
const klu_common & kluCommon () const
 
klu_common & kluCommon ()
 
template<typename InputMatrixType >
void factorize (const InputMatrixType &matrix)
 
template<typename BDerived , typename XDerived >
bool _solve_impl (const MatrixBase< BDerived > &b, MatrixBase< XDerived > &x) const
 
- Public Member Functions inherited from Eigen::SparseSolverBase< KLU< _MatrixType > >
 SparseSolverBase ()
 
 ~SparseSolverBase ()
 
KLU< _MatrixType > & derived ()
 
const KLU< _MatrixType > & derived () const
 
const Solve< KLU< _MatrixType >, Rhs > solve (const MatrixBase< Rhs > &b) const
 
const Solve< KLU< _MatrixType >, Rhs > solve (const SparseMatrixBase< Rhs > &b) const
 
void _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const
 

Protected Types

typedef SparseSolverBase< KLU< _MatrixType > > Base
 

Protected Member Functions

void init ()
 
void analyzePattern_impl ()
 
void factorize_impl ()
 
template<typename MatrixDerived >
void grab (const EigenBase< MatrixDerived > &A)
 
void grab (const KLUMatrixRef &A)
 

Protected Attributes

KLUMatrixType m_dummy
 
KLUMatrixRef mp_matrix
 
klu_numeric * m_numeric
 
klu_symbolic * m_symbolic
 
klu_common m_common
 
ComputationInfo m_info
 
int m_factorizationIsOk
 
int m_analysisIsOk
 
bool m_extractedDataAreDirty
 
- Protected Attributes inherited from Eigen::SparseSolverBase< KLU< _MatrixType > >
bool m_isInitialized
 

Private Member Functions

 KLU (const KLU &)
 

Member Typedef Documentation

◆ Base

template<typename _MatrixType >
typedef SparseSolverBase<KLU<_MatrixType> > Eigen::KLU< _MatrixType >::Base
protected

◆ IntColVectorType

template<typename _MatrixType >
typedef Matrix<int, MatrixType::RowsAtCompileTime, 1> Eigen::KLU< _MatrixType >::IntColVectorType

◆ IntRowVectorType

template<typename _MatrixType >
typedef Matrix<int, 1, MatrixType::ColsAtCompileTime> Eigen::KLU< _MatrixType >::IntRowVectorType

◆ KLUMatrixRef

template<typename _MatrixType >
typedef Ref<const KLUMatrixType, StandardCompressedFormat> Eigen::KLU< _MatrixType >::KLUMatrixRef

◆ KLUMatrixType

template<typename _MatrixType >
typedef SparseMatrix<Scalar,ColMajor,int> Eigen::KLU< _MatrixType >::KLUMatrixType

◆ LUMatrixType

template<typename _MatrixType >
typedef SparseMatrix<Scalar> Eigen::KLU< _MatrixType >::LUMatrixType

◆ MatrixType

template<typename _MatrixType >
typedef _MatrixType Eigen::KLU< _MatrixType >::MatrixType

◆ RealScalar

template<typename _MatrixType >
typedef MatrixType::RealScalar Eigen::KLU< _MatrixType >::RealScalar

◆ Scalar

template<typename _MatrixType >
typedef MatrixType::Scalar Eigen::KLU< _MatrixType >::Scalar

◆ StorageIndex

template<typename _MatrixType >
typedef MatrixType::StorageIndex Eigen::KLU< _MatrixType >::StorageIndex

◆ Vector

template<typename _MatrixType >
typedef Matrix<Scalar,Dynamic,1> Eigen::KLU< _MatrixType >::Vector

Member Enumeration Documentation

◆ anonymous enum

template<typename _MatrixType >
anonymous enum
Enumerator
ColsAtCompileTime 
MaxColsAtCompileTime 

Constructor & Destructor Documentation

◆ KLU() [1/3]

template<typename _MatrixType >
Eigen::KLU< _MatrixType >::KLU ( )
inline

◆ KLU() [2/3]

template<typename _MatrixType >
template<typename InputMatrixType >
Eigen::KLU< _MatrixType >::KLU ( const InputMatrixType &  matrix)
inlineexplicit

◆ ~KLU()

template<typename _MatrixType >
Eigen::KLU< _MatrixType >::~KLU ( )
inline

◆ KLU() [3/3]

template<typename _MatrixType >
Eigen::KLU< _MatrixType >::KLU ( const KLU< _MatrixType > &  )
inlineprivate

Member Function Documentation

◆ _solve_impl()

template<typename MatrixType >
template<typename BDerived , typename XDerived >
bool Eigen::KLU< MatrixType >::_solve_impl ( const MatrixBase< BDerived > &  b,
MatrixBase< XDerived > &  x 
) const

◆ analyzePattern()

template<typename _MatrixType >
template<typename InputMatrixType >
void Eigen::KLU< _MatrixType >::analyzePattern ( const InputMatrixType &  matrix)
inline

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(), compute()

◆ analyzePattern_impl()

template<typename _MatrixType >
void Eigen::KLU< _MatrixType >::analyzePattern_impl ( )
inlineprotected

◆ cols()

template<typename _MatrixType >
EIGEN_CONSTEXPR Index Eigen::KLU< _MatrixType >::cols ( void  ) const
inline

◆ compute()

template<typename _MatrixType >
template<typename InputMatrixType >
void Eigen::KLU< _MatrixType >::compute ( const InputMatrixType &  matrix)
inline

Computes the sparse Cholesky decomposition of matrix Note that the matrix should be column-major, and in compressed format for best performance.

See also
SparseMatrix::makeCompressed().

◆ factorize()

template<typename _MatrixType >
template<typename InputMatrixType >
void Eigen::KLU< _MatrixType >::factorize ( const InputMatrixType &  matrix)
inline

Performs a numeric decomposition of matrix

The given matrix must has the same sparcity than the matrix on which the pattern anylysis has been performed.

See also
analyzePattern(), compute()

◆ factorize_impl()

template<typename _MatrixType >
void Eigen::KLU< _MatrixType >::factorize_impl ( )
inlineprotected

◆ grab() [1/2]

template<typename _MatrixType >
template<typename MatrixDerived >
void Eigen::KLU< _MatrixType >::grab ( const EigenBase< MatrixDerived > &  A)
inlineprotected

◆ grab() [2/2]

template<typename _MatrixType >
void Eigen::KLU< _MatrixType >::grab ( const KLUMatrixRef A)
inlineprotected

◆ info()

template<typename _MatrixType >
ComputationInfo Eigen::KLU< _MatrixType >::info ( ) const
inline

Reports whether previous computation was successful.

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

◆ init()

template<typename _MatrixType >
void Eigen::KLU< _MatrixType >::init ( )
inlineprotected

◆ kluCommon() [1/2]

template<typename _MatrixType >
klu_common& Eigen::KLU< _MatrixType >::kluCommon ( )
inline

Provides access to the control settings array used by UmfPack.

If this array contains NaN's, the default values are used.

See KLU documentation for details.

◆ kluCommon() [2/2]

template<typename _MatrixType >
const klu_common& Eigen::KLU< _MatrixType >::kluCommon ( ) const
inline

Provides access to the control settings array used by KLU.

See KLU documentation for details.

◆ rows()

template<typename _MatrixType >
EIGEN_CONSTEXPR Index Eigen::KLU< _MatrixType >::rows ( void  ) const
inline

Member Data Documentation

◆ m_analysisIsOk

template<typename _MatrixType >
int Eigen::KLU< _MatrixType >::m_analysisIsOk
protected

◆ m_common

template<typename _MatrixType >
klu_common Eigen::KLU< _MatrixType >::m_common
protected

◆ m_dummy

template<typename _MatrixType >
KLUMatrixType Eigen::KLU< _MatrixType >::m_dummy
protected

◆ m_extractedDataAreDirty

template<typename _MatrixType >
bool Eigen::KLU< _MatrixType >::m_extractedDataAreDirty
mutableprotected

◆ m_factorizationIsOk

template<typename _MatrixType >
int Eigen::KLU< _MatrixType >::m_factorizationIsOk
protected

◆ m_info

template<typename _MatrixType >
ComputationInfo Eigen::KLU< _MatrixType >::m_info
mutableprotected

◆ m_numeric

template<typename _MatrixType >
klu_numeric* Eigen::KLU< _MatrixType >::m_numeric
protected

◆ m_symbolic

template<typename _MatrixType >
klu_symbolic* Eigen::KLU< _MatrixType >::m_symbolic
protected

◆ mp_matrix

template<typename _MatrixType >
KLUMatrixRef Eigen::KLU< _MatrixType >::mp_matrix
protected

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