#include <SparseGenComplexShiftSolve.h>
| Public Types | |
| using | Scalar = Scalar_ | 
| Public Member Functions | |
| Index | cols () const | 
| void | perform_op (const Scalar *x_in, Scalar *y_out) const | 
| Index | rows () const | 
| void | set_shift (const Scalar &sigmar, const Scalar &sigmai) | 
| template<typename Derived > | |
| SparseGenComplexShiftSolve (const Eigen::SparseMatrixBase< Derived > &mat) | |
| Private Types | |
| using | Complex = std::complex< Scalar > | 
| using | ComplexSolver = Eigen::SparseLU< SparseComplexMatrix > | 
| using | ComplexVector = Eigen::Matrix< Complex, Eigen::Dynamic, 1 > | 
| using | ConstGenericSparseMatrix = const Eigen::Ref< const SparseMatrix > | 
| using | Index = Eigen::Index | 
| using | MapConstVec = Eigen::Map< const Vector > | 
| using | MapVec = Eigen::Map< Vector > | 
| using | SparseComplexMatrix = Eigen::SparseMatrix< Complex, Flags, StorageIndex > | 
| using | SparseMatrix = Eigen::SparseMatrix< Scalar, Flags, StorageIndex > | 
| using | Vector = Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > | 
| Private Attributes | |
| ConstGenericSparseMatrix | m_mat | 
| const Index | m_n | 
| ComplexSolver | m_solver | 
| ComplexVector | m_x_cache | 
This class defines the complex shift-solve operation on a sparse real matrix  , i.e., calculating
, i.e., calculating  for any complex-valued
 for any complex-valued  and real-valued vector
 and real-valued vector  . It is mainly used in the GenEigsComplexShiftSolver eigen solver.
. It is mainly used in the GenEigsComplexShiftSolver eigen solver.
| Scalar_ | The element type of the matrix, for example, float,double, andlong double. | 
| Flags | Either Eigen::ColMajororEigen::RowMajor, indicating the storage format of the input matrix. | 
| StorageIndex | The type of the indices for the sparse matrix. | 
Definition at line 32 of file SparseGenComplexShiftSolve.h.
| 
 | private | 
Definition at line 48 of file SparseGenComplexShiftSolve.h.
| 
 | private | 
Definition at line 52 of file SparseGenComplexShiftSolve.h.
| 
 | private | 
Definition at line 49 of file SparseGenComplexShiftSolve.h.
| 
 | private | 
Definition at line 46 of file SparseGenComplexShiftSolve.h.
| 
 | private | 
Definition at line 41 of file SparseGenComplexShiftSolve.h.
| 
 | private | 
Definition at line 43 of file SparseGenComplexShiftSolve.h.
| 
 | private | 
Definition at line 44 of file SparseGenComplexShiftSolve.h.
| using Spectra::SparseGenComplexShiftSolve< Scalar_, Flags, StorageIndex >::Scalar = Scalar_ | 
Element type of the matrix.
Definition at line 38 of file SparseGenComplexShiftSolve.h.
| 
 | private | 
Definition at line 50 of file SparseGenComplexShiftSolve.h.
| 
 | private | 
Definition at line 45 of file SparseGenComplexShiftSolve.h.
| 
 | private | 
Definition at line 42 of file SparseGenComplexShiftSolve.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 versionEigen::Map<Eigen::SparseMatrix<Scalar, ...> >. | 
Definition at line 68 of file SparseGenComplexShiftSolve.h.
| 
 | inline | 
Return the number of columns of the underlying matrix.
Definition at line 86 of file SparseGenComplexShiftSolve.h.
| 
 | inline | 
Perform the complex shift-solve operation  .
.
| x_in | Pointer to the  vector. | 
| y_out | Pointer to the  vector. | 
Definition at line 114 of file SparseGenComplexShiftSolve.h.
| 
 | inline | 
Return the number of rows of the underlying matrix.
Definition at line 82 of file SparseGenComplexShiftSolve.h.
| 
 | inline | 
Set the complex shift  .
.
| sigmar | Real part of  . | 
| sigmai | Imaginary part of  . | 
Definition at line 94 of file SparseGenComplexShiftSolve.h.
| 
 | private | 
Definition at line 54 of file SparseGenComplexShiftSolve.h.
| 
 | private | 
Definition at line 55 of file SparseGenComplexShiftSolve.h.
| 
 | private | 
Definition at line 56 of file SparseGenComplexShiftSolve.h.
| 
 | mutableprivate | 
Definition at line 57 of file SparseGenComplexShiftSolve.h.