Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Linear Algebra Module Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

RWHessenbergDecomp<T>

Module:  Linear Algebra   Group:  Nonsymmetric Eigenvalue Decomposition classes


Does not inherit

Local Index

Members

Synopsis

#include <rw/lapack/hess.h>

RWHessenbergDecomp<double> hess(A);   // A is a
// RWGenMat<double>

Description

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<T> encapsulates a Hessenberg decomposition as well as an optional balance transformation. The decomposition of a matrix A is:

where Q is orthogonal, H is 0 below the first subdiagonal, and B is a balance transformation. See the entry RWBalanceTransform<T>.

Example

Public Constructors

RWHessenbergDecomp();
RWHessenbergDecomp(const RWGenMat<T>& A,
                   bool permute=true, bool
                   scale=true);
RWHessenbergDecomp(const RWBalanceDecomp<T>& A);

Public Member Functions

RWGenMat<T>
B() const;
RWBalanceTransform<T>
balanceTransform() const;
RWMathVec<T>
Bx(const RWMathVec<T>& x);
RWMathVec<T>
BInvTx(const RWMathVec<T>& x);
RWGenMat<T>
BX(const RWGenMat<T>& X);
RWGenMat<T>
BInvTX(const RWGenMat<T>& X);
unsigned
cols();
void
factor(const RWGenMat<T>& A,
          bool permute=true, bool scale=true);
void
factor(const RWBalanceDecomp<T>& A);
RWGenMat<T>
Q() const;
RWMathVec<T>
Qx(const RWMathVec<T>& x);
RWMathVec<T>
QTx(const RWMathVec<T>& x);
RWGenMat<T>
QX(const RWGenMat<T>& X);
RWGenMat<T>
QTX(const RWGenMat<T>& X);


Previous fileTop of DocumentContentsIndex pageNext file

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.