#include <DenseHermMatProd.h>
Public Types | |
| using | Scalar = Scalar_ |
Public Member Functions | |
| Index | cols () const |
| template<typename Derived > | |
| DenseHermMatProd (const Eigen::MatrixBase< Derived > &mat) | |
| void | perform_op (const Scalar *x_in, Scalar *y_out) const |
| Index | rows () const |
Private Types | |
| 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 |
This class defines the matrix-vector multiplication operation on a Hermitian complex matrix
, i.e., calculating
for any vector
. It is mainly used in the HermEigsSolver eigen solver.
| Scalar_ | The element type of the matrix, for example, std::complex<float>, std::complex<double>, and std::complex<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. |
Definition at line 30 of file DenseHermMatProd.h.
|
private |
Definition at line 44 of file DenseHermMatProd.h.
|
private |
Definition at line 39 of file DenseHermMatProd.h.
|
private |
Definition at line 42 of file DenseHermMatProd.h.
|
private |
Definition at line 43 of file DenseHermMatProd.h.
|
private |
Definition at line 40 of file DenseHermMatProd.h.
| using Spectra::DenseHermMatProd< Scalar_, Uplo, Flags >::Scalar = Scalar_ |
Element type of the matrix.
Definition at line 36 of file DenseHermMatProd.h.
|
private |
Definition at line 41 of file DenseHermMatProd.h.
|
inline |
Constructor to create the matrix operation object.
| mat | An Eigen matrix object, whose type can be Eigen::Matrix<Scalar, ...> (e.g. Eigen::MatrixXcd and Eigen::MatrixXcf), or its mapped version (e.g. Eigen::Map<Eigen::MatrixXcd>). |
Definition at line 58 of file DenseHermMatProd.h.
|
inline |
Return the number of columns of the underlying matrix.
Definition at line 73 of file DenseHermMatProd.h.
|
inline |
Perform the matrix-vector multiplication operation
.
| x_in | Pointer to the vector. |
| y_out | Pointer to the vector. |
Definition at line 82 of file DenseHermMatProd.h.
|
inline |
Return the number of rows of the underlying matrix.
Definition at line 69 of file DenseHermMatProd.h.
|
private |
Definition at line 46 of file DenseHermMatProd.h.