Encapsulates Schur decomposition eigenvalue servers used to construct eigenvalue decomposition objects of type RWEigDecomp from Schur decompositions.
More...
#include <rw/lapack/eigsrv.h>
template<class TypeT>
class RWSchurEigServer< TypeT >
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.
- Synopsis
#include <rw/lapack/eigsrv.h>
RWSchurEigDecomp<double> deig = server(A);
Encapsulates Schur decomposition eigenvalue servers used to construct eigenvalue decomposition object...
Definition eigsrv.h:177
- Example
#include <rw/lapack/eigsrv.h>
#include <iostream>
int main() {
std::cin >> A;
RWSchurEigDecomp<double> deig = server(A);
}
A templatized general matrix class.
Definition genmat.h:741
A templatized vector class.
Definition mathvec.h:667
void selectEigenVectors(const RWMathVec< int > &)
◆ RWSchurEigServer()
Constructs a server. You can adjust some basic options at construction time, or adjust them later using member functions.
◆ balance()
Controls whether to do permutation and scaling transformations (balancing) before computing the eigenvalue decomposition.
◆ computeAllEigenVectors()
Returns true
if this server is configured to compute all the eigenvectors.
◆ computeLeftEigenVectors() [1/2]
Returns whether or not this server is configured to compute the left eigenvectors.
◆ computeLeftEigenVectors() [2/2]
Configures whether or not left eigenvectors are to be computed.
◆ computeRightEigenVectors() [1/2]
Returns whether or not this server is configured to compute the right eigenvectors.
◆ computeRightEigenVectors() [2/2]
Configures whether or not right eigenvectors are to be computed.
◆ operator()() [1/4]
Computes an eigenvalue decomposition.
◆ operator()() [2/4]
◆ operator()() [3/4]
Computes an eigenvalue decomposition.
◆ operator()() [4/4]
Computes an eigenvalue decomposition.
◆ permute() [1/2]
Returns true
if the server is configured to attempt a permutation before computing the eigenvalues. Sometimes this can result in less computation.
◆ permute() [2/2]
Configures whether or not to do a permutation transformation before computing the eigenvalues. Sometimes this can result in less computation.
◆ scale() [1/2]
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.
◆ scale() [2/2]
Configures whether or not to do a scaling transformation before computing the eigenvalues. Sometimes this transformation can result in more accurate eigenvalues.
◆ selectEigenVectors() [1/2]
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.
◆ selectEigenVectors() [2/2]
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.