Spectra
1.0.1
Header-only C++ Library for Large Scale Eigenvalue Problems
|
#include <Spectra/MatOp/SparseSymShiftSolve.h>
Public Types | |
using | Scalar = Scalar_ |
Public Member Functions | |
template<typename Derived > | |
SparseSymShiftSolve (const Eigen::SparseMatrixBase< Derived > &mat) | |
Index | rows () const |
Index | cols () const |
void | set_shift (const Scalar &sigma) |
void | perform_op (const Scalar *x_in, Scalar *y_out) const |
This class defines the shift-solve operation on a sparse real symmetric matrix \(A\), i.e., calculating \(y=(A-\sigma I)^{-1}x\) for any real \(\sigma\) and vector \(x\). It is mainly used in the SymEigsShiftSolver eigen solver.
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 33 of file SparseSymShiftSolve.h.
using Spectra::SparseSymShiftSolve< Scalar_, Uplo, Flags, StorageIndex >::Scalar = Scalar_ |
Element type of the matrix.
Definition at line 39 of file SparseSymShiftSolve.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 62 of file SparseSymShiftSolve.h.
|
inline |
Return the number of rows of the underlying matrix.
Definition at line 76 of file SparseSymShiftSolve.h.
|
inline |
Return the number of columns of the underlying matrix.
Definition at line 80 of file SparseSymShiftSolve.h.
|
inline |
Set the real shift \(\sigma\).
Definition at line 85 of file SparseSymShiftSolve.h.
|
inline |
Perform the shift-solve operation \(y=(A-\sigma I)^{-1}x\).
x_in | Pointer to the \(x\) vector. |
y_out | Pointer to the \(y\) vector. |
Definition at line 104 of file SparseSymShiftSolve.h.