#include <SparseCholesky.h>
Public Types | |
| using | Scalar = Scalar_ |
Public Member Functions | |
| Index | cols () const |
| CompInfo | info () const |
| void | lower_triangular_solve (const Scalar *x_in, Scalar *y_out) const |
| Index | rows () const |
| template<typename Derived > | |
| SparseCholesky (const Eigen::SparseMatrixBase< Derived > &mat) | |
| void | upper_triangular_solve (const Scalar *x_in, Scalar *y_out) const |
Private Types | |
| using | Index = Eigen::Index |
| using | MapConstVec = Eigen::Map< const Vector > |
| using | MapVec = Eigen::Map< Vector > |
| using | SparseMatrix = Eigen::SparseMatrix< Scalar, Flags, StorageIndex > |
| using | Vector = Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > |
Private Attributes | |
| Eigen::SimplicialLLT< SparseMatrix, Uplo > | m_decomp |
| CompInfo | m_info |
| const Index | m_n |
This class defines the operations related to Cholesky decomposition on a sparse positive definite matrix,
, where
is a lower triangular matrix. It is mainly used in the SymGEigsSolver generalized eigen solver in the Cholesky decomposition mode.
| Scalar_ | The element type of the matrix, for example, float, double, and long double. |
| Uplo | Either Eigen::Lower or Eigen::Upper, indicating which triangular part of the matrix is used. |
| Flags | Either Eigen::ColMajor or Eigen::RowMajor, indicating the storage format of the input matrix. |
| StorageIndex | The type of the indices for the sparse matrix. |
Definition at line 36 of file SparseCholesky.h.
|
private |
Definition at line 45 of file SparseCholesky.h.
|
private |
Definition at line 47 of file SparseCholesky.h.
|
private |
Definition at line 48 of file SparseCholesky.h.
| using Spectra::SparseCholesky< Scalar_, Uplo, Flags, StorageIndex >::Scalar = Scalar_ |
Element type of the matrix.
Definition at line 42 of file SparseCholesky.h.
|
private |
Definition at line 49 of file SparseCholesky.h.
|
private |
Definition at line 46 of file SparseCholesky.h.
|
inline |
Constructor to create the matrix operation object.
| mat | An Eigen sparse matrix object, whose type can be Eigen::SparseMatrix<Scalar, ...> or its mapped version Eigen::Map<Eigen::SparseMatrix<Scalar, ...> >. |
Definition at line 64 of file SparseCholesky.h.
|
inline |
Returns the number of columns of the underlying matrix.
Definition at line 87 of file SparseCholesky.h.
|
inline |
Returns the status of the computation. The full list of enumeration values can be found in Enumerations.
Definition at line 93 of file SparseCholesky.h.
|
inline |
Performs the lower triangular solving operation
.
| x_in | Pointer to the vector. |
| y_out | Pointer to the vector. |
Definition at line 102 of file SparseCholesky.h.
|
inline |
Returns the number of rows of the underlying matrix.
Definition at line 83 of file SparseCholesky.h.
|
inline |
Performs the upper triangular solving operation
.
| x_in | Pointer to the vector. |
| y_out | Pointer to the vector. |
Definition at line 117 of file SparseCholesky.h.
|
private |
Definition at line 52 of file SparseCholesky.h.
|
private |
Definition at line 53 of file SparseCholesky.h.
|
private |
Definition at line 51 of file SparseCholesky.h.