rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

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

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

#include <rw/lapack/seigsrv.h>

Inheritance diagram for RWSymEigServer< TypeT >:
RWSymPDQREigServer< TypeT > RWSymQREigServer< TypeT > RWSymRangeEigServer< TypeT > RWSymRFQREigServer< TypeT > RWSymSomeEigServer< TypeT >

List of all members.

Public Member Functions

virtual RWSymEigDecomp< TypeT > operator() (const RWSymMat< TypeT > &A)
virtual RWSymEigDecomp< TypeT > operator() (const RWSymBandMat< TypeT > &A)
virtual RWSymEigDecomp< TypeT > decompose (const RWTriDiagDecomp< TypeT > &A)=0
virtual bool computeEigenVectors () const =0

Detailed Description

template<class TypeT>
class RWSymEigServer< TypeT >

The class RWSymEigServer<T> is an abstract base class for the symmetric 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 RWSymEigDecomp<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/seigsrv.h>
 
 RWSymEigServer<double> server;
 RWSymEigDecomp<double> eig = server(A);  // A is a RWSymMat<double>

Examples

See the specific server subclasses for examples.


Member Function Documentation

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

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

Implemented in RWSymQREigServer< TypeT >, RWSymPDQREigServer< TypeT >, RWSymRFQREigServer< TypeT >, RWSymSomeEigServer< TypeT >, and RWSymRangeEigServer< TypeT >.

template<class TypeT>
virtual RWSymEigDecomp<TypeT> RWSymEigServer< 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 RWSymQREigServer< TypeT >, RWSymPDQREigServer< TypeT >, RWSymRFQREigServer< TypeT >, RWSymSomeEigServer< TypeT >, and RWSymRangeEigServer< TypeT >.

template<class TypeT>
virtual RWSymEigDecomp<TypeT> RWSymEigServer< TypeT >::operator() ( const RWSymBandMat< TypeT > &  A  )  [virtual]

Computes a symmetric 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 RWSymPDQREigServer<T>, the matrix you pass in must be positive definite.

template<class TypeT>
virtual RWSymEigDecomp<TypeT> RWSymEigServer< TypeT >::operator() ( const RWSymMat< TypeT > &  A  )  [virtual]

Computes a symmetric 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 RWSymPDQREigServer<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.