#include <AnasaziMultiVecTraits.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 > | CloneView (MV &mv, const std::vector< int > &index) |
Creates a new MV that shares the selected contents of mv (shallow copy). | |
| 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). | |
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. | |
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 | 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. . | |
| 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]. | |
Norm method | |
| static void | MvNorm (const MV &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 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 | 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. | |
An adapter for this traits class must exist for the MV type. If not, this class will produce a compile-time error.
| static Teuchos::RCP<MV> Anasazi::MultiVecTraits< ScalarType, MV >::Clone | ( | const MV & | mv, | |
| const int | numvecs | |||
| ) | [inline, static] |
Creates a new empty MV containing numvecs columns.
MV. | static Teuchos::RCP<MV> Anasazi::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. | static Teuchos::RCP<MV> Anasazi::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. | static Teuchos::RCP<MV> Anasazi::MultiVecTraits< ScalarType, MV >::CloneView | ( | 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. | static Teuchos::RCP<const MV> Anasazi::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. | static int Anasazi::MultiVecTraits< ScalarType, MV >::GetVecLength | ( | const MV & | mv | ) | [inline, static] |
Obtain the vector length of mv.
| static int Anasazi::MultiVecTraits< ScalarType, MV >::GetNumberVecs | ( | const MV & | mv | ) | [inline, static] |
Obtain the number of vectors in mv.
| static void Anasazi::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
.
| static void Anasazi::MultiVecTraits< ScalarType, MV >::MvAddMv | ( | const ScalarType | alpha, | |
| const MV & | A, | |||
| const ScalarType | beta, | |||
| const MV & | B, | |||
| MV & | mv | |||
| ) | [inline, static] |
Replace mv with
.
| static void Anasazi::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
.
| static void Anasazi::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.
.
| static void Anasazi::MultiVecTraits< ScalarType, MV >::MvScale | ( | MV & | mv, | |
| const ScalarType | alpha | |||
| ) | [inline, static] |
Scale each element of the vectors in mv with alpha.
| static void Anasazi::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].
| static void Anasazi::MultiVecTraits< ScalarType, MV >::MvNorm | ( | const MV & | 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.
| static void Anasazi::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].
| static void Anasazi::MultiVecTraits< ScalarType, MV >::MvRandom | ( | MV & | mv | ) | [inline, static] |
Replace the vectors in mv with random vectors.
| static void Anasazi::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.
| static void Anasazi::MultiVecTraits< ScalarType, MV >::MvPrint | ( | const MV & | mv, | |
| std::ostream & | os | |||
| ) | [inline, static] |
Print the mv multi-vector to the os output stream.
1.4.7