Rogue Wave banner
Previous fileTop of DocumentContentsIndexNext file

{type}HessenbergDecomp



Data Type and Member Function Indexes
(exclusive of constructors and destructors)

Synopsis

#include <rw/dhess.h>             // DoubleHessenbergDecomp
#include <rw/chess.h>             // DComplexHessenbergDecomp

DoubleHessenbergDecomp 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 classes {TYPE}HessenbergDecomp encapsulate a Hessenberg decomposition as well as an optional balance transformation. The decomposition of a matix A is:

where Q is orthogonal, H is 0 below the first subdiagonal, and B is a balance transformation. See the entry {TYPE}BalanceTransform.

Example

Public Constructors

DoubleHessenbergDecomp();
DComplexHessenbergDecomp();
DoubleHessenbergDecomp(const RWGenMat<double>& A,
          RWBoolean permute=TRUE, RWBoolean scale=TRUE);
DComplexHessenbergDecomp(const RWGenMat<DComplex>& A,
          RWBoolean permute=TRUE, RWBoolean scale=TRUE);
DoubleHessenbergDecomp(const DoubleBalanceDecomp& A);
DComplexHessenbergDecomp(const DComplexBalanceDecomp& A);

Public Member Functions

RWGenMat<double>
DoubleHessenbergDecomp::B() const;
RWGenMat<DComplex>
DComplexHessenbergDecomp::B() const;
DoubleBalanceTransform
DoubleHessenbergDecomp::balanceTransform() const;
DComplexBalanceTransform 
DComplexHessenbergDecomp::balanceTransform() const;
RWMathVec<double>
DoubleHessenbergDecomp::Bx(const RWMathVec<double>& x);
RWMathVec<double>
DoubleHessenbergDecomp::BInvTx(const RWMathVec<double>& x);
RWGenMat<double>
DoubleHessenbergDecomp::BX(const RWGenMat<double>& X);
RWGenMat<double>
DoubleHessenbergDecomp::BInvTX(const RWGenMat<double>& X);
RWMathVec<DComplex>
DComplexHessenbergDecomp::Bx(const RWMathVec<DComplex>& x);
RWMathVec<DComplex>
DComplexHessenbergDecomp::BInvTx(const RWMathVec<DComplex>& x);
RWGenMat<DComplex>
DComplexHessenbergDecomp::BX(const RWGenMat<DComplex>& X);
RWGenMat<DComplex>
DComplexHessenbergDecomp::BInvTX(const RWGenMat<DComplex>& X);
unsigned
FloatHessenbergDecomp::cols();
unsigned
DoubleHessenbergDecomp::cols();
unsigned
DComplexHessenbergDecomp::cols();
void
DoubleHessenbergDecomp::factor(const RWGenMat<double>& A,
          RWBoolean permute=TRUE, RWBoolean scale=TRUE);
void
DComplexHessenbergDecomp::factor(const RWGenMat<DComplex>& A,
          RWBoolean permute=TRUE, RWBoolean scale=TRUE);
void
DoubleHessenbergDecomp::factor(const DoubleBalanceDecomp& A);
void
DComplexHessenbergDecomp::factor
        (const DComplexBalanceDecomp& A);
RWGenMat<double>
DoubleHessenbergDecomp::Q() const;
RWGenMat<DComplex>
DComplexHessenbergDecomp::Q() const;
RWMathVec<double>
DoubleHessenbergDecomp::Qx(const RWMathVec<double>& x);
RWMathVec<double>
DoubleHessenbergDecomp::QTx(const RWMathVec<double>& x);
RWGenMat<double>
DoubleHessenbergDecomp::QX(const RWGenMat<double>& X);
RWGenMat<double>
DoubleHessenbergDecomp::QTX(const RWGenMat<double>& X);
RWMathVec<DComplex>
DComplexHessenbergDecomp::Qx(const RWMathVec<DComplex>& x);
RWMathVec<DComplex>
DComplexHessenbergDecomp::QTx(const RWMathVec<DComplex>& x);
RWGenMat<DComplex>
DComplexHessenbergDecomp::QX(const RWGenMat<DComplex>& X);
RWGenMat<DComplex>
DComplexHessenbergDecomp::QTX(const RWGenMat<DComplex>& X);


Previous fileTop of DocumentContentsIndexNext file

©Copyright 1999, Rogue Wave Software, Inc.
Send mail to report errors or comment on the documentation.