![]() |
|
#include <KLUSupport.h>
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< Scalar > | LUMatrixType |
typedef SparseMatrix< Scalar, ColMajor, int > | KLUMatrixType |
typedef Ref< const KLUMatrixType, StandardCompressedFormat > | KLUMatrixRef |
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 |
![]() | |
SparseSolverBase () | |
SparseSolverBase (SparseSolverBase &&other) | |
~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 |
![]() | |
bool | m_isInitialized |
Private Member Functions | |
KLU (const KLU &) | |
|
protected |
typedef Matrix<int, MatrixType::RowsAtCompileTime, 1> Eigen::KLU< MatrixType_ >::IntColVectorType |
typedef Matrix<int, 1, MatrixType::ColsAtCompileTime> Eigen::KLU< MatrixType_ >::IntRowVectorType |
typedef Ref<const KLUMatrixType, StandardCompressedFormat> Eigen::KLU< MatrixType_ >::KLUMatrixRef |
typedef SparseMatrix<Scalar, ColMajor, int> Eigen::KLU< MatrixType_ >::KLUMatrixType |
typedef SparseMatrix<Scalar> Eigen::KLU< MatrixType_ >::LUMatrixType |
typedef MatrixType_ Eigen::KLU< MatrixType_ >::MatrixType |
typedef MatrixType::RealScalar Eigen::KLU< MatrixType_ >::RealScalar |
typedef MatrixType::Scalar Eigen::KLU< MatrixType_ >::Scalar |
typedef MatrixType::StorageIndex Eigen::KLU< MatrixType_ >::StorageIndex |
typedef Matrix<Scalar, Dynamic, 1> Eigen::KLU< MatrixType_ >::Vector |
anonymous enum |
Enumerator | |
---|---|
ColsAtCompileTime | |
MaxColsAtCompileTime |
|
inline |
References Eigen::KLU< MatrixType_ >::init().
|
inlineexplicit |
References Eigen::KLU< MatrixType_ >::compute(), Eigen::KLU< MatrixType_ >::init(), and matrix().
|
inline |
|
inlineprivate |
bool Eigen::KLU< MatrixType >::_solve_impl | ( | const MatrixBase< BDerived > & | b, |
MatrixBase< XDerived > & | x | ||
) | const |
References b, eigen_assert, EIGEN_STATIC_ASSERT, info, Eigen::klu_solve(), Eigen::NumericalIssue, Eigen::RowMajorBit, Eigen::Success, and plotDoE::x.
|
inline |
Performs a symbolic decomposition on the sparcity of matrix.
This function is particularly useful when solving for several problems having the same structure.
References Eigen::KLU< MatrixType_ >::analyzePattern_impl(), Eigen::KLU< MatrixType_ >::grab(), Eigen::KLU< MatrixType_ >::m_common, Eigen::KLU< MatrixType_ >::m_numeric, Eigen::KLU< MatrixType_ >::m_symbolic, and matrix().
|
inlineprotected |
References Eigen::InvalidInput, Eigen::KLU< MatrixType_ >::m_analysisIsOk, Eigen::KLU< MatrixType_ >::m_common, Eigen::KLU< MatrixType_ >::m_extractedDataAreDirty, Eigen::KLU< MatrixType_ >::m_factorizationIsOk, Eigen::KLU< MatrixType_ >::m_info, Eigen::SparseSolverBase< KLU< MatrixType_ > >::m_isInitialized, Eigen::KLU< MatrixType_ >::m_symbolic, Eigen::KLU< MatrixType_ >::mp_matrix, and Eigen::Success.
Referenced by Eigen::KLU< MatrixType_ >::analyzePattern(), and Eigen::KLU< MatrixType_ >::compute().
|
inline |
References Eigen::KLU< MatrixType_ >::mp_matrix.
Referenced by gdb.printers._MatrixEntryIterator::__next__(), gdb.printers.EigenMatrixPrinter::children(), gdb.printers.EigenSparseMatrixPrinter::children(), gdb.printers.EigenMatrixPrinter::to_string(), and gdb.printers.EigenSparseMatrixPrinter::to_string().
|
inline |
Computes the sparse Cholesky decomposition of matrix Note that the matrix should be column-major, and in compressed format for best performance.
References Eigen::KLU< MatrixType_ >::analyzePattern_impl(), Eigen::KLU< MatrixType_ >::factorize_impl(), Eigen::KLU< MatrixType_ >::grab(), Eigen::KLU< MatrixType_ >::m_common, Eigen::KLU< MatrixType_ >::m_numeric, Eigen::KLU< MatrixType_ >::m_symbolic, and matrix().
Referenced by Eigen::KLU< MatrixType_ >::KLU().
|
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.
References eigen_assert, Eigen::KLU< MatrixType_ >::factorize_impl(), Eigen::KLU< MatrixType_ >::grab(), Eigen::KLU< MatrixType_ >::m_analysisIsOk, Eigen::KLU< MatrixType_ >::m_common, Eigen::KLU< MatrixType_ >::m_numeric, and matrix().
|
inlineprotected |
References Eigen::klu_factor(), Eigen::KLU< MatrixType_ >::m_common, Eigen::KLU< MatrixType_ >::m_extractedDataAreDirty, Eigen::KLU< MatrixType_ >::m_factorizationIsOk, Eigen::KLU< MatrixType_ >::m_info, Eigen::KLU< MatrixType_ >::m_numeric, Eigen::KLU< MatrixType_ >::m_symbolic, Eigen::KLU< MatrixType_ >::mp_matrix, Eigen::NumericalIssue, and Eigen::Success.
Referenced by Eigen::KLU< MatrixType_ >::compute(), and Eigen::KLU< MatrixType_ >::factorize().
|
inlineprotected |
References Eigen::internal::construct_at(), Eigen::internal::destroy_at(), and Eigen::KLU< MatrixType_ >::mp_matrix.
Referenced by Eigen::KLU< MatrixType_ >::analyzePattern(), Eigen::KLU< MatrixType_ >::compute(), and Eigen::KLU< MatrixType_ >::factorize().
|
inlineprotected |
|
inline |
Reports whether previous computation was successful.
Success
if computation was successful, NumericalIssue
if the matrix.appears to be negative. References eigen_assert, Eigen::KLU< MatrixType_ >::m_info, and Eigen::SparseSolverBase< KLU< MatrixType_ > >::m_isInitialized.
|
inlineprotected |
References Eigen::InvalidInput, Eigen::KLU< MatrixType_ >::m_common, Eigen::KLU< MatrixType_ >::m_extractedDataAreDirty, Eigen::KLU< MatrixType_ >::m_info, Eigen::SparseSolverBase< KLU< MatrixType_ > >::m_isInitialized, Eigen::KLU< MatrixType_ >::m_numeric, and Eigen::KLU< MatrixType_ >::m_symbolic.
Referenced by Eigen::KLU< MatrixType_ >::KLU().
|
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.
References Eigen::KLU< MatrixType_ >::m_common.
|
inline |
Provides access to the control settings array used by KLU.
See KLU documentation for details.
References Eigen::KLU< MatrixType_ >::m_common.
|
inline |
References Eigen::KLU< MatrixType_ >::mp_matrix.
Referenced by gdb.printers._MatrixEntryIterator::__next__(), gdb.printers.EigenMatrixPrinter::children(), gdb.printers.EigenSparseMatrixPrinter::children(), gdb.printers.EigenMatrixPrinter::to_string(), and gdb.printers.EigenSparseMatrixPrinter::to_string().
|
protected |
|
protected |
Referenced by Eigen::KLU< MatrixType_ >::analyzePattern(), Eigen::KLU< MatrixType_ >::analyzePattern_impl(), Eigen::KLU< MatrixType_ >::compute(), Eigen::KLU< MatrixType_ >::factorize(), Eigen::KLU< MatrixType_ >::factorize_impl(), Eigen::KLU< MatrixType_ >::init(), Eigen::KLU< MatrixType_ >::kluCommon(), and Eigen::KLU< MatrixType_ >::~KLU().
|
protected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |