>
#include <rw/fseigsrv.h> // FloatSymPDQREigServer #include <rw/dseigsrv.h> // DoubleSymPDQREigServer #include <rw/cheigsrv.h> // DComplexHermPDQREigServer DoubleSymPDQREigServer server; DoubleSymEigDecomp eig = server(A); // A is a // DoubleSym[Band]Mat>
The classes {TYPE}SymPDQREigServer and DComplexHermPDQREigServer are the servers for the positive definite QR method of computing eigenvalues. These servers apply only to matrices that you know are positive definite. Trying to use them on nonpositive definite matrices results in a decomposition with the incomplete flag set; you can test for this in the classes {TYPE}SymEigDecomp. Use of these servers with positive definite matrices can result in much more accurate eigenvalues and eigenvectors.
>#include <rw/dseigsrv.h> main() { DoubleSymMat A; // input a matrix cin >> A; DoublePDQREigServer server; // configure a server server.computeEigenVectors(FALSE); // turn off eigenvectors DoubleSymEigDecomp eig = server(A); }>
FloatSymPDQREigServer(RWBoolean computeVecs=TRUE); DoubleSymPDQREigServer(RWBoolean computeVecs=TRUE); DComplexHermPDQREigServer(RWBoolean computeVecs=TRUE);
Constructs a server. The parameter indicates whether this server should be configured to compute eigenvectors as well as eigenvalues.
void FloatSymPDQREigServer::computeEigenVectors(RWBoolean); void DoubleSymPDQREigServer::computeEigenVectors(RWBoolean); void DComplexHermPDQREigServer::computeEigenVectors(RWBoolean);
Sets whether or not the server should compute eigenvectors as well as eigenvalues.
RWBoolean FloatSymPDQREigServer::computeEigenVectors() const; RWBoolean DoubleSymPDQREigServer::computeEigenVectors() const; RWBoolean DComplexHermPDQREigServer::computeEigenVectors() const;
Returns TRUE if this server is configured to compute eigenvectors as well as eigenvalues.
FloatSymEigDecomp FloatSymPDQREigServer::decompose
(const FloatSymTriDiagDecomp& A) const DoubleSymEigDecomp DoubleSymPDQREigServer::decompose
(const DoubleSymTriDiagDecomp& A) const DoubleSymEigDecomp DComplexHermPDQREigServer::decompose
(const DoubleSymTriDiagDecomp& A) const
Computes the eigenvalue decomposition of the tridiagonal matrix inside the tridiagonal decomposition.
FloatSymEigDecomp FloatSymPDQREigDecomp::operator()
(const FloatSymMat& A) const; FloatSymEigDecomp FloatSymPDQREigDecomp::operator()
(const FloatSymBandMat& A) const; DoubleSymEigDecomp DoubleSymPDQREigDecomp::operator()
(const DoubleSymMat& A) const; DoubleSymEigDecomp DoubleSymPDQREigDecomp::operator()
(const DoubleSymBandMat& A) const; DComplexSymEigDecomp DComplexSymPDQREigDecomp::operator()
(const DComplexSymMat& A) const; DComplexHermEigDecomp DComplexHermPDQREigDecomp::operator()
(const DComplexHermBandMat& A) const;
Computes a symmetric eigenvalue decomposition. The matrix you pass in must be positive definite.
©Copyright 1999, Rogue Wave Software, Inc.
Send mail to report errors or comment on the documentation.