SourcePro® 2023.1 |
SourcePro® API Reference Guide |
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 © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |