>
Member Functions | ||
DComplexEigServer::operator()() |
DoubleEigServer::operator()() |
>#include <rw/deigsrv.h> // DoubleEigServer #include <rw/ceigsrv.h> // DComplexEigServer DoubleEigDecomp eig = server(A); // server is a
// DoubleEigServer
The classes {TYPE}EigServer are abstract base classes for the nonsymmetric eigenvalue servers. For each precision, LAPACK.h++ supplies two derived types:
The classes {TYPE}SchurEigServer use the Schur decomposition method to compute the eigenvalue decomposition.
The classes {TYPE}HessEigServer compute the eigenvalues directly from the Hessenberg decomposition, then use inverse iteration to find the desired eigenvectors. This server is most appropriate when only a few of the eigenvectors are required, about 20% or less.
The reason for having a base class for an eigenvalue server is to allow access to the eigenvalue decomposition objects, {TYPE}EigDecomp, by the different servers. By making the base class a friend to the decomposition object, then providing protected member functions to access the internals of the {TYPE}EigDecomp object, we effectively make all subclasses of {TYPE}EigServer friends to the decomposition. This way, servers can be added in the future without changing the decomposition object code.
>virtual DoubleEigDecomp DoubleEigServer::operator()
(const RWGenMat<double>& A); virtual DComplexEigDecomp DComplexEigServer::operator()
(const RWGenMat<DComplex>& A);
Creates a decomposition using the server.
©Copyright 1999, Rogue Wave Software, Inc.
Send mail to report errors or comment on the documentation.