The base class for the direct Cholesky factorization of Cholmod.
More...
template<typename MatrixType_, int UpLo_, typename Derived>
class Eigen::CholmodBase< MatrixType_, UpLo_, Derived >
The base class for the direct Cholesky factorization of Cholmod.
- See also
- class CholmodSupernodalLLT, class CholmodSimplicialLDLT, class CholmodSimplicialLLT
Definition at line 216 of file CholmodSupport.h.
◆ Base
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ CholMatrixType
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ MatrixType
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ RealScalar
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ Scalar
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ StorageIndex
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ anonymous enum
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ anonymous enum
template<typename MatrixType_ , int UpLo_, typename Derived >
Enumerator |
---|
ColsAtCompileTime | |
MaxColsAtCompileTime | |
Definition at line 229 of file CholmodSupport.h.
◆ CholmodBase() [1/2]
template<typename MatrixType_ , int UpLo_, typename Derived >
Definition at line 236 of file CholmodSupport.h.
239 EIGEN_STATIC_ASSERT((internal::is_same<double,RealScalar>::value), CHOLMOD_SUPPORTS_DOUBLE_PRECISION_ONLY);
241 internal::cm_start<StorageIndex>(
m_cholmod);
#define EIGEN_STATIC_ASSERT(X, MSG)
cholmod_factor * m_cholmodFactor
◆ CholmodBase() [2/2]
template<typename MatrixType_ , int UpLo_, typename Derived >
Definition at line 244 of file CholmodSupport.h.
247 EIGEN_STATIC_ASSERT((internal::is_same<double,RealScalar>::value), CHOLMOD_SUPPORTS_DOUBLE_PRECISION_ONLY);
249 internal::cm_start<StorageIndex>(
m_cholmod);
Derived & compute(const MatrixType &matrix)
◆ ~CholmodBase()
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ analyzePattern()
template<typename MatrixType_ , int UpLo_, typename Derived >
Performs a symbolic decomposition on the sparsity pattern of matrix.
This function is particularly useful when solving for several problems having the same structure.
- See also
- factorize()
Definition at line 288 of file CholmodSupport.h.
295 cholmod_sparse
A =
viewAsCholmod(matrix.template selfadjointView<UpLo>());
cholmod_sparse viewAsCholmod(Ref< SparseMatrix< Scalar_, Options_, StorageIndex_ > > mat)
◆ cholmod()
template<typename MatrixType_ , int UpLo_, typename Derived >
Returns a reference to the Cholmod's configuration structure to get a full control over the performed operations. See the Cholmod user guide for details.
Definition at line 323 of file CholmodSupport.h.
◆ cols()
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ compute()
template<typename MatrixType_ , int UpLo_, typename Derived >
Computes the sparse Cholesky decomposition of matrix
Definition at line 275 of file CholmodSupport.h.
void factorize(const MatrixType &matrix)
void analyzePattern(const MatrixType &matrix)
◆ derived() [1/2]
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ derived() [2/2]
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ determinant()
template<typename MatrixType_ , int UpLo_, typename Derived >
- Returns
- the determinant of the underlying matrix from the current factorization
Definition at line 393 of file CholmodSupport.h.
const ExpReturnType exp() const
Scalar logDeterminant() const
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_exp_op< typename Derived::Scalar >, const Derived > exp(const Eigen::ArrayBase< Derived > &x)
◆ dumpMemory()
template<typename MatrixType_ , int UpLo_, typename Derived >
template<typename Stream >
◆ factorize()
template<typename MatrixType_ , int UpLo_, typename Derived >
Performs a numeric decomposition of matrix
The given matrix must have the same sparsity pattern as the matrix on which the symbolic decomposition has been performed.
- See also
- analyzePattern()
Definition at line 310 of file CholmodSupport.h.
313 cholmod_sparse
A =
viewAsCholmod(matrix.template selfadjointView<UpLo>());
◆ info()
template<typename MatrixType_ , int UpLo_, typename Derived >
Reports whether previous computation was successful.
- Returns
Success
if computation was successful, NumericalIssue
if the matrix.appears to be negative.
Definition at line 268 of file CholmodSupport.h.
◆ logDeterminant()
template<typename MatrixType_ , int UpLo_, typename Derived >
- Returns
- the log determinant of the underlying matrix from the current factorization
Definition at line 400 of file CholmodSupport.h.
404 eigen_assert(
m_factorizationIsOk &&
"The decomposition is not in a valid state for solving, you must first call either compute() or symbolic()/numeric()");
421 for (
Index k=0; k < nb_super_nodes; ++k)
426 Map<const Array<Scalar,1,Dynamic>, 0, InnerStride<> > sk(
x + px[k], ncols, InnerStride<>(nrows+1));
427 logDet += sk.real().log().sum();
const LogReturnType log() const
RealReturnType real() const
MatrixType::Scalar Scalar
MatrixType::RealScalar RealScalar
MatrixType::StorageIndex StorageIndex
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_real_op< typename Derived::Scalar >, const Derived > real(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_log_op< typename Derived::Scalar >, const Derived > log(const Eigen::ArrayBase< Derived > &x)
◆ rows()
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ setShift()
template<typename MatrixType_ , int UpLo_, typename Derived >
Sets the shift parameter that will be used to adjust the diagonal coefficients during the numerical factorization.
During the numerical factorization, an offset term is added to the diagonal coefficients:
d_ii
= offset + d_ii
The default is offset=0.
- Returns
- a reference to
*this
.
Definition at line 386 of file CholmodSupport.h.
◆ m_analysisIsOk
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ m_cholmod
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ m_cholmodFactor
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ m_factorizationIsOk
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ m_info
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ m_isInitialized
template<typename MatrixType_ , int UpLo_, typename Derived >
◆ m_shiftOffset
template<typename MatrixType_ , int UpLo_, typename Derived >
The documentation for this class was generated from the following file: