#include <SparseRegularInverse.h>
Public Types | |
using | Scalar = Scalar_ |
Public Member Functions | |
Index | cols () const |
CompInfo | info () const |
void | perform_op (const Scalar *x_in, Scalar *y_out) const |
Index | rows () const |
void | solve (const Scalar *x_in, Scalar *y_out) const |
template<typename Derived > | |
SparseRegularInverse (const Eigen::SparseMatrixBase< Derived > &mat) | |
Private Types | |
using | ConstGenericSparseMatrix = const Eigen::Ref< const SparseMatrix > |
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::ConjugateGradient< SparseMatrix > | m_cg |
CompInfo | m_info |
ConstGenericSparseMatrix | m_mat |
const Index | m_n |
This class defines matrix operations required by the generalized eigen solver in the regular inverse mode. For a sparse and positive definite matrix , it implements the matrix-vector product
and the linear equation solving operation
.
This class is intended to be used with the SymGEigsSolver generalized eigen solver in the regular inverse 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 37 of file SparseRegularInverse.h.
|
private |
Definition at line 51 of file SparseRegularInverse.h.
|
private |
Definition at line 46 of file SparseRegularInverse.h.
|
private |
Definition at line 48 of file SparseRegularInverse.h.
|
private |
Definition at line 49 of file SparseRegularInverse.h.
using Spectra::SparseRegularInverse< Scalar_, Uplo, Flags, StorageIndex >::Scalar = Scalar_ |
Element type of the matrix.
Definition at line 43 of file SparseRegularInverse.h.
|
private |
Definition at line 50 of file SparseRegularInverse.h.
|
private |
Definition at line 47 of file SparseRegularInverse.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 67 of file SparseRegularInverse.h.
|
inline |
Return the number of columns of the underlying matrix.
Definition at line 90 of file SparseRegularInverse.h.
|
inline |
Returns the status of the computation. The full list of enumeration values can be found in Enumerations.
Definition at line 96 of file SparseRegularInverse.h.
|
inline |
Perform the matrix-vector multiplication operation .
x_in | Pointer to the ![]() |
y_out | Pointer to the ![]() |
Definition at line 125 of file SparseRegularInverse.h.
|
inline |
Return the number of rows of the underlying matrix.
Definition at line 86 of file SparseRegularInverse.h.
|
inline |
Perform the solving operation .
x_in | Pointer to the ![]() |
y_out | Pointer to the ![]() |
Definition at line 105 of file SparseRegularInverse.h.
|
private |
Definition at line 55 of file SparseRegularInverse.h.
|
mutableprivate |
Definition at line 56 of file SparseRegularInverse.h.
|
private |
Definition at line 53 of file SparseRegularInverse.h.
|
private |
Definition at line 54 of file SparseRegularInverse.h.