Anasazi Version of the Day
Loading...
Searching...
No Matches
AnasaziSortManager.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// Anasazi: Block Eigensolvers Package
4//
5// Copyright 2004 NTESS and the Anasazi contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef ANASAZI_SORTMANAGER_HPP
11#define ANASAZI_SORTMANAGER_HPP
12
27#include "AnasaziConfigDefs.hpp"
28#include "AnasaziTypes.hpp"
29#include "Teuchos_Assert.hpp"
30#include "Teuchos_ParameterList.hpp"
31
32
33
34namespace Anasazi {
35
37
38
42 {public: SortManagerError(const std::string& what_arg) : AnasaziError(what_arg) {}};
43
45
46 template<class MagnitudeType>
48
49 public:
50
53
55 SortManager(Teuchos::ParameterList &pl) {};
56
58 virtual ~SortManager() {};
59
70 virtual void sort(std::vector<MagnitudeType> &evals, Teuchos::RCP<std::vector<int> > perm = Teuchos::null, int n = -1) const = 0;
71
90 virtual void sort(std::vector<MagnitudeType> &r_evals,
91 std::vector<MagnitudeType> &i_evals,
92 Teuchos::RCP<std::vector<int> > perm = Teuchos::null,
93 int n = -1) const = 0;
94
95 };
96
97}
98
99#endif // ANASAZI_SORTMANAGER_HPP
100
Anasazi header file which uses auto-configuration information to include necessary C++ headers.
Types and exceptions used within Anasazi solvers and interfaces.
An exception class parent to all Anasazi exceptions.
SortManagerError is thrown when the Anasazi::SortManager is unable to sort the numbers,...
Anasazi's templated pure virtual class for managing the sorting of approximate eigenvalues computed b...
virtual void sort(std::vector< MagnitudeType > &r_evals, std::vector< MagnitudeType > &i_evals, Teuchos::RCP< std::vector< int > > perm=Teuchos::null, int n=-1) const =0
Sort complex eigenvalues, optionally returning the permutation vector.
virtual void sort(std::vector< MagnitudeType > &evals, Teuchos::RCP< std::vector< int > > perm=Teuchos::null, int n=-1) const =0
Sort real eigenvalues, optionally returning the permutation vector.
SortManager()
Default constructor.
SortManager(Teuchos::ParameterList &pl)
Constructor accepting a Teuchos::ParameterList. This is the default mode for instantiating a SortMana...
virtual ~SortManager()
Destructor.
Namespace Anasazi contains the classes, structs, enums and utilities used by the Anasazi package.