SourcePro® API Reference Guide

Product Documentation:
   SourcePro
Documentation Home
List of all members | Public Member Functions
RWBalanceDecomp< TypeT > Class Template Reference

Encapsulates the decomposition implicit in the permutation and balance transformations on a nonsymmetric matrix before computing its eigenvalues. More...

#include <rw/lapack/bal.h>

Public Member Functions

 RWBalanceDecomp ()
 
 RWBalanceDecomp (const RWGenMat< TypeT > &A, bool permute=true, bool scale=true)
 
const RWBalanceTransform< TypeT > & B () const
 
const RWGenMat< TypeT > C () const
 
unsigned cols () const
 
unsigned rows () const
 

Detailed Description

template<class TypeT>
class RWBalanceDecomp< TypeT >

A permutation and balance transformation is often performed on a nonsymmetric matrix before computing its eigenvalues. The permutation attempts to break the matrix into three independent blocks such that the first and last block are triangular, and the balance transformation is a diagonal scaling transformation that attempts to make the row and column norms close to each other. The class RWBalanceDecomp encapsulates the decomposition:

\[ A = BCB^{-1} \]

where B=PD, an amalgamation of the permutation and balance transformations. This decomposition is used internally by the nonsymmetric eigenvalue decomposition classes, including the Schur and Hessenberg decomposition classes.

Synopsis
#include <rw/lapack/bal.h>
RWBalanceDecomp<double> bal(A); // A is a RWGenMat<double>

Constructor & Destructor Documentation

template<class TypeT>
RWBalanceDecomp< TypeT >::RWBalanceDecomp ( )

Constructs an empty decomposition.

template<class TypeT>
RWBalanceDecomp< TypeT >::RWBalanceDecomp ( const RWGenMat< TypeT > &  A,
bool  permute = true,
bool  scale = true 
)

Constructs a decomposition of the matrix A. The boolean parameters control whether permutation, scaling (balancing), both, or neither are done. The matrix must be square.

Member Function Documentation

template<class TypeT>
const RWBalanceTransform<TypeT>& RWBalanceDecomp< TypeT >::B ( ) const
inline

Returns a representation of the balance transformation computed.

template<class TypeT>
const RWGenMat<TypeT> RWBalanceDecomp< TypeT >::C ( ) const
inline

Returns the balanced matrix.

template<class TypeT>
unsigned RWBalanceDecomp< TypeT >::cols ( ) const
inline

Returns the number of columns in the decomposition.

template<class TypeT>
unsigned RWBalanceDecomp< TypeT >::rows ( ) const
inline

Returns the number of rows in the decomposition.

Copyright © 2021 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.