|
Belos Version of the Day
|
Virtual base class which defines basic traits for the multi-vector type. More...
#include <BelosMultiVecTraits.hpp>
Static Public Member Functions | |
Creation methods | |
| static Teuchos::RCP< MV > | Clone (const MV &mv, const int numvecs) |
Creates a new empty MV containing numvecs columns. | |
| static Teuchos::RCP< MV > | CloneCopy (const MV &mv) |
Creates a new MV and copies contents of mv into the new vector (deep copy). | |
| static Teuchos::RCP< MV > | CloneCopy (const MV &mv, const std::vector< int > &index) |
Creates a new MV and copies the selected contents of mv into the new vector (deep copy). | |
| static Teuchos::RCP< MV > | CloneCopy (const MV &mv, const Teuchos::Range1D &index) |
| Deep copy of specified columns of mv. | |
| static Teuchos::RCP< MV > | CloneViewNonConst (MV &mv, const std::vector< int > &index) |
Creates a new MV that shares the selected contents of mv (shallow copy). | |
| static Teuchos::RCP< MV > | CloneViewNonConst (MV &mv, const Teuchos::Range1D &index) |
| Non-const view of specified columns of mv. | |
| static Teuchos::RCP< const MV > | CloneView (const MV &mv, const std::vector< int > &index) |
Creates a new const MV that shares the selected contents of mv (shallow copy). | |
| static Teuchos::RCP< MV > | CloneView (MV &mv, const Teuchos::Range1D &index) |
| Const view of specified columns of mv. | |
Attribute methods | |
| static int | GetVecLength (const MV &mv) |
Obtain the vector length of mv. | |
| static int | GetNumberVecs (const MV &mv) |
Obtain the number of vectors in mv. | |
| static bool | HasConstantStride (const MV &mv) |
Whether the given multivector mv has constant stride. | |
Update methods | |
| static void | MvTimesMatAddMv (const ScalarType alpha, const MV &A, const Teuchos::SerialDenseMatrix< int, ScalarType > &B, const ScalarType beta, MV &mv) |
Update mv with . | |
| static void | MvAddMv (const ScalarType alpha, const MV &A, const ScalarType beta, const MV &B, MV &mv) |
Replace mv with . | |
| static void | MvScale (MV &mv, const ScalarType alpha) |
Scale each element of the vectors in mv with alpha. | |
| static void | MvScale (MV &mv, const std::vector< ScalarType > &alpha) |
Scale each element of the i-th vector in mv with alpha[i]. | |
| static void | MvTransMv (const ScalarType alpha, const MV &A, const MV &mv, Teuchos::SerialDenseMatrix< int, ScalarType > &B) |
Compute a dense matrix B through the matrix-matrix multiply . | |
| static void | MvDot (const MV &mv, const MV &A, std::vector< ScalarType > &b) |
Compute a vector b where the components are the individual dot-products of the i-th columns of A and mv, i.e. . | |
Norm method | |
| static void | MvNorm (const MV &mv, std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &normvec, NormType type=TwoNorm) |
Compute the 2-norm of each individual vector of mv. Upon return, normvec[i] holds the value of , the i-th column of mv. | |
Initialization methods | |
| static void | SetBlock (const MV &A, const std::vector< int > &index, MV &mv) |
Copy the vectors in A to a set of vectors in mv indicated by the indices given in index. | |
| static void | SetBlock (const MV &A, const Teuchos::Range1D &index, MV &mv) |
| Deep copy of A into specified columns of mv. | |
| static void | Assign (const MV &A, MV &mv) |
| mv := A | |
| static void | MvRandom (MV &mv) |
Replace the vectors in mv with random vectors. | |
| static void | MvInit (MV &mv, const ScalarType alpha=Teuchos::ScalarTraits< ScalarType >::zero()) |
Replace each element of the vectors in mv with alpha. | |
Print method | |
| static void | MvPrint (const MV &mv, std::ostream &os) |
Print the mv multi-vector to the os output stream. | |
Virtual base class which defines basic traits for the multi-vector type.
An adapter for this traits class must exist for the MV type. If not, this class will produce a compile-time error.
BlockCG/BlockCGEpetraExFile.cpp, BlockCG/BlockPrecCGEpetraExFile.cpp, BlockCG/PseudoBlockCGEpetraExFile.cpp, BlockCG/PseudoBlockPrecCGEpetraExFile.cpp, BlockGmres/BlockFlexGmresEpetraExFile.cpp, BlockGmres/BlockGmresEpetraExFile.cpp, BlockGmres/BlockGmresPolyEpetraExFile.cpp, BlockGmres/BlockPrecGmresEpetraExFile.cpp, BlockGmres/PseudoBlockGmresEpetraExFile.cpp, BlockGmres/PseudoBlockPrecGmresEpetraExFile.cpp, GCRODR/GCRODREpetraExFile.cpp, GCRODR/PrecGCRODREpetraExFile.cpp, PCPG/PCPGEpetraExFile.cpp, and TFQMR/TFQMREpetraExFile.cpp.
Definition at line 87 of file BelosMultiVecTraits.hpp.
| static Teuchos::RCP<MV> Belos::MultiVecTraits< ScalarType, MV >::Clone | ( | const MV & | mv, |
| const int | numvecs | ||
| ) | [inline, static] |
Creates a new empty MV containing numvecs columns.
MV. Definition at line 97 of file BelosMultiVecTraits.hpp.
| static Teuchos::RCP<MV> Belos::MultiVecTraits< ScalarType, MV >::CloneCopy | ( | const MV & | mv | ) | [inline, static] |
Creates a new MV and copies contents of mv into the new vector (deep copy).
MV. Definition at line 104 of file BelosMultiVecTraits.hpp.
| static Teuchos::RCP<MV> Belos::MultiVecTraits< ScalarType, MV >::CloneCopy | ( | const MV & | mv, |
| const std::vector< int > & | index | ||
| ) | [inline, static] |
Creates a new MV and copies the selected contents of mv into the new vector (deep copy).
The copied vectors from mv are indicated by the index.size() indices in index.
MV. Definition at line 112 of file BelosMultiVecTraits.hpp.
| static Teuchos::RCP<MV> Belos::MultiVecTraits< ScalarType, MV >::CloneCopy | ( | const MV & | mv, |
| const Teuchos::Range1D & | index | ||
| ) | [inline, static] |
Deep copy of specified columns of mv.
Create a new MV, and copy (deep copy) the columns of mv specified by the given inclusive index range into the new multivector.
| mv | [in] Multivector to copy |
| index | [in] Inclusive index range of columns of mv |
MV. Definition at line 124 of file BelosMultiVecTraits.hpp.
| static Teuchos::RCP<MV> Belos::MultiVecTraits< ScalarType, MV >::CloneViewNonConst | ( | MV & | mv, |
| const std::vector< int > & | index | ||
| ) | [inline, static] |
Creates a new MV 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.
MV. Definition at line 132 of file BelosMultiVecTraits.hpp.
| static Teuchos::RCP<MV> Belos::MultiVecTraits< ScalarType, MV >::CloneViewNonConst | ( | MV & | mv, |
| const Teuchos::Range1D & | index | ||
| ) | [inline, static] |
Non-const view of specified columns of mv.
Return a non-const view of the columns of mv specified by the given inclusive index range.
| mv | [in] Multivector to view (shallow non-const copy) |
| index | [in] Inclusive index range of columns of mv |
Definition at line 143 of file BelosMultiVecTraits.hpp.
| static Teuchos::RCP<const MV> Belos::MultiVecTraits< ScalarType, MV >::CloneView | ( | const MV & | mv, |
| const std::vector< int > & | index | ||
| ) | [inline, static] |
Creates a new const MV 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.
MV. Definition at line 151 of file BelosMultiVecTraits.hpp.
| static Teuchos::RCP<MV> Belos::MultiVecTraits< ScalarType, MV >::CloneView | ( | MV & | mv, |
| const Teuchos::Range1D & | index | ||
| ) | [inline, static] |
Const view of specified columns of mv.
Return a const view of the columns of mv specified by the given inclusive index range.
| mv | [in] Multivector to view (shallow const copy) |
| index | [in] Inclusive index range of columns of mv |
Definition at line 162 of file BelosMultiVecTraits.hpp.
| static int Belos::MultiVecTraits< ScalarType, MV >::GetVecLength | ( | const MV & | mv | ) | [inline, static] |
Obtain the vector length of mv.
Definition at line 171 of file BelosMultiVecTraits.hpp.
| static int Belos::MultiVecTraits< ScalarType, MV >::GetNumberVecs | ( | const MV & | mv | ) | [inline, static] |
Obtain the number of vectors in mv.
Definition at line 175 of file BelosMultiVecTraits.hpp.
| static bool Belos::MultiVecTraits< ScalarType, MV >::HasConstantStride | ( | const MV & | mv | ) | [inline, static] |
Whether the given multivector mv has constant stride.
| mv | [in] Multivector to check |
Knowing whether mv has constant stride is useful for certain orthogonalization methods, for example.
Definition at line 200 of file BelosMultiVecTraits.hpp.
| static void Belos::MultiVecTraits< ScalarType, MV >::MvTimesMatAddMv | ( | const ScalarType | alpha, |
| const MV & | A, | ||
| const Teuchos::SerialDenseMatrix< int, ScalarType > & | B, | ||
| const ScalarType | beta, | ||
| MV & | mv | ||
| ) | [inline, static] |
Update mv with
.
Definition at line 210 of file BelosMultiVecTraits.hpp.
| static void Belos::MultiVecTraits< ScalarType, MV >::MvAddMv | ( | const ScalarType | alpha, |
| const MV & | A, | ||
| const ScalarType | beta, | ||
| const MV & | B, | ||
| MV & | mv | ||
| ) | [inline, static] |
Replace mv with
.
Definition at line 217 of file BelosMultiVecTraits.hpp.
| static void Belos::MultiVecTraits< ScalarType, MV >::MvScale | ( | MV & | mv, |
| const ScalarType | alpha | ||
| ) | [inline, static] |
Scale each element of the vectors in mv with alpha.
Definition at line 222 of file BelosMultiVecTraits.hpp.
| static void Belos::MultiVecTraits< ScalarType, MV >::MvScale | ( | MV & | mv, |
| const std::vector< ScalarType > & | alpha | ||
| ) | [inline, static] |
Scale each element of the i-th vector in mv with alpha[i].
Definition at line 227 of file BelosMultiVecTraits.hpp.
| static void Belos::MultiVecTraits< ScalarType, MV >::MvTransMv | ( | const ScalarType | alpha, |
| const MV & | A, | ||
| const MV & | mv, | ||
| Teuchos::SerialDenseMatrix< int, ScalarType > & | B | ||
| ) | [inline, static] |
Compute a dense matrix B through the matrix-matrix multiply
.
Definition at line 232 of file BelosMultiVecTraits.hpp.
| static void Belos::MultiVecTraits< ScalarType, MV >::MvDot | ( | const MV & | mv, |
| const MV & | A, | ||
| std::vector< ScalarType > & | b | ||
| ) | [inline, static] |
Compute a vector b where the components are the individual dot-products of the i-th columns of A and mv, i.e.
.
Definition at line 237 of file BelosMultiVecTraits.hpp.
| static void Belos::MultiVecTraits< ScalarType, MV >::MvNorm | ( | const MV & | mv, |
| std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > & | normvec, | ||
| NormType | type = TwoNorm |
||
| ) | [inline, static] |
Compute the 2-norm of each individual vector of mv. Upon return, normvec[i] holds the value of
, the i-th column of mv.
Definition at line 247 of file BelosMultiVecTraits.hpp.
| static void Belos::MultiVecTraits< ScalarType, MV >::SetBlock | ( | const MV & | A, |
| const std::vector< int > & | index, | ||
| MV & | mv | ||
| ) | [inline, static] |
Copy the vectors in A to a set of vectors in mv indicated by the indices given in index.
The numvecs vectors in A are copied to a subset of vectors in mv indicated by the indices given in index, i.e. mv[index[i]] = A[i].
Definition at line 259 of file BelosMultiVecTraits.hpp.
| static void Belos::MultiVecTraits< ScalarType, MV >::SetBlock | ( | const MV & | A, |
| const Teuchos::Range1D & | index, | ||
| MV & | mv | ||
| ) | [inline, static] |
Deep copy of A into specified columns of mv.
(Deeply) copy the first index.size() columns of A into the columns of mv specified by the given index range.
Postcondition: mv[i] = A[i - index.lbound()] for all i in [index.lbound(), index.ubound()]
| A | [in] Source multivector |
| index | [in] Inclusive index range of columns of mv; index set of the target |
| mv | [out] Target multivector |
Definition at line 274 of file BelosMultiVecTraits.hpp.
| static void Belos::MultiVecTraits< ScalarType, MV >::Assign | ( | const MV & | A, |
| MV & | mv | ||
| ) | [inline, static] |
| static void Belos::MultiVecTraits< ScalarType, MV >::MvRandom | ( | MV & | mv | ) | [inline, static] |
Replace the vectors in mv with random vectors.
Definition at line 285 of file BelosMultiVecTraits.hpp.
| static void Belos::MultiVecTraits< ScalarType, MV >::MvInit | ( | MV & | mv, |
| const ScalarType | alpha = Teuchos::ScalarTraits<ScalarType>::zero() |
||
| ) | [inline, static] |
Replace each element of the vectors in mv with alpha.
Definition at line 290 of file BelosMultiVecTraits.hpp.
| static void Belos::MultiVecTraits< ScalarType, MV >::MvPrint | ( | const MV & | mv, |
| std::ostream & | os | ||
| ) | [inline, static] |
Print the mv multi-vector to the os output stream.
Definition at line 300 of file BelosMultiVecTraits.hpp.
1.7.4