|
Anasazi
Version of the Day
|
Specialization of MultiVecTraits for Belos::MultiVec. More...
#include <AnasaziMultiVec.hpp>
Static Public Member Functions | |
Creation methods | |
| static Teuchos::RCP< MultiVec < ScalarType > > | Clone (const MultiVec< ScalarType > &mv, const int numvecs) |
Create a new empty MultiVec containing numvecs columns. | |
| static Teuchos::RCP< MultiVec < ScalarType > > | CloneCopy (const MultiVec< ScalarType > &mv) |
Creates a new Anasazi::MultiVec and copies contents of mv into the new vector (deep copy). | |
| static Teuchos::RCP< MultiVec < ScalarType > > | CloneCopy (const MultiVec< ScalarType > &mv, const std::vector< int > &index) |
Creates a new Anasazi::MultiVec and copies the selected contents of mv into the new vector (deep copy). | |
| static Teuchos::RCP< MultiVec < ScalarType > > | CloneViewNonConst (MultiVec< ScalarType > &mv, const std::vector< int > &index) |
Creates a new Anasazi::MultiVec that shares the selected contents of mv (shallow copy). | |
| static Teuchos::RCP< const MultiVec< ScalarType > > | CloneView (const MultiVec< ScalarType > &mv, const std::vector< int > &index) |
Creates a new const Anasazi::MultiVec that shares the selected contents of mv (shallow copy). | |
Attribute methods | |
| static int | GetVecLength (const MultiVec< ScalarType > &mv) |
Obtain the vector length of mv. | |
| static int | GetNumberVecs (const MultiVec< ScalarType > &mv) |
Obtain the number of vectors in mv. | |
Update methods | |
| static void | MvTimesMatAddMv (ScalarType alpha, const MultiVec< ScalarType > &A, const Teuchos::SerialDenseMatrix< int, ScalarType > &B, ScalarType beta, MultiVec< ScalarType > &mv) |
Update mv with . | |
| static void | MvAddMv (ScalarType alpha, const MultiVec< ScalarType > &A, ScalarType beta, const MultiVec< ScalarType > &B, MultiVec< ScalarType > &mv) |
Replace mv with . | |
| static void | MvTransMv (ScalarType alpha, const MultiVec< ScalarType > &A, const MultiVec< ScalarType > &mv, Teuchos::SerialDenseMatrix< int, ScalarType > &B) |
Compute a dense matrix B through the matrix-matrix multiply . | |
| static void | MvDot (const MultiVec< ScalarType > &mv, const MultiVec< ScalarType > &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. . | |
| static void | MvScale (MultiVec< ScalarType > &mv, ScalarType alpha) |
Scale each element of the vectors in *this with alpha. | |
| static void | MvScale (MultiVec< ScalarType > &mv, const std::vector< ScalarType > &alpha) |
Scale each element of the i-th vector in *this with alpha[i]. | |
Norm method | |
| static void | MvNorm (const MultiVec< ScalarType > &mv, std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &normvec) |
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 MultiVec< ScalarType > &A, const std::vector< int > &index, MultiVec< ScalarType > &mv) |
Copy the vectors in A to a set of vectors in mv indicated by the indices given in index. | |
| static void | MvRandom (MultiVec< ScalarType > &mv) |
Replace the vectors in mv with random vectors. | |
| static void | MvInit (MultiVec< ScalarType > &mv, ScalarType alpha=Teuchos::ScalarTraits< ScalarType >::zero()) |
Replace each element of the vectors in mv with alpha. | |
Print method | |
| static void | MvPrint (const MultiVec< ScalarType > &mv, std::ostream &os) |
Print the mv multi-vector to the os output stream. | |
Specialization of MultiVecTraits for Belos::MultiVec.
Anasazi interfaces to every multivector implementation through a specialization of MultiVecTraits. Thus, we provide a specialization of MultiVecTraits for the MultiVec run-time polymorphic interface above.
| ScalarType | The type of entries in the multivector; the template parameter of MultiVec. |
Definition at line 352 of file AnasaziMultiVec.hpp.
| static Teuchos::RCP<MultiVec<ScalarType> > Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::Clone | ( | const MultiVec< ScalarType > & | mv, |
| const int | numvecs | ||
| ) | [inline, static] |
Create a new empty MultiVec containing numvecs columns.
MultiVec. Definition at line 360 of file AnasaziMultiVec.hpp.
| static Teuchos::RCP<MultiVec<ScalarType> > Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneCopy | ( | const MultiVec< ScalarType > & | mv | ) | [inline, static] |
Creates a new Anasazi::MultiVec and copies contents of mv into the new vector (deep copy).
Anasazi::MultiVec. Definition at line 368 of file AnasaziMultiVec.hpp.
| static Teuchos::RCP<MultiVec<ScalarType> > Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneCopy | ( | const MultiVec< ScalarType > & | mv, |
| const std::vector< int > & | index | ||
| ) | [inline, static] |
Creates a new Anasazi::MultiVec 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.
Anasazi::MultiVec. Definition at line 376 of file AnasaziMultiVec.hpp.
| static Teuchos::RCP<MultiVec<ScalarType> > Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneViewNonConst | ( | MultiVec< ScalarType > & | mv, |
| const std::vector< int > & | index | ||
| ) | [inline, static] |
Creates a new Anasazi::MultiVec 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.
Anasazi::MultiVec. Definition at line 384 of file AnasaziMultiVec.hpp.
| static Teuchos::RCP<const MultiVec<ScalarType> > Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneView | ( | const MultiVec< ScalarType > & | mv, |
| const std::vector< int > & | index | ||
| ) | [inline, static] |
Creates a new const Anasazi::MultiVec 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.
Anasazi::MultiVec. Definition at line 392 of file AnasaziMultiVec.hpp.
| static int Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::GetVecLength | ( | const MultiVec< ScalarType > & | mv | ) | [inline, static] |
Obtain the vector length of mv.
Definition at line 401 of file AnasaziMultiVec.hpp.
| static int Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::GetNumberVecs | ( | const MultiVec< ScalarType > & | mv | ) | [inline, static] |
Obtain the number of vectors in mv.
Definition at line 405 of file AnasaziMultiVec.hpp.
| static void Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvTimesMatAddMv | ( | ScalarType | alpha, |
| const MultiVec< ScalarType > & | A, | ||
| const Teuchos::SerialDenseMatrix< int, ScalarType > & | B, | ||
| ScalarType | beta, | ||
| MultiVec< ScalarType > & | mv | ||
| ) | [inline, static] |
Update mv with
.
Definition at line 415 of file AnasaziMultiVec.hpp.
| static void Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvAddMv | ( | ScalarType | alpha, |
| const MultiVec< ScalarType > & | A, | ||
| ScalarType | beta, | ||
| const MultiVec< ScalarType > & | B, | ||
| MultiVec< ScalarType > & | mv | ||
| ) | [inline, static] |
Replace mv with
.
Definition at line 422 of file AnasaziMultiVec.hpp.
| static void Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvTransMv | ( | ScalarType | alpha, |
| const MultiVec< ScalarType > & | A, | ||
| const MultiVec< ScalarType > & | mv, | ||
| Teuchos::SerialDenseMatrix< int, ScalarType > & | B | ||
| ) | [inline, static] |
Compute a dense matrix B through the matrix-matrix multiply
.
Definition at line 427 of file AnasaziMultiVec.hpp.
| static void Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvDot | ( | const MultiVec< ScalarType > & | mv, |
| const MultiVec< ScalarType > & | 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 440 of file AnasaziMultiVec.hpp.
| static void Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvScale | ( | MultiVec< ScalarType > & | mv, |
| ScalarType | alpha | ||
| ) | [inline, static] |
Scale each element of the vectors in *this with alpha.
Definition at line 452 of file AnasaziMultiVec.hpp.
| static void Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvScale | ( | MultiVec< ScalarType > & | mv, |
| const std::vector< ScalarType > & | alpha | ||
| ) | [inline, static] |
Scale each element of the i-th vector in *this with alpha[i].
Definition at line 456 of file AnasaziMultiVec.hpp.
| static void Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvNorm | ( | const MultiVec< ScalarType > & | mv, |
| std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > & | normvec | ||
| ) | [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 466 of file AnasaziMultiVec.hpp.
| static void Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::SetBlock | ( | const MultiVec< ScalarType > & | A, |
| const std::vector< int > & | index, | ||
| MultiVec< ScalarType > & | 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 477 of file AnasaziMultiVec.hpp.
| static void Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvRandom | ( | MultiVec< ScalarType > & | mv | ) | [inline, static] |
Replace the vectors in mv with random vectors.
Definition at line 482 of file AnasaziMultiVec.hpp.
| static void Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvInit | ( | MultiVec< ScalarType > & | mv, |
| ScalarType | alpha = Teuchos::ScalarTraits<ScalarType>::zero() |
||
| ) | [inline, static] |
Replace each element of the vectors in mv with alpha.
Definition at line 487 of file AnasaziMultiVec.hpp.
| static void Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvPrint | ( | const MultiVec< ScalarType > & | mv, |
| std::ostream & | os | ||
| ) | [inline, static] |
Print the mv multi-vector to the os output stream.
Definition at line 495 of file AnasaziMultiVec.hpp.
1.7.6.1