#include <AnasaziTpetraAdapter.hpp>
Static Public Member Functions | |
Creation methods | |
| static Teuchos::RCP< Tpetra::MultiVector< Scalar, LO, GO > > | Clone (const Tpetra::MultiVector< Scalar, LO, GO > &mv, const int numvecs) |
Creates a new empty Tpetra::MultiVector<Scalar,LO,GO> containing numvecs columns. | |
| static Teuchos::RCP< Tpetra::MultiVector< Scalar, LO, GO > > | CloneCopy (const Tpetra::MultiVector< Scalar, LO, GO > &mv) |
Creates a new Tpetra::MultiVector<Scalar,LO,GO> and copies contents of mv into the new vector (deep copy). | |
| static Teuchos::RCP< Tpetra::MultiVector< Scalar, LO, GO > > | CloneCopy (const Tpetra::MultiVector< Scalar, LO, GO > &mv, const std::vector< int > &index) |
Creates a new Tpetra::MultiVector<Scalar,LO,GO> and copies the selected contents of mv into the new vector (deep copy). | |
| static Teuchos::RCP< Tpetra::MultiVector< Scalar, LO, GO > > | CloneView (Tpetra::MultiVector< Scalar, LO, GO > &mv, const std::vector< int > &index) |
Creates a new Tpetra::MultiVector<Scalar,LO,GO> that shares the selected contents of mv (shallow copy). | |
| static Teuchos::RCP< const Tpetra::MultiVector< Scalar, LO, GO > > | CloneView (const Tpetra::MultiVector< Scalar, LO, GO > &mv, const std::vector< int > &index) |
Creates a new const Tpetra::MultiVector<Scalar,LO,GO> that shares the selected contents of mv (shallow copy). | |
Attribute methods | |
| static int | GetVecLength (const Tpetra::MultiVector< Scalar, LO, GO > &mv) |
Obtain the vector length of mv. | |
| static int | GetNumberVecs (const Tpetra::MultiVector< Scalar, LO, GO > &mv) |
Obtain the number of vectors in mv. | |
Update methods | |
| static void | MvTimesMatAddMv (Scalar alpha, const Tpetra::MultiVector< Scalar, LO, GO > &A, const Teuchos::SerialDenseMatrix< int, Scalar > &B, Scalar beta, Tpetra::MultiVector< Scalar, LO, GO > &mv) |
Update mv with . | |
| static void | MvAddMv (Scalar alpha, const Tpetra::MultiVector< Scalar, LO, GO > &A, Scalar beta, const Tpetra::MultiVector< Scalar, LO, GO > &B, Tpetra::MultiVector< Scalar, LO, GO > &mv) |
Replace mv with . | |
| static void | MvTransMv (Scalar alpha, const Tpetra::MultiVector< Scalar, LO, GO > &A, const Tpetra::MultiVector< Scalar, LO, GO > &mv, Teuchos::SerialDenseMatrix< int, Scalar > &B) |
Compute a dense matrix B through the matrix-matrix multiply . | |
| static void | MvDot (const Tpetra::MultiVector< Scalar, LO, GO > &A, const Tpetra::MultiVector< Scalar, LO, GO > &B, std::vector< Scalar > &dots) |
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 Tpetra::MultiVector< Scalar, LO, GO > &mv, std::vector< typename Teuchos::ScalarTraits< Scalar >::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 Tpetra::MultiVector< Scalar, LO, GO > &A, const std::vector< int > &index, Tpetra::MultiVector< Scalar, LO, GO > &mv) |
Copy the vectors in A to a set of vectors in mv indicated by the indices given in index. | |
| static void | MvScale (Tpetra::MultiVector< Scalar, LO, GO > &mv, Scalar alpha) |
Scale each element of the vectors in mv with alpha. | |
| static void | MvScale (Tpetra::MultiVector< Scalar, LO, GO > &mv, const std::vector< Scalar > &alpha) |
Scale each element of the i-th vector in mv with alpha[i]. | |
| static void | MvRandom (Tpetra::MultiVector< Scalar, LO, GO > &mv) |
Replace the vectors in mv with random vectors. | |
| static void | MvInit (Tpetra::MultiVector< Scalar, LO, GO > &mv, Scalar alpha=Teuchos::ScalarTraits< Scalar >::zero()) |
Replace each element of the vectors in mv with alpha. | |
Print method | |
| static void | MvPrint (const Tpetra::MultiVector< Scalar, LO, GO > &mv, std::ostream &os) |
Print the mv multi-vector to the os output stream. | |
This interface will ensure that any Tpetra::MultiVector will be accepted by the Anasazi templated solvers.
| static Teuchos::RCP<Tpetra::MultiVector<Scalar,LO,GO> > Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::Clone | ( | const Tpetra::MultiVector< Scalar, LO, GO > & | mv, | |
| const int | numvecs | |||
| ) | [inline, static] |
Creates a new empty Tpetra::MultiVector<Scalar,LO,GO> containing numvecs columns.
| static Teuchos::RCP<Tpetra::MultiVector<Scalar,LO,GO> > Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::CloneCopy | ( | const Tpetra::MultiVector< Scalar, LO, GO > & | mv | ) | [inline, static] |
Creates a new Tpetra::MultiVector<Scalar,LO,GO> and copies contents of mv into the new vector (deep copy).
| static Teuchos::RCP<Tpetra::MultiVector<Scalar,LO,GO> > Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::CloneCopy | ( | const Tpetra::MultiVector< Scalar, LO, GO > & | mv, | |
| const std::vector< int > & | index | |||
| ) | [inline, static] |
Creates a new Tpetra::MultiVector<Scalar,LO,GO> 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.
| static Teuchos::RCP<Tpetra::MultiVector<Scalar,LO,GO> > Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::CloneView | ( | Tpetra::MultiVector< Scalar, LO, GO > & | mv, | |
| const std::vector< int > & | index | |||
| ) | [inline, static] |
Creates a new Tpetra::MultiVector<Scalar,LO,GO> 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.
| static Teuchos::RCP<const Tpetra::MultiVector<Scalar,LO,GO> > Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::CloneView | ( | const Tpetra::MultiVector< Scalar, LO, GO > & | mv, | |
| const std::vector< int > & | index | |||
| ) | [inline, static] |
Creates a new const Tpetra::MultiVector<Scalar,LO,GO> 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.
| static int Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::GetVecLength | ( | const Tpetra::MultiVector< Scalar, LO, GO > & | mv | ) | [inline, static] |
Obtain the vector length of mv.
| static int Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::GetNumberVecs | ( | const Tpetra::MultiVector< Scalar, LO, GO > & | mv | ) | [inline, static] |
Obtain the number of vectors in mv.
| static void Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::MvTimesMatAddMv | ( | Scalar | alpha, | |
| const Tpetra::MultiVector< Scalar, LO, GO > & | A, | |||
| const Teuchos::SerialDenseMatrix< int, Scalar > & | B, | |||
| Scalar | beta, | |||
| Tpetra::MultiVector< Scalar, LO, GO > & | mv | |||
| ) | [inline, static] |
Update mv with
.
| static void Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::MvAddMv | ( | Scalar | alpha, | |
| const Tpetra::MultiVector< Scalar, LO, GO > & | A, | |||
| Scalar | beta, | |||
| const Tpetra::MultiVector< Scalar, LO, GO > & | B, | |||
| Tpetra::MultiVector< Scalar, LO, GO > & | mv | |||
| ) | [inline, static] |
Replace mv with
.
| static void Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::MvTransMv | ( | Scalar | alpha, | |
| const Tpetra::MultiVector< Scalar, LO, GO > & | A, | |||
| const Tpetra::MultiVector< Scalar, LO, GO > & | mv, | |||
| Teuchos::SerialDenseMatrix< int, Scalar > & | B | |||
| ) | [inline, static] |
Compute a dense matrix B through the matrix-matrix multiply
.
| static void Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::MvDot | ( | const Tpetra::MultiVector< Scalar, LO, GO > & | A, | |
| const Tpetra::MultiVector< Scalar, LO, GO > & | B, | |||
| std::vector< Scalar > & | dots | |||
| ) | [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< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::MvNorm | ( | const Tpetra::MultiVector< Scalar, LO, GO > & | mv, | |
| std::vector< typename Teuchos::ScalarTraits< Scalar >::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< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::SetBlock | ( | const Tpetra::MultiVector< Scalar, LO, GO > & | A, | |
| const std::vector< int > & | index, | |||
| Tpetra::MultiVector< Scalar, LO, GO > & | mv | |||
| ) | [inline, static] |
Copy the vectors in A to a set of vectors in mv indicated by the indices given in index.
| static void Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::MvScale | ( | Tpetra::MultiVector< Scalar, LO, GO > & | mv, | |
| Scalar | alpha | |||
| ) | [inline, static] |
Scale each element of the vectors in mv with alpha.
| static void Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::MvScale | ( | Tpetra::MultiVector< Scalar, LO, GO > & | mv, | |
| const std::vector< Scalar > & | alpha | |||
| ) | [inline, static] |
Scale each element of the i-th vector in mv with alpha[i].
| static void Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::MvRandom | ( | Tpetra::MultiVector< Scalar, LO, GO > & | mv | ) | [inline, static] |
Replace the vectors in mv with random vectors.
| static void Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::MvInit | ( | Tpetra::MultiVector< Scalar, LO, GO > & | mv, | |
| Scalar | alpha = Teuchos::ScalarTraits<Scalar>::zero() | |||
| ) | [inline, static] |
Replace each element of the vectors in mv with alpha.
| static void Anasazi::MultiVecTraits< Scalar, Tpetra::MultiVector< Scalar, LO, GO > >::MvPrint | ( | const Tpetra::MultiVector< Scalar, LO, GO > & | mv, | |
| std::ostream & | os | |||
| ) | [inline, static] |
Print the mv multi-vector to the os output stream.
1.4.7