rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

RWHermEigServer< TypeT > Class Template Reference
[Symmetric Eigenvalue Decomposition]

Abstract base class for the Hermitian eigenvalue server. More...

#include <rw/lapack/heigsrv.h>

Inheritance diagram for RWHermEigServer< TypeT >:
RWHermPDQREigServer< TypeT > RWHermQREigServer< TypeT > RWHermRangeEigServer< TypeT > RWHermRFQREigServer< TypeT > RWHermSomeEigServer< TypeT >

List of all members.

Public Member Functions

virtual RWHermEigDecomp< TypeT > operator() (const RWHermMat< TypeT > &A)
virtual RWHermEigDecomp< TypeT > operator() (const RWHermBandMat< TypeT > &A)
virtual RWSymEigDecomp< double > decompose (const RWTriDiagDecomp< TypeT > &A)=0
virtual bool computeEigenVectors () const =0

Detailed Description

template<class TypeT>
class RWHermEigServer< TypeT >

The class RWHermEigServer<T> is an abstract base class for the Hermitian eigenvalue server. For each precision, the Linear Algebra Module provides several derived types:

This base class serves two purposes:

The common implementation includes a set of protected routines to modify a given RWHermEigDecomp<T> object. This way, all server classes, including any that you write, can access the internals of the decomposition object without being explicitly listed as friend classes.

Synopsis

 #include <rw/lapack/heigsrv.h>
 
 RWHermEigServer<DComplex> server;
 RWHermEigDecomp<DComplex> eig = server(A);  // A is a RWHermMat<DComplex>

Examples

See the specific server subclasses for examples.


Member Function Documentation

template<class TypeT>
virtual bool RWHermEigServer< TypeT >::computeEigenVectors (  )  const [pure virtual]

Returns true if this server is configured to compute eigenvectors as well as eigenvalues.

Implemented in RWHermQREigServer< TypeT >, RWHermPDQREigServer< TypeT >, RWHermRFQREigServer< TypeT >, RWHermSomeEigServer< TypeT >, and RWHermRangeEigServer< TypeT >.

template<class TypeT>
virtual RWSymEigDecomp<double> RWHermEigServer< TypeT >::decompose ( const RWTriDiagDecomp< TypeT > &  A  )  [pure virtual]

Computes the eigenvalue decomposition of the tridiagonal matrix inside the tridiagonal decomposition. This pure virtual function is implemented in the specific server classes. It is used to implement the default operator()() functions.

Implemented in RWHermQREigServer< TypeT >, RWHermPDQREigServer< TypeT >, RWHermRFQREigServer< TypeT >, RWHermSomeEigServer< TypeT >, and RWHermRangeEigServer< TypeT >.

template<class TypeT>
virtual RWHermEigDecomp<TypeT> RWHermEigServer< TypeT >::operator() ( const RWHermBandMat< TypeT > &  A  )  [virtual]

Computes a Hermitian eigenvalue decomposition. The default method implemented in this class first constructs a tridiagonal decomposition from the given matrix, next computes the eigenvalue decomposition for that decomposition, and finally transforms the eigenvectors as required.

If self is an instance of RWHermPDQREigServer<T>, the matrix you pass in must be positive definite.

template<class TypeT>
virtual RWHermEigDecomp<TypeT> RWHermEigServer< TypeT >::operator() ( const RWHermMat< TypeT > &  A  )  [virtual]

Computes a Hermitian eigenvalue decomposition. The default method implemented in this class first constructs a tridiagonal decomposition from the given matrix, next computes the eigenvalue decomposition for that decomposition, and finally transforms the eigenvectors as required.

If self is an instance of RWHermPDQREigServer<T>, the matrix you pass in must be positive definite.

 All Classes Functions Variables Typedefs Enumerations Enumerator Friends

© 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.