ARPACK-Eigen
TridiagQR< Scalar > Class Template Reference

#include <UpperHessenbergQR.h>

Inheritance diagram for TridiagQR< Scalar >:
UpperHessenbergQR< Scalar >

Public Member Functions

 TridiagQR ()
 
 TridiagQR (ConstGenericMatrix &mat)
 
void compute (ConstGenericMatrix &mat)
 
Matrix matrix_RQ ()
 
- Public Member Functions inherited from UpperHessenbergQR< Scalar >
 UpperHessenbergQR ()
 
 UpperHessenbergQR (ConstGenericMatrix &mat)
 
Matrix matrix_R ()
 
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)
 

Detailed Description

template<typename Scalar = double>
class TridiagQR< Scalar >

Perform the QR decomposition of a tridiagonal matrix, a special case of upper Hessenberg matrices.

Template Parameters
ScalarThe element type of the matrix. Currently supported types are float, double and long double.

Definition at line 362 of file UpperHessenbergQR.h.

Constructor & Destructor Documentation

template<typename Scalar = double>
TridiagQR< Scalar >::TridiagQR ( )
inline

Default constructor. Computation can be performed later by calling the compute() method.

Definition at line 373 of file UpperHessenbergQR.h.

template<typename Scalar = double>
TridiagQR< Scalar >::TridiagQR ( ConstGenericMatrix &  mat)
inline

Constructor to create an object that performs and stores the QR decomposition of a tridiagonal matrix mat.

Parameters
matMatrix 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 major- and sub- diagonal parts of the matrix are used.

Definition at line 387 of file UpperHessenbergQR.h.

Member Function Documentation

template<typename Scalar = double>
void TridiagQR< Scalar >::compute ( ConstGenericMatrix &  mat)
inlinevirtual

Conduct the QR factorization of a tridiagonal matrix.

Parameters
matMatrix 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 major- and sub- diagonal parts of the matrix are used.

Reimplemented from UpperHessenbergQR< Scalar >.

Definition at line 402 of file UpperHessenbergQR.h.

template<typename Scalar = double>
Matrix TridiagQR< Scalar >::matrix_RQ ( )
inlinevirtual

Return the \(RQ\) matrix, the multiplication of \(R\) and \(Q\), which is a tridiagonal matrix.

Returns
Returned matrix type will be Eigen::Matrix<Scalar, ...>, depending on the template parameter Scalar defined.

Reimplemented from UpperHessenbergQR< Scalar >.

Definition at line 487 of file UpperHessenbergQR.h.


The documentation for this class was generated from the following file: