SourcePro® 2021.1 |
SourcePro® API Reference Guide |
Product Documentation: SourcePro Documentation Home |
Encapsulates Schur decomposition eigenvalue servers used to construct eigenvalue decomposition objects of type RWEigDecomp from Schur decompositions. More...
#include <rw/lapack/eigsrv.h>
Public Member Functions | |
RWSchurEigServer (bool computeLeftVecs=true, bool computeRightVecs=true, bool scale=true, bool permute=true) | |
void | balance (bool) |
bool | computeAllEigenVectors () const |
bool | computeLeftEigenVectors () const |
void | computeLeftEigenVectors (bool) |
bool | computeRightEigenVectors () const |
void | computeRightEigenVectors (bool) |
virtual RWEigDecomp< TypeT > | operator() (const RWGenMat< TypeT > &A) |
virtual RWEigDecomp< TypeT > | operator() (const RWBalanceDecomp< TypeT > &A) |
virtual RWEigDecomp< TypeT > | operator() (const RWHessenbergDecomp< TypeT > &A) |
virtual RWEigDecomp< TypeT > | operator() (const RWSchurDecomp< TypeT > &A) |
bool | permute () const |
void | permute (bool) |
bool | scale () const |
void | scale (bool) |
void | selectEigenVectors (const RWMathVec< int > &) |
void | selectEigenVectors (const RWSlice &) |
The class RWSchurEigServer encapsulates Schur decomposition eigenvalue servers. These servers are used to construct eigenvalue decomposition objects of type RWEigDecomp from Schur decompositions. A server can be configured to control which eigenvectors are computed, and other details of the computation.
RWSchurEigServer< TypeT >::RWSchurEigServer | ( | bool | computeLeftVecs = true , |
bool | computeRightVecs = true , |
||
bool | scale = true , |
||
bool | permute = true |
||
) |
Constructs a server. You can adjust some basic options at construction time, or adjust them later using member functions.
void RWSchurEigServer< TypeT >::balance | ( | bool | ) |
Controls whether to do permutation and scaling transformations (balancing) before computing the eigenvalue decomposition.
bool RWSchurEigServer< TypeT >::computeAllEigenVectors | ( | ) | const |
Returns true
if this server is configured to compute all the eigenvectors.
bool RWSchurEigServer< TypeT >::computeLeftEigenVectors | ( | ) | const |
Returns whether or not this server is configured to compute the left eigenvectors.
void RWSchurEigServer< TypeT >::computeLeftEigenVectors | ( | bool | ) |
Configures whether or not left eigenvectors are to be computed.
bool RWSchurEigServer< TypeT >::computeRightEigenVectors | ( | ) | const |
Returns whether or not this server is configured to compute the right eigenvectors.
void RWSchurEigServer< TypeT >::computeRightEigenVectors | ( | bool | ) |
Configures whether or not right eigenvectors are to be computed.
|
virtual |
Computes an eigenvalue decomposition.
Implements RWEigServer< TypeT >.
|
virtual |
Computes an eigenvalue decomposition.
|
virtual |
Computes an eigenvalue decomposition.
|
virtual |
Computes an eigenvalue decomposition.
bool RWSchurEigServer< TypeT >::permute | ( | ) | const |
Returns true
if the server is configured to attempt a permutation before computing the eigenvalues. Sometimes this can result in less computation.
void RWSchurEigServer< TypeT >::permute | ( | bool | ) |
Configures whether or not to do a permutation transformation before computing the eigenvalues. Sometimes this can result in less computation.
bool RWSchurEigServer< TypeT >::scale | ( | ) | const |
Returns true
if the server is configured to do a scaling transformation before computing the eigenvalues. Sometimes this transformation can result in more accurate eigenvalues.
void RWSchurEigServer< TypeT >::scale | ( | bool | ) |
Configures whether or not to do a scaling transformation before computing the eigenvalues. Sometimes this transformation can result in more accurate eigenvalues.
void RWSchurEigServer< TypeT >::selectEigenVectors | ( | const RWMathVec< int > & | ) |
Selects which eigenvectors are to be computed. This call causes the server to forget which eigenvectors were previously selected. With a real (as opposed to complex) eigenserver object, selecting either of a complex conjugate pair of eigenvalues causes both to be selected.
void RWSchurEigServer< TypeT >::selectEigenVectors | ( | const RWSlice & | ) |
Selects which eigenvectors are to be computed. This call causes the server to forget which eigenvectors were previously selected. With a real (as opposed to complex) eigenserver object, selecting either of a complex conjugate pair of eigenvalues causes both to be selected.
Copyright © 2021 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |