Anasazi  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
AnasaziTypes.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_TYPES_HPP
11 #define ANASAZI_TYPES_HPP
12 
13 #include "AnasaziConfigDefs.hpp"
14 #include "Teuchos_RCP.hpp"
15 #include "Teuchos_ScalarTraits.hpp"
16 
21 namespace Anasazi {
22 
23 typedef Teuchos_Ordinal Array_size_type;
24 
26 
27 
31  class AnasaziError : public std::logic_error {
32  public: AnasaziError(const std::string& what_arg) : std::logic_error(what_arg) {}
33  };
34 
36 
38 
39 
41  template <class ScalarType>
42  struct Value {
48  realpart=rp;imagpart=ip;
49  }
50  Value<ScalarType> &operator=(const Value<ScalarType> &rhs) {
52  return *this;
53  }
54  };
55 
57  template <class ScalarType, class MV>
58  struct Eigensolution {
64  std::vector<Value<ScalarType> > Evals;
73  std::vector<int> index;
75  int numVecs;
76 
77  Eigensolution() : Evecs(),Espace(),Evals(0),index(0),numVecs(0) {}
78  };
79 
81 
83 
84 
88  enum ReturnType
89  {
92  };
93 
94 
99  enum ConjType
100  {
103  };
104 
105 
110  {
111  Passed = 0x1,
112  Failed = 0x2,
113  Undefined = 0x4
114  };
115 
119  enum ResType {
120  RES_ORTH,
121  RES_2NORM,
122  RITZRES_2NORM
123  };
124 
125 
129  enum MsgType
130  {
131  Errors = 0,
132  Warnings = 0x1,
134  OrthoDetails = 0x4,
135  FinalSummary = 0x8,
136  TimingDetails = 0x10,
138  Debug = 0x40
139  };
140 
142 
143 } // end of namespace Anasazi
144 #endif
145 // end of file AnasaziTypes.hpp
std::vector< Value< ScalarType > > Evals
The computed eigenvalues.
ResType
Enumerated type used to specify which residual norm used by residual norm status tests.
Teuchos::ScalarTraits< ScalarType >::magnitudeType imagpart
The imaginary component of the eigenvalue.
Teuchos::RCP< MV > Evecs
The computed eigenvectors.
An exception class parent to all Anasazi exceptions.
TestStatus
Enumerated type used to pass back information from a StatusTest.
int numVecs
The number of computed eigenpairs.
ConjType
Enumerated types used to specify conjugation arguments.
Teuchos::RCP< MV > Espace
An orthonormal basis for the computed eigenspace.
ReturnType
Enumerated type used to pass back information from a solver manager.
std::vector< int > index
An index into Evecs to allow compressed storage of eigenvectors for real, non-Hermitian problems...
This struct is used for storing eigenvalues and Ritz values, as a pair of real values.
Anasazi header file which uses auto-configuration information to include necessary C++ headers...
Struct for storing an eigenproblem solution.
MsgType
Enumerated list of available message types recognized by the eigensolvers.
Teuchos::ScalarTraits< ScalarType >::magnitudeType realpart
The real component of the eigenvalue.