ARPACK-Eigen
|
#include <UpperHessenbergQR.h>
Public Member Functions | |
UpperHessenbergQR () | |
UpperHessenbergQR (ConstGenericMatrix &mat) | |
virtual void | compute (ConstGenericMatrix &mat) |
Matrix | matrix_R () |
virtual Matrix | matrix_RQ () |
void | apply_QY (Vector &Y) |
void | apply_QtY (Vector &Y) |
void | apply_QY (GenericMatrix Y) |
void | apply_QtY (GenericMatrix Y) |
void | apply_YQ (GenericMatrix Y) |
void | apply_YQt (GenericMatrix Y) |
Perform the QR decomposition of an upper Hessenberg matrix.
Scalar | The element type of the matrix. Currently supported types are float , double and long double . |
Definition at line 21 of file UpperHessenbergQR.h.
|
inline |
Default constructor. Computation can be performed later by calling the compute() method.
Definition at line 47 of file UpperHessenbergQR.h.
|
inline |
Constructor to create an object that performs and stores the QR decomposition of an upper Hessenberg matrix mat
.
mat | Matrix type can be Eigen::Matrix<Scalar, ...> (e.g. Eigen::MatrixXd and Eigen::MatrixXf ), or its mapped version (e.g. Eigen::Map<Eigen::MatrixXd> ). Only the upper triangular and the lower subdiagonal parts of the matrix are used. |
Definition at line 61 of file UpperHessenbergQR.h.
|
inlinevirtual |
Conduct the QR factorization of an upper Hessenberg matrix.
mat | Matrix type can be Eigen::Matrix<Scalar, ...> (e.g. Eigen::MatrixXd and Eigen::MatrixXf ), or its mapped version (e.g. Eigen::Map<Eigen::MatrixXd> ). Only the upper triangular and the lower subdiagonal parts of the matrix are used. |
Reimplemented in TridiagQR< Scalar >.
Definition at line 80 of file UpperHessenbergQR.h.
|
inline |
Return the \(R\) matrix in the QR decomposition, which is an upper triangular matrix.
Eigen::Matrix<Scalar, ...>
, depending on the template parameter Scalar
defined. Definition at line 133 of file UpperHessenbergQR.h.
|
inlinevirtual |
Return the \(RQ\) matrix, the multiplication of \(R\) and \(Q\), which is an upper Hessenberg matrix.
Eigen::Matrix<Scalar, ...>
, depending on the template parameter Scalar
defined. Reimplemented in TridiagQR< Scalar >.
Definition at line 148 of file UpperHessenbergQR.h.
|
inline |
Apply the \(Q\) matrix to a vector \(y\).
Y | A vector that will be overwritten by the matrix product \(Qy\). |
Vector type can be Eigen::Vector<Scalar, ...>
, depending on the template parameter Scalar
defined.
Definition at line 182 of file UpperHessenbergQR.h.
|
inline |
Apply the \(Q\) matrix to a vector \(y\).
Y | A vector that will be overwritten by the matrix product \(Q'y\). |
Vector type can be Eigen::Vector<Scalar, ...>
, depending on the template parameter Scalar
defined.
Definition at line 208 of file UpperHessenbergQR.h.
|
inline |
Apply the \(Q\) matrix to another matrix \(Y\).
Y | A matrix that will be overwritten by the matrix product \(QY\). |
Matrix 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 235 of file UpperHessenbergQR.h.
|
inline |
Apply the \(Q\) matrix to another matrix \(Y\).
Y | A matrix that will be overwritten by the matrix product \(Q'Y\). |
Matrix 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 267 of file UpperHessenbergQR.h.
|
inline |
Apply the \(Q\) matrix to another matrix \(Y\).
Y | A matrix that will be overwritten by the matrix product \(YQ\). |
Matrix 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 299 of file UpperHessenbergQR.h.
|
inline |
Apply the \(Q\) matrix to another matrix \(Y\).
Y | A matrix that will be overwritten by the matrix product \(YQ'\). |
Matrix 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 330 of file UpperHessenbergQR.h.