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 Tue Oct 20 12:45:19 2009 for Anasazi by doxygen 1.4.7