SourcePro C++ 12.0 |
SourcePro® C++ API Reference Guide |
SourcePro C++ Documentation Home |
Abstract base class for the symmetric eigenvalue server. More...
#include <rw/lapack/seigsrv.h>
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 |
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.
#include <rw/lapack/seigsrv.h> RWSymEigServer<double> server; RWSymEigDecomp<double> eig = server(A); // A is a RWSymMat<double>
See the specific server subclasses for examples.
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 >.
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 >.
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.
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.
© 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.