Anasazi
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
AnasaziStubTsqrAdapter.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_StubTsqrAdapter_hpp
11
#define __Anasazi_StubTsqrAdapter_hpp
12
13
#include <
AnasaziConfigDefs.hpp
>
14
#include <Teuchos_ParameterListAcceptorDefaultBase.hpp>
15
#include <Teuchos_ScalarTraits.hpp>
16
#include <Teuchos_SerialDenseMatrix.hpp>
17
#include <Teuchos_TypeNameTraits.hpp>
18
#include <stdexcept>
19
22
23
namespace
Anasazi
{
24
namespace
details {
25
51
template
<
class
MultiVectorType>
52
class
StubTsqrAdapter
:
public
Teuchos::ParameterListAcceptorDefaultBase {
53
public
:
54
typedef
MultiVectorType MV;
55
typedef
double
scalar_type;
// This doesn't really matter
56
typedef
int
ordinal_type;
// This doesn't matter either
57
typedef
int
node_type;
// Nor does this
58
typedef
Teuchos::SerialDenseMatrix<ordinal_type, scalar_type> dense_matrix_type;
59
typedef
typename
Teuchos::ScalarTraits<scalar_type>::magnitudeType magnitude_type;
60
67
StubTsqrAdapter
(
const
Teuchos::RCP<Teuchos::ParameterList>& plist)
68
{
69
TEUCHOS_TEST_FOR_EXCEPTION(
true
, std::logic_error,
"TSQR adapter for "
70
"multivector type \""
<< Teuchos::TypeNameTraits<MV>::name()
71
<<
" is not yet implemented."
);
72
}
73
75
StubTsqrAdapter
()
76
{
77
TEUCHOS_TEST_FOR_EXCEPTION(
true
, std::logic_error,
"TSQR adapter for "
78
"multivector type \""
<< Teuchos::TypeNameTraits<MV>::name()
79
<<
" is not yet implemented."
);
80
}
81
83
StubTsqrAdapter
(
const
StubTsqrAdapter
& rhs)
84
{
85
(void) rhs;
86
TEUCHOS_TEST_FOR_EXCEPTION(
true
, std::logic_error,
"TSQR adapter for "
87
"multivector type \""
<< Teuchos::TypeNameTraits<MV>::name()
88
<<
" is not yet implemented."
);
89
}
90
92
Teuchos::RCP<const Teuchos::ParameterList>
93
getValidParameters
()
const
94
{
95
TEUCHOS_TEST_FOR_EXCEPTION(
true
, std::logic_error,
"TSQR adapter for "
96
"multivector type \""
<< Teuchos::TypeNameTraits<MV>::name()
97
<<
" is not yet implemented."
);
98
}
99
101
void
102
setParameterList
(
const
Teuchos::RCP<Teuchos::ParameterList>& plist)
103
{
104
TEUCHOS_TEST_FOR_EXCEPTION(
true
, std::logic_error,
"TSQR adapter for "
105
"multivector type \""
<< Teuchos::TypeNameTraits<MV>::name()
106
<<
" is not yet implemented."
);
107
}
108
110
void
111
factorExplicit
(MV& A,
112
MV& Q,
113
dense_matrix_type& R,
114
const
bool
forceNonnegativeDiagonal=
false
)
115
{
116
TEUCHOS_TEST_FOR_EXCEPTION(
true
, std::logic_error,
"TSQR adapter for "
117
"multivector type \""
<< Teuchos::TypeNameTraits<MV>::name()
118
<<
" is not yet implemented."
);
119
}
120
122
int
123
revealRank
(MV& Q,
124
dense_matrix_type& R,
125
const
magnitude_type& tol)
126
{
127
// mfh 08 Sep 2012: In order to prevent compiler warnings on
128
// some platforms, we simply return some value. This code can
129
// never execute anyway, since it is in an instance method and
130
// all of the constructors throw exceptions. (We've overridden
131
// the default and copy constructors to throw exceptions.)
132
return
0;
133
}
134
};
135
136
}
// namespace details
137
}
// namespace Anasazi
138
139
#endif
// __Anasazi_StubTsqrAdapter_hpp
AnasaziConfigDefs.hpp
Anasazi header file which uses auto-configuration information to include necessary C++ headers.
Anasazi::details::StubTsqrAdapter::revealRank
int revealRank(MV &Q, dense_matrix_type &R, const magnitude_type &tol)
Rank-revealing decomposition (stub; does nothing).
Definition
AnasaziStubTsqrAdapter.hpp:123
Anasazi::details::StubTsqrAdapter::StubTsqrAdapter
StubTsqrAdapter()
Default constructor (stub; throws std::logic_error).
Definition
AnasaziStubTsqrAdapter.hpp:75
Anasazi::details::StubTsqrAdapter::getValidParameters
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Get list of valid default parameters (stub; throws std::logic_error).
Definition
AnasaziStubTsqrAdapter.hpp:93
Anasazi::details::StubTsqrAdapter::factorExplicit
void factorExplicit(MV &A, MV &Q, dense_matrix_type &R, const bool forceNonnegativeDiagonal=false)
Compute QR factorization [Q,R] = qr(A,0) (stub; throws std::logic_error).
Definition
AnasaziStubTsqrAdapter.hpp:111
Anasazi::details::StubTsqrAdapter::setParameterList
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &plist)
Set parameters (stub; throws std::logic_error).
Definition
AnasaziStubTsqrAdapter.hpp:102
Anasazi::details::StubTsqrAdapter::StubTsqrAdapter
StubTsqrAdapter(const Teuchos::RCP< Teuchos::ParameterList > &plist)
Constructor (that accepts a parameter list).
Definition
AnasaziStubTsqrAdapter.hpp:67
Anasazi::details::StubTsqrAdapter::StubTsqrAdapter
StubTsqrAdapter(const StubTsqrAdapter &rhs)
Copy constructor (throws std::logic_error).
Definition
AnasaziStubTsqrAdapter.hpp:83
Anasazi
Namespace Anasazi contains the classes, structs, enums and utilities used by the Anasazi package.
Generated by
1.17.0