Module: Linear Algebra Group: Nonsymmetric Eigenvalue Decomposition classes
Does not inherit
#include <rw/lapack/eigsrv.h> RWEigDecomp<double> eig = server(A); // server is a
// RWEigServer<double>
The class RWEigServer<T> is an abstract base class for the nonsymmetric eigenvalue servers. For each precision, the Linear Algebra Module supplies two derived types:
The class RWSchurEigServer<T> uses the Schur decomposition method to compute the eigenvalue decomposition.
The class RWHessEigServer<T> computes the eigenvalues directly from the Hessenberg decomposition, then uses 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, RWEigDecomp<T>, 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 RWEigDecomp<T> object, we effectively make all subclasses of RWEigServer<T> friends to the decomposition. This way, servers can be added in the future without changing the decomposition object code.
virtual RWEigDecomp<T>
RWEigServer<T>::operator()(const RWGenMat<T>& A);
Creates a decomposition using the server.
© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.