SourcePro C++ 12.0 |
SourcePro® C++ API Reference Guide |
SourcePro C++ Documentation Home |
Abstract base class for the Hermitian eigenvalue server. More...
#include <rw/lapack/heigsrv.h>
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 |
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.
#include <rw/lapack/heigsrv.h> RWHermEigServer<DComplex> server; RWHermEigDecomp<DComplex> eig = server(A); // A is a RWHermMat<DComplex>
See the specific server subclasses for examples.
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 >.
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 >.
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.
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.
© 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.