#include <DenseGenComplexShiftSolve.h>
Public Types | |
using | Scalar = Scalar_ |
Public Member Functions | |
Index | cols () const |
template<typename Derived > | |
DenseGenComplexShiftSolve (const Eigen::MatrixBase< Derived > &mat) | |
void | perform_op (const Scalar *x_in, Scalar *y_out) const |
Index | rows () const |
void | set_shift (const Scalar &sigmar, const Scalar &sigmai) |
Private Types | |
using | Complex = std::complex< Scalar > |
using | ComplexMatrix = Eigen::Matrix< Complex, Eigen::Dynamic, Eigen::Dynamic, Flags > |
using | ComplexSolver = Eigen::PartialPivLU< ComplexMatrix > |
using | ComplexVector = Eigen::Matrix< Complex, Eigen::Dynamic, 1 > |
using | ConstGenericMatrix = const Eigen::Ref< const Matrix > |
using | Index = Eigen::Index |
using | MapConstVec = Eigen::Map< const Vector > |
using | MapVec = Eigen::Map< Vector > |
using | Matrix = Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Flags > |
using | Vector = Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > |
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.
Scalar_ | The element type of the matrix, for example, float , double , and long double . |
Flags | Either Eigen::ColMajor or Eigen::RowMajor , indicating the storage format of the input matrix. |
Definition at line 30 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 46 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 47 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 50 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 48 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 44 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 39 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 40 of file DenseGenComplexShiftSolve.h.
using Spectra::DenseGenComplexShiftSolve< Scalar_, Flags >::Scalar = Scalar_ |
Element type of the matrix.
Definition at line 36 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 41 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 67 of file DenseGenComplexShiftSolve.h.
|
inline |
Return the number of columns of the underlying matrix.
Definition at line 85 of file DenseGenComplexShiftSolve.h.
|
inline |
Perform the complex shift-solve operation .
x_in | Pointer to the ![]() |
y_out | Pointer to the ![]() |
Definition at line 108 of file DenseGenComplexShiftSolve.h.
|
inline |
Return the number of rows of the underlying matrix.
Definition at line 81 of file DenseGenComplexShiftSolve.h.
|
inline |
Set the complex shift .
sigmar | Real part of ![]() |
sigmai | Imaginary part of ![]() |
Definition at line 93 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 52 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 53 of file DenseGenComplexShiftSolve.h.
|
private |
Definition at line 54 of file DenseGenComplexShiftSolve.h.
|
mutableprivate |
Definition at line 55 of file DenseGenComplexShiftSolve.h.