SourcePro® API Reference Guide

 
Loading...
Searching...
No Matches
RWEigServer< TypeT > Class Template Referenceabstract

Abstract base class for the nonsymmetric eigenvalue servers. More...

#include <rw/lapack/eigsrv.h>

Inheritance diagram for RWEigServer< TypeT >:
RWHessEigServer< TypeT > RWSchurEigServer< TypeT >

Public Member Functions

virtual RWEigDecomp< TypeT > operator() (const RWGenMat< TypeT > &)=0
 

Detailed Description

template<class TypeT>
class RWEigServer< TypeT >

The class RWEigServer is an abstract base class for the nonsymmetric eigenvalue servers. For each precision, the Linear Algebra Module supplies two derived types:

  • The class RWSchurEigServer uses the Schur decomposition method to compute the eigenvalue decomposition.
  • The class RWHessEigServer 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, 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 object, we effectively make all subclasses of RWEigServer friends to the decomposition. This way, servers can be added in the future without changing the decomposition object code.

Synopsis
#include <rw/lapack/eigsrv.h>
RWEigDecomp<double> eig = server(A); // server is a
// RWEigServer<double>
Encapsulates the eigenvalues and eigenvectors of a nonsymmetric matrix.
Definition eig.h:69

Member Function Documentation

◆ operator()()

template<class TypeT >
virtual RWEigDecomp< TypeT > RWEigServer< TypeT >::operator() ( const RWGenMat< TypeT > & )
pure virtual

Creates a decomposition using the server.

Implemented in RWHessEigServer< TypeT >, and RWSchurEigServer< TypeT >.

Copyright © 2024 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.