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
template<typename MatrixType_ , int UpLo_, typename Derived >
template<typename Rhs , typename Dest >
348 "The decomposition is not in a valid state for solving, you must first call either compute() or "
349 "symbolic()/numeric()");
355 Ref<const Matrix<typename Rhs::Scalar, Dynamic, Dynamic, ColMajor> > b_ref(
b.derived());
367 internal::cm_free_dense<StorageIndex>(x_cd,
m_cholmod);
#define EIGEN_UNUSED_VARIABLE(var)
Definition: Macros.h:966
#define eigen_assert(x)
Definition: Macros.h:910
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
Scalar * b
Definition: benchVecAdd.cpp:17
SCALAR Scalar
Definition: bench_gemm.cpp:45
static ConstMapType Map(const Scalar *data)
Definition: PlainObjectBase.h:595
@ NumericalIssue
Definition: Constants.h:442
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
cholmod_sparse viewAsCholmod(Ref< SparseMatrix< Scalar_, Options_, StorageIndex_ > > mat)
Definition: CholmodSupport.h:64
References b, eigen_assert, EIGEN_UNUSED_VARIABLE, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_cholmod, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_cholmodFactor, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_factorizationIsOk, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_info, Eigen::PlainObjectBase< Matrix< Scalar_, Rows_, Cols_, Options_, MaxRows_, MaxCols_ > >::Map(), Eigen::NumericalIssue, size, and Eigen::viewAsCholmod().
template<typename MatrixType_ , int UpLo_, typename Derived >
template<typename RhsDerived , typename DestDerived >
374 "The decomposition is not in a valid state for solving, you must first call either compute() or "
375 "symbolic()/numeric()");
381 Ref<SparseMatrix<typename RhsDerived::Scalar, ColMajor, typename RhsDerived::StorageIndex> > b_ref(
382 b.const_cast_derived());
392 dest.derived() = viewAsEigen<typename DestDerived::Scalar, typename DestDerived::StorageIndex>(*x_cs);
393 internal::cm_free_sparse<StorageIndex>(x_cs,
m_cholmod);
References b, Eigen::SparseMatrixBase< Derived >::derived(), eigen_assert, EIGEN_UNUSED_VARIABLE, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_cholmod, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_cholmodFactor, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_factorizationIsOk, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_info, Eigen::NumericalIssue, size, and Eigen::viewAsCholmod().
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()
Matrix< SCALARA, Dynamic, Dynamic, opt_A > A
Definition: bench_gemm.cpp:47
bool m_isInitialized
Definition: SparseSolverBase.h:110
References Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_analysisIsOk, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_cholmod, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_cholmodFactor, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_factorizationIsOk, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_info, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_isInitialized, matrix(), Eigen::Success, and Eigen::viewAsCholmod().
Referenced by Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::compute().
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()
References eigen_assert, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_analysisIsOk, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_cholmod, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_cholmodFactor, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_factorizationIsOk, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_info, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_shiftOffset, matrix(), Eigen::NumericalIssue, Eigen::Success, and Eigen::viewAsCholmod().
Referenced by Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::compute().
template<typename MatrixType_ , int UpLo_, typename Derived >
- Returns
- the log determinant of the underlying matrix from the current factorization
422 "The decomposition is not in a valid state for solving, you must first call either compute() or "
423 "symbolic()/numeric()");
439 for (
Index k = 0;
k < nb_super_nodes; ++
k) {
443 Map<const Array<Scalar, 1, Dynamic>, 0, InnerStride<> > sk(
x +
px[
k], ncols, InnerStride<>(nrows + 1));
444 logDet += sk.real().log().sum();
float * p
Definition: Tutorial_Map_using.cpp:9
NumTraits< Scalar >::Real RealScalar
Definition: bench_gemm.cpp:46
MatrixType::StorageIndex StorageIndex
Definition: CholmodSupport.h:257
float real
Definition: datatypes.h:10
RealScalar RealScalar * px
Definition: level1_cplx_impl.h:27
char char char int int * k
Definition: level2_impl.h:374
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 log(const bfloat16 &a)
Definition: BFloat16.h:618
const AutoDiffScalar< DerType > & real(const AutoDiffScalar< DerType > &x)
Definition: AutoDiffScalar.h:486
const Mdouble pi
Definition: ExtendedMath.h:23
list x
Definition: plotDoE.py:28
References eigen_assert, k, Eigen::bfloat16_impl::log(), Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_cholmodFactor, Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_factorizationIsOk, p, constants::pi, px, Eigen::real(), size, and plotDoE::x.
Referenced by Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::determinant().
template<typename MatrixType_ , int UpLo_, typename Derived >