Server for symmetric eigenvalues that allows the computation of only the eigenvalues in a given range and (optionally) their corresponding eigenvectors. More...
#include <rw/lapack/seigsrv.h>
Public Member Functions | |
| RWSymRangeEigServer (bool computeVecs=true) | |
| virtual bool | computeEigenVectors () const |
| void | computeEigenVectors (bool computeVecs) |
| virtual RWSymEigDecomp< TypeT > | decompose (const RWTriDiagDecomp< TypeT > &A) |
| TypeT | setLarge (TypeT large) |
| void | setRange (TypeT from, TypeT to) |
| TypeT | setSmall (TypeT small) |
| TypeT | setTolerance (TypeT tolerance) |
Public Member Functions inherited from RWSymEigServer< TypeT > | |
| virtual RWSymEigDecomp< TypeT > | operator() (const RWSymMat< TypeT > &A) |
| virtual RWSymEigDecomp< TypeT > | operator() (const RWSymBandMat< TypeT > &A) |
The symmetric eigenvalue server class, RWSymRangeEigServer, allows the computation of only the eigenvalues in a given range and (optionally) their corresponding eigenvectors. The computation uses the bisection method to find the eigenvalues, followed by inverse iteration to find the eigenvectors.
| RWSymRangeEigServer< TypeT >::RWSymRangeEigServer | ( | bool | computeVecs = true | ) |
Constructs a server. The parameter indicates whether this server should be configured to compute eigenvectors as well as eigenvalues. The new server is configured to compute all eigenvalues.
|
virtual |
Returns true if this server is configured to compute eigenvectors as well as eigenvalues.
Implements RWSymEigServer< TypeT >.
| void RWSymRangeEigServer< TypeT >::computeEigenVectors | ( | bool | computeVecs | ) |
Sets whether or not the server should compute eigenvectors as well as eigenvalues.
|
virtual |
Computes the eigenvalue decomposition of the tridiagonal matrix inside the tridiagonal decomposition.
Implements RWSymEigServer< TypeT >.
| TypeT RWSymRangeEigServer< TypeT >::setLarge | ( | TypeT | large | ) |
Sets the upper boundary on the range of eigenvalues to be computed. Returns the previous upper boundary.
| void RWSymRangeEigServer< TypeT >::setRange | ( | TypeT | from, |
| TypeT | to | ||
| ) |
Sets the range of eigenvalues to be computed. To set up a range which is open on one side (extends to infinity), you can use the setSmall() or setLarge() functions.
| TypeT RWSymRangeEigServer< TypeT >::setSmall | ( | TypeT | small | ) |
Sets the lower boundary on the range of eigenvalues to be computed. Returns the previous lower boundary.
| TypeT RWSymRangeEigServer< TypeT >::setTolerance | ( | TypeT | tolerance | ) |
Sets the tolerance to which you must compute the eigenvalues. Returns the previous tolerance.
|
Copyright © 2021 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |