Anasazi
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
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
20
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
{
44
typename
Teuchos::ScalarTraits<ScalarType>::magnitudeType
realpart
;
46
typename
Teuchos::ScalarTraits<ScalarType>::magnitudeType
imagpart
;
47
void
set(
const
typename
Teuchos::ScalarTraits<ScalarType>::magnitudeType &rp,
const
typename
Teuchos::ScalarTraits<ScalarType>::magnitudeType &ip){
48
realpart
=rp;
imagpart
=ip;
49
}
50
Value<ScalarType>
&operator=(
const
Value<ScalarType>
&rhs) {
51
realpart
=rhs.
realpart
;
imagpart
=rhs.
imagpart
;
52
return
*
this
;
53
}
54
};
55
57
template
<
class
ScalarType,
class
MV>
58
struct
Eigensolution {
60
Teuchos::RCP<MV>
Evecs
;
62
Teuchos::RCP<MV>
Espace
;
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
{
90
Converged
,
91
Unconverged
92
};
93
94
99
enum
ConjType
100
{
101
NO_CONJ
,
102
CONJ
103
};
104
105
109
enum
TestStatus
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,
133
IterationDetails
= 0x2,
134
OrthoDetails
= 0x4,
135
FinalSummary
= 0x8,
136
TimingDetails
= 0x10,
137
StatusTestDetails
= 0x20,
138
Debug
= 0x40
139
};
140
142
143
}
// end of namespace Anasazi
144
#endif
145
// end of file AnasaziTypes.hpp
AnasaziConfigDefs.hpp
Anasazi header file which uses auto-configuration information to include necessary C++ headers.
Anasazi
Namespace Anasazi contains the classes, structs, enums and utilities used by the Anasazi package.
Anasazi::ReturnType
ReturnType
Enumerated type used to pass back information from a solver manager.
Definition
AnasaziTypes.hpp:89
Anasazi::Unconverged
@ Unconverged
Definition
AnasaziTypes.hpp:91
Anasazi::Converged
@ Converged
Definition
AnasaziTypes.hpp:90
Anasazi::ResType
ResType
Enumerated type used to specify which residual norm used by residual norm status tests.
Definition
AnasaziTypes.hpp:119
Anasazi::ConjType
ConjType
Enumerated types used to specify conjugation arguments.
Definition
AnasaziTypes.hpp:100
Anasazi::CONJ
@ CONJ
Definition
AnasaziTypes.hpp:102
Anasazi::NO_CONJ
@ NO_CONJ
Definition
AnasaziTypes.hpp:101
Anasazi::MsgType
MsgType
Enumerated list of available message types recognized by the eigensolvers.
Definition
AnasaziTypes.hpp:130
Anasazi::Errors
@ Errors
Definition
AnasaziTypes.hpp:131
Anasazi::Debug
@ Debug
Definition
AnasaziTypes.hpp:138
Anasazi::OrthoDetails
@ OrthoDetails
Definition
AnasaziTypes.hpp:134
Anasazi::IterationDetails
@ IterationDetails
Definition
AnasaziTypes.hpp:133
Anasazi::StatusTestDetails
@ StatusTestDetails
Definition
AnasaziTypes.hpp:137
Anasazi::Warnings
@ Warnings
Definition
AnasaziTypes.hpp:132
Anasazi::FinalSummary
@ FinalSummary
Definition
AnasaziTypes.hpp:135
Anasazi::TimingDetails
@ TimingDetails
Definition
AnasaziTypes.hpp:136
Anasazi::TestStatus
TestStatus
Enumerated type used to pass back information from a StatusTest.
Definition
AnasaziTypes.hpp:110
Anasazi::Undefined
@ Undefined
Definition
AnasaziTypes.hpp:113
Anasazi::Passed
@ Passed
Definition
AnasaziTypes.hpp:111
Anasazi::Failed
@ Failed
Definition
AnasaziTypes.hpp:112
Anasazi::Eigensolution::Evecs
Teuchos::RCP< MV > Evecs
The computed eigenvectors.
Definition
AnasaziTypes.hpp:60
Anasazi::Eigensolution::index
std::vector< int > index
An index into Evecs to allow compressed storage of eigenvectors for real, non-Hermitian problems.
Definition
AnasaziTypes.hpp:73
Anasazi::Eigensolution::numVecs
int numVecs
The number of computed eigenpairs.
Definition
AnasaziTypes.hpp:75
Anasazi::Eigensolution::Espace
Teuchos::RCP< MV > Espace
An orthonormal basis for the computed eigenspace.
Definition
AnasaziTypes.hpp:62
Anasazi::Eigensolution::Evals
std::vector< Value< ScalarType > > Evals
The computed eigenvalues.
Definition
AnasaziTypes.hpp:64
Anasazi::Value
This struct is used for storing eigenvalues and Ritz values, as a pair of real values.
Definition
AnasaziTypes.hpp:42
Anasazi::Value::imagpart
Teuchos::ScalarTraits< ScalarType >::magnitudeType imagpart
The imaginary component of the eigenvalue.
Definition
AnasaziTypes.hpp:46
Anasazi::Value::realpart
Teuchos::ScalarTraits< ScalarType >::magnitudeType realpart
The real component of the eigenvalue.
Definition
AnasaziTypes.hpp:44
Generated by
1.17.0