SourcePro® 2024.1 |
SourcePro® API Reference Guide |
Encapsulates a Hessenberg decomposition as well as an optional balance transformation. More...
#include <rw/lapack/hess.h>
Public Member Functions | |
RWHessenbergDecomp () | |
RWHessenbergDecomp (const RWBalanceDecomp< TypeT > &) | |
RWHessenbergDecomp (const RWGenMat< TypeT > &A, bool permute=true, bool scale=true) | |
RWGenMat< TypeT > | B () const |
RWBalanceTransform< TypeT > | balanceTransform () const |
RWGenMat< TypeT > | BInvTX (const RWGenMat< TypeT > &X) const |
RWMathVec< TypeT > | BInvTx (const RWMathVec< TypeT > &x) const |
RWGenMat< TypeT > | BX (const RWGenMat< TypeT > &X) const |
RWMathVec< TypeT > | Bx (const RWMathVec< TypeT > &x) const |
unsigned | cols () const |
void | factor (const RWBalanceDecomp< TypeT > &) |
void | factor (const RWGenMat< TypeT > &A, bool permute=true, bool scale=true) |
RWGenMat< TypeT > | Q () const |
RWGenMat< TypeT > | QTX (const RWGenMat< TypeT > &X) const |
RWMathVec< TypeT > | QTx (const RWMathVec< TypeT > &) const |
RWGenMat< TypeT > | QX (const RWGenMat< TypeT > &X) const |
RWMathVec< TypeT > | Qx (const RWMathVec< TypeT > &x) const |
A Hessenberg decomposition uses orthogonal transformations to reduce a matrix A to a matrix H that is 0 below the first subdiagonal. Computation of the Hessenberg decomposition is the first step in the QR method for computing eigenvalues of a nonsymmetric matrix.
The class RWHessenbergDecomp encapsulates a Hessenberg decomposition as well as an optional balance transformation. The decomposition of a matrix A is:
\[ A = BQHQ'B^{-1} \]
where Q is orthogonal, H is 0 below the first subdiagonal, and B is a balance transformation. See the entry RWBalanceTransform.
RWHessenbergDecomp< TypeT >::RWHessenbergDecomp | ( | ) |
Default constructor. Builds a decomposition of size 0 x 0.
RWHessenbergDecomp< TypeT >::RWHessenbergDecomp | ( | const RWGenMat< TypeT > & | A, |
bool | permute = true, | ||
bool | scale = true ) |
Constructs the Hessenberg decomposition of the matrix A. The boolean parameters determine whether or not the permutation or scaling parts of the balance transformation are applied prior to forming the Hessenberg decomposition.
RWHessenbergDecomp< TypeT >::RWHessenbergDecomp | ( | const RWBalanceDecomp< TypeT > & | ) |
Builds a Hessenberg decomposition of the matrix represented by the balance decomposition.
RWGenMat< TypeT > RWHessenbergDecomp< TypeT >::B | ( | ) | const |
Computes an explicit representation of the balance transformation.
|
inline |
Returns an object which represents the balance transformation.
RWGenMat< TypeT > RWHessenbergDecomp< TypeT >::BInvTX | ( | const RWGenMat< TypeT > & | X | ) | const |
Computes the (conjugate) transpose inverse of the balance transformation B
and the matrix X.
RWMathVec< TypeT > RWHessenbergDecomp< TypeT >::BInvTx | ( | const RWMathVec< TypeT > & | x | ) | const |
Computes the (conjugate) transpose inverse of the balance transformation B
and the vector x.
RWGenMat< TypeT > RWHessenbergDecomp< TypeT >::BX | ( | const RWGenMat< TypeT > & | X | ) | const |
Computes the inner product of the balance transformation B
and the matrix X.
RWMathVec< TypeT > RWHessenbergDecomp< TypeT >::Bx | ( | const RWMathVec< TypeT > & | x | ) | const |
Computes the inner product of the balance transformation B
and the vector x.
|
inline |
Returns the number of columns in the matrix that the decomposition represents.
void RWHessenbergDecomp< TypeT >::factor | ( | const RWBalanceDecomp< TypeT > & | ) |
Replaces the current decomposition with the Hessenberg decomposition of the matrix represented by the balance decomposition.
void RWHessenbergDecomp< TypeT >::factor | ( | const RWGenMat< TypeT > & | A, |
bool | permute = true, | ||
bool | scale = true ) |
Replaces the current decomposition with the Hessenberg decomposition of the matrix A. The boolean parameters determine whether or not the permutation or scaling parts of the balance transformation are applied prior to forming the Hessenberg decomposition.
RWGenMat< TypeT > RWHessenbergDecomp< TypeT >::Q | ( | ) | const |
Computes an explicit representation of the orthogonal matrix Q
.
RWGenMat< TypeT > RWHessenbergDecomp< TypeT >::QTX | ( | const RWGenMat< TypeT > & | X | ) | const |
Computes the (conjugate) transpose of the orthogonal matrix Q
and the matrix X.
RWMathVec< TypeT > RWHessenbergDecomp< TypeT >::QTx | ( | const RWMathVec< TypeT > & | ) | const |
Computes the (conjugate) transpose of the orthogonal matrix Q
and the vector x.
RWGenMat< TypeT > RWHessenbergDecomp< TypeT >::QX | ( | const RWGenMat< TypeT > & | X | ) | const |
Computes the inner product of the orthogonal matrix Q
and the matrix X.
RWMathVec< TypeT > RWHessenbergDecomp< TypeT >::Qx | ( | const RWMathVec< TypeT > & | x | ) | const |
Computes the inner product of the orthogonal matrix Q
and the vector x.
Copyright © 2024 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |