Anasazi::SortManager< ScalarType, MV, OP > Class Template Reference

Anasazi's templated pure virtual class for managing the sorting of approximate eigenvalues computed by the eigensolver. More...

#include <AnasaziSortManager.hpp>

Inheritance diagram for Anasazi::SortManager< ScalarType, MV, OP >:

Anasazi::BasicSort< ScalarType, MV, OP > List of all members.

Public Member Functions

 SortManager ()
 Default Constructor.
virtual ~SortManager ()
 Destructor.
virtual void sort (Eigensolver< ScalarType, MV, OP > *solver, const int n, std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &evals, std::vector< int > *perm=0) const =0
 Sort the vector of eigenvalues, optionally returning the permutation vector.
virtual void sort (Eigensolver< ScalarType, MV, OP > *solver, const int n, std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &r_evals, std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &i_evals, std::vector< int > *perm=0) const =0
 Sort the vectors of eigenpairs, optionally returning the permutation vector.

Detailed Description

template<class ScalarType, class MV, class OP>
class Anasazi::SortManager< ScalarType, MV, OP >

Anasazi's templated pure virtual class for managing the sorting of approximate eigenvalues computed by the eigensolver.

A concrete implementation of this class is necessary. The user can create their own implementation if those supplied are not suitable for their needs.

Author:
Ulrich Hetmaniuk, Rich Lehoucq, and Heidi Thornquist

Definition at line 69 of file AnasaziSortManager.hpp.


Constructor & Destructor Documentation

template<class ScalarType, class MV, class OP>
Anasazi::SortManager< ScalarType, MV, OP >::SortManager  )  [inline]
 

Default Constructor.

Definition at line 74 of file AnasaziSortManager.hpp.

template<class ScalarType, class MV, class OP>
virtual Anasazi::SortManager< ScalarType, MV, OP >::~SortManager  )  [inline, virtual]
 

Destructor.

Definition at line 77 of file AnasaziSortManager.hpp.


Member Function Documentation

template<class ScalarType, class MV, class OP>
virtual void Anasazi::SortManager< ScalarType, MV, OP >::sort Eigensolver< ScalarType, MV, OP > *  solver,
const int  n,
std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &  evals,
std::vector< int > *  perm = 0
const [pure virtual]
 

Sort the vector of eigenvalues, optionally returning the permutation vector.

Parameters:
solver [in] Eigensolver that is calling the sorting routine
n [in] Number of values in evals to be sorted.
evals [in/out] Vector of length n containing the eigenvalues to be sorted
perm [out] Vector of length n to store the permutation index (optional)

Implemented in Anasazi::BasicSort< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual void Anasazi::SortManager< ScalarType, MV, OP >::sort Eigensolver< ScalarType, MV, OP > *  solver,
const int  n,
std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &  r_evals,
std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &  i_evals,
std::vector< int > *  perm = 0
const [pure virtual]
 

Sort the vectors of eigenpairs, optionally returning the permutation vector.

This routine takes two vectors, one for each part of a complex eigenvalue. This is helpful for solving real, non-symmetric eigenvalue problems.

Parameters:
solver [in] Eigensolver that is calling the sorting routine
n [in] Number of values in r_evals,i_evals to be sorted.
r_evals [in/out] Vector of length n containing the real part of the eigenvalues to be sorted
i_evals [in/out] Vector of length n containing the imaginary part of the eigenvalues to be sorted
perm [out] Vector of length n to store the permutation index (optional)

Implemented in Anasazi::BasicSort< ScalarType, MV, OP >.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:31:39 2008 for Anasazi by doxygen 1.3.9.1