#include <DenseGenComplexShiftSolve.h>
Public Member Functions | |
| Index | cols () const |
| DenseGenComplexShiftSolve (ConstGenericMatrix &mat) | |
| void | perform_op (const Scalar *x_in, Scalar *y_out) |
| Index | rows () const |
| void | set_shift (Scalar sigmar, Scalar sigmai) |
Private Types | |
| typedef std::complex< Scalar > | Complex |
| typedef Eigen::Matrix< Complex, Eigen::Dynamic, Eigen::Dynamic > | ComplexMatrix |
| typedef Eigen::PartialPivLU< ComplexMatrix > | ComplexSolver |
| typedef Eigen::Matrix< Complex, Eigen::Dynamic, 1 > | ComplexVector |
| typedef const Eigen::Ref< const Matrix > | ConstGenericMatrix |
| typedef Eigen::Index | Index |
| typedef Eigen::Map< const Vector > | MapConstVec |
| typedef Eigen::Map< Vector > | MapVec |
| typedef Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > | Matrix |
| typedef Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > | Vector |
Private Attributes | |
| ConstGenericMatrix | m_mat |
| const Index | m_n |
| ComplexSolver | m_solver |
| ComplexVector | m_x_cache |
This class defines the complex shift-solve operation on a general real matrix
, i.e., calculating
for any complex-valued
and real-valued vector
. It is mainly used in the GenEigsComplexShiftSolver eigen solver.
Definition at line 25 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 35 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 36 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 39 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 37 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 33 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 28 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 31 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 32 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 29 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 30 of file DenseGenComplexShiftSolve.h.
|
inline |
Constructor to create the matrix operation object.
| mat | An Eigen matrix object, whose type can be Eigen::Matrix<Scalar, ...> (e.g. Eigen::MatrixXd and Eigen::MatrixXf), or its mapped version (e.g. Eigen::Map<Eigen::MatrixXd>). |
Definition at line 55 of file DenseGenComplexShiftSolve.h.
|
inline |
Return the number of columns of the underlying matrix.
Definition at line 69 of file DenseGenComplexShiftSolve.h.
|
inline |
Perform the complex shift-solve operation
.
| x_in | Pointer to the vector. |
| y_out | Pointer to the vector. |
Definition at line 92 of file DenseGenComplexShiftSolve.h.
|
inline |
Return the number of rows of the underlying matrix.
Definition at line 65 of file DenseGenComplexShiftSolve.h.
|
inline |
Set the complex shift
.
| sigmar | Real part of . |
| sigmai | Imaginary part of . |
Definition at line 77 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 41 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 42 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 43 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 44 of file DenseGenComplexShiftSolve.h.