Specialization of MultiVecTraits using Thyra::MultiVectorBase.
More...
#include <BelosThyraAdapter.hpp>
|
typedef Thyra::MultiVectorBase< ScalarType > | TMVB |
|
typedef Teuchos::ScalarTraits< ScalarType > | ST |
|
typedef ST::magnitudeType | magType |
|
|
static Teuchos::RCP< TMVB > | Clone (const TMVB &mv, const int numvecs) |
| Creates a new empty MultiVectorBase containing numvecs columns. More...
|
|
static Teuchos::RCP< TMVB > | CloneCopy (const TMVB &mv) |
| Creates a new MultiVectorBase and copies contents of mv into the new std::vector (deep copy). More...
|
|
static Teuchos::RCP< TMVB > | CloneCopy (const TMVB &mv, const std::vector< int > &index) |
| Creates a new MultiVectorBase and copies the selected contents of mv into the new std::vector (deep copy). More...
|
|
static Teuchos::RCP< TMVB > | CloneCopy (const TMVB &mv, const Teuchos::Range1D &index) |
|
static Teuchos::RCP< TMVB > | CloneViewNonConst (TMVB &mv, const std::vector< int > &index) |
| Creates a new MultiVectorBase that shares the selected contents of mv (shallow copy). More...
|
|
static Teuchos::RCP< TMVB > | CloneViewNonConst (TMVB &mv, const Teuchos::Range1D &index) |
|
static Teuchos::RCP< const TMVB > | CloneView (const TMVB &mv, const std::vector< int > &index) |
| Creates a new const MultiVectorBase that shares the selected contents of mv (shallow copy). More...
|
|
static Teuchos::RCP< const TMVB > | CloneView (const TMVB &mv, const Teuchos::Range1D &index) |
|
|
static void | MvTimesMatAddMv (const ScalarType alpha, const TMVB &A, const Teuchos::SerialDenseMatrix< int, ScalarType > &B, const ScalarType beta, TMVB &mv) |
| Update mv with . More...
|
|
static void | MvAddMv (const ScalarType alpha, const TMVB &A, const ScalarType beta, const TMVB &B, TMVB &mv) |
| Replace mv with . More...
|
|
static void | MvScale (TMVB &mv, const ScalarType alpha) |
| Scale each element of the vectors in *this with alpha . More...
|
|
static void | MvScale (TMVB &mv, const std::vector< ScalarType > &alpha) |
| Scale each element of the i-th vector in *this with alpha [i]. More...
|
|
static void | MvTransMv (const ScalarType alpha, const TMVB &A, const TMVB &mv, Teuchos::SerialDenseMatrix< int, ScalarType > &B) |
| Compute a dense matrix B through the matrix-matrix multiply . More...
|
|
static void | MvDot (const TMVB &mv, const TMVB &A, std::vector< ScalarType > &b) |
| Compute a std::vector b where the components are the individual dot-products of the i-th columns of A and mv , i.e. . More...
|
|
|
static void | MvNorm (const TMVB &mv, std::vector< magType > &normvec, NormType type=TwoNorm) |
| Compute the 2-norm of each individual std::vector of mv . Upon return, normvec [i] holds the value of , the i-th column of mv . More...
|
|
|
static void | SetBlock (const TMVB &A, const std::vector< int > &index, TMVB &mv) |
| Copy the vectors in A to a set of vectors in mv indicated by the indices given in index . More...
|
|
static void | SetBlock (const TMVB &A, const Teuchos::Range1D &index, TMVB &mv) |
|
static void | Assign (const TMVB &A, TMVB &mv) |
|
static void | MvRandom (TMVB &mv) |
| Replace the vectors in mv with random vectors. More...
|
|
static void | MvInit (TMVB &mv, ScalarType alpha=Teuchos::ScalarTraits< ScalarType >::zero()) |
| Replace each element of the vectors in mv with alpha . More...
|
|
|
static void | MvPrint (const TMVB &mv, std::ostream &os) |
| Print the mv multi-std::vector to the os output stream. More...
|
|
template<class ScalarType>
class Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >
Specialization of MultiVecTraits using Thyra::MultiVectorBase.
This is a partial specialization of Belos::MultiVecTraits class using the Thyra::MultiVectorBase class. It will ensure that any implementation of Thyra::MultiVectorBase will be accepted by the Belos templated solvers.
Definition at line 81 of file BelosThyraAdapter.hpp.
◆ TMVB
template<class ScalarType >
typedef Thyra::MultiVectorBase<ScalarType> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::TMVB |
|
private |
◆ ST
template<class ScalarType >
typedef Teuchos::ScalarTraits<ScalarType> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::ST |
|
private |
◆ magType
template<class ScalarType >
typedef ST::magnitudeType Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::magType |
|
private |
◆ Clone()
template<class ScalarType >
static Teuchos::RCP<TMVB> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::Clone |
( |
const TMVB & |
mv, |
|
|
const int |
numvecs |
|
) |
| |
|
inlinestatic |
Creates a new empty MultiVectorBase containing numvecs
columns.
- Returns
- Reference-counted pointer to the new MultiVectorBase.
Definition at line 97 of file BelosThyraAdapter.hpp.
◆ CloneCopy() [1/3]
template<class ScalarType >
static Teuchos::RCP<TMVB> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::CloneCopy |
( |
const TMVB & |
mv | ) |
|
|
inlinestatic |
Creates a new MultiVectorBase and copies contents of mv
into the new std::vector (deep copy).
- Returns
- Reference-counted pointer to the new MultiVectorBase.
Definition at line 107 of file BelosThyraAdapter.hpp.
◆ CloneCopy() [2/3]
template<class ScalarType >
static Teuchos::RCP<TMVB> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::CloneCopy |
( |
const TMVB & |
mv, |
|
|
const std::vector< int > & |
index |
|
) |
| |
|
inlinestatic |
Creates a new MultiVectorBase and copies the selected contents of mv
into the new std::vector (deep copy).
The copied vectors from mv
are indicated by the indeX.size()
indices in index
.
- Returns
- Reference-counted pointer to the new MultiVectorBase.
Definition at line 122 of file BelosThyraAdapter.hpp.
◆ CloneCopy() [3/3]
template<class ScalarType >
static Teuchos::RCP<TMVB> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::CloneCopy |
( |
const TMVB & |
mv, |
|
|
const Teuchos::Range1D & |
index |
|
) |
| |
|
inlinestatic |
◆ CloneViewNonConst() [1/2]
template<class ScalarType >
static Teuchos::RCP<TMVB> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::CloneViewNonConst |
( |
TMVB & |
mv, |
|
|
const std::vector< int > & |
index |
|
) |
| |
|
inlinestatic |
Creates a new MultiVectorBase that shares the selected contents of mv
(shallow copy).
The index of the numvecs
vectors shallow copied from mv
are indicated by the indices given in index
.
- Returns
- Reference-counted pointer to the new MultiVectorBase.
Definition at line 152 of file BelosThyraAdapter.hpp.
◆ CloneViewNonConst() [2/2]
template<class ScalarType >
static Teuchos::RCP<TMVB> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::CloneViewNonConst |
( |
TMVB & |
mv, |
|
|
const Teuchos::Range1D & |
index |
|
) |
| |
|
inlinestatic |
◆ CloneView() [1/2]
template<class ScalarType >
static Teuchos::RCP<const TMVB> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::CloneView |
( |
const TMVB & |
mv, |
|
|
const std::vector< int > & |
index |
|
) |
| |
|
inlinestatic |
Creates a new const MultiVectorBase that shares the selected contents of mv
(shallow copy).
The index of the numvecs
vectors shallow copied from mv
are indicated by the indices given in index
.
- Returns
- Reference-counted pointer to the new const MultiVectorBase.
Definition at line 204 of file BelosThyraAdapter.hpp.
◆ CloneView() [2/2]
template<class ScalarType >
static Teuchos::RCP<const TMVB> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::CloneView |
( |
const TMVB & |
mv, |
|
|
const Teuchos::Range1D & |
index |
|
) |
| |
|
inlinestatic |
◆ GetGlobalLength()
template<class ScalarType >
static ptrdiff_t Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::GetGlobalLength |
( |
const TMVB & |
mv | ) |
|
|
inlinestatic |
◆ GetNumberVecs()
template<class ScalarType >
static int Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::GetNumberVecs |
( |
const TMVB & |
mv | ) |
|
|
inlinestatic |
◆ MvTimesMatAddMv()
template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvTimesMatAddMv |
( |
const ScalarType |
alpha, |
|
|
const TMVB & |
A, |
|
|
const Teuchos::SerialDenseMatrix< int, ScalarType > & |
B, |
|
|
const ScalarType |
beta, |
|
|
TMVB & |
mv |
|
) |
| |
|
inlinestatic |
◆ MvAddMv()
template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvAddMv |
( |
const ScalarType |
alpha, |
|
|
const TMVB & |
A, |
|
|
const ScalarType |
beta, |
|
|
const TMVB & |
B, |
|
|
TMVB & |
mv |
|
) |
| |
|
inlinestatic |
◆ MvScale() [1/2]
template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvScale |
( |
TMVB & |
mv, |
|
|
const ScalarType |
alpha |
|
) |
| |
|
inlinestatic |
◆ MvScale() [2/2]
template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvScale |
( |
TMVB & |
mv, |
|
|
const std::vector< ScalarType > & |
alpha |
|
) |
| |
|
inlinestatic |
◆ MvTransMv()
template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvTransMv |
( |
const ScalarType |
alpha, |
|
|
const TMVB & |
A, |
|
|
const TMVB & |
mv, |
|
|
Teuchos::SerialDenseMatrix< int, ScalarType > & |
B |
|
) |
| |
|
inlinestatic |
◆ MvDot()
template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvDot |
( |
const TMVB & |
mv, |
|
|
const TMVB & |
A, |
|
|
std::vector< ScalarType > & |
b |
|
) |
| |
|
inlinestatic |
Compute a std::vector b
where the components are the individual dot-products of the i-th
columns of A
and mv
, i.e.
.
Definition at line 341 of file BelosThyraAdapter.hpp.
◆ MvNorm()
template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvNorm |
( |
const TMVB & |
mv, |
|
|
std::vector< magType > & |
normvec, |
|
|
NormType |
type = TwoNorm |
|
) |
| |
|
inlinestatic |
Compute the 2-norm of each individual std::vector of mv
. Upon return, normvec
[i] holds the value of
, the i-th
column of mv
.
Definition at line 352 of file BelosThyraAdapter.hpp.
◆ SetBlock() [1/2]
template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::SetBlock |
( |
const TMVB & |
A, |
|
|
const std::vector< int > & |
index, |
|
|
TMVB & |
mv |
|
) |
| |
|
inlinestatic |
Copy the vectors in A
to a set of vectors in mv
indicated by the indices given in index
.
Definition at line 373 of file BelosThyraAdapter.hpp.
◆ SetBlock() [2/2]
template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::SetBlock |
( |
const TMVB & |
A, |
|
|
const Teuchos::Range1D & |
index, |
|
|
TMVB & |
mv |
|
) |
| |
|
inlinestatic |
◆ Assign()
template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::Assign |
( |
const TMVB & |
A, |
|
|
TMVB & |
mv |
|
) |
| |
|
inlinestatic |
◆ MvRandom()
template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvRandom |
( |
TMVB & |
mv | ) |
|
|
inlinestatic |
◆ MvInit()
template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvInit |
( |
TMVB & |
mv, |
|
|
ScalarType |
alpha = Teuchos::ScalarTraits<ScalarType>::zero() |
|
) |
| |
|
inlinestatic |
◆ MvPrint()
template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvPrint |
( |
const TMVB & |
mv, |
|
|
std::ostream & |
os |
|
) |
| |
|
inlinestatic |
The documentation for this class was generated from the following file: