|
Stokhos
Development
|
Partial specialization of MultiVecTraits for MV = Tpetra::MultiVector. More...
#include <Belos_TpetraAdapter_MP_Vector.hpp>
Static Public Member Functions | |
| static Teuchos::RCP< Tpetra::MultiVector< Scalar, LO, GO, Node > > | Clone (const Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, const int numvecs) |
Create a new multivector with numvecs columns. More... | |
| static Teuchos::RCP< Tpetra::MultiVector< Scalar, LO, GO, Node > > | CloneCopy (const Tpetra::MultiVector< Scalar, LO, GO, Node > &X) |
| static Teuchos::RCP< Tpetra::MultiVector< Scalar, LO, GO, Node > > | CloneCopy (const Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, const std::vector< int > &index) |
| static Teuchos::RCP< Tpetra::MultiVector< Scalar, LO, GO, Node > > | CloneCopy (const Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, const Teuchos::Range1D &index) |
| static Teuchos::RCP< Tpetra::MultiVector< Scalar, LO, GO, Node > > | CloneViewNonConst (Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, const std::vector< int > &index) |
| static Teuchos::RCP< Tpetra::MultiVector< Scalar, LO, GO, Node > > | CloneViewNonConst (Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, const Teuchos::Range1D &index) |
| static Teuchos::RCP< const Tpetra::MultiVector< Scalar, LO, GO, Node > > | CloneView (const Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, const std::vector< int > &index) |
| static Teuchos::RCP< const Tpetra::MultiVector< Scalar, LO, GO, Node > > | CloneView (const Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, const Teuchos::Range1D &index) |
| static ptrdiff_t | GetGlobalLength (const Tpetra::MultiVector< Scalar, LO, GO, Node > &mv) |
| static int | GetNumberVecs (const Tpetra::MultiVector< Scalar, LO, GO, Node > &mv) |
| static bool | HasConstantStride (const Tpetra::MultiVector< Scalar, LO, GO, Node > &mv) |
| static void | MvTimesMatAddMv (const Scalar &alpha, const Tpetra::MultiVector< Scalar, LO, GO, Node > &A, const Teuchos::SerialDenseMatrix< int, BaseScalar > &B, const Scalar &beta, Tpetra::MultiVector< Scalar, LO, GO, Node > &mv) |
| static void | MvTimesMatAddMv (const Scalar &alpha, const Tpetra::MultiVector< Scalar, LO, GO, Node > &A, const Teuchos::SerialDenseMatrix< int, Scalar > &B, const Scalar &beta, Tpetra::MultiVector< Scalar, LO, GO, Node > &mv) |
| static void | MvAddMv (Scalar alpha, const Tpetra::MultiVector< Scalar, LO, GO, Node > &A, Scalar beta, const Tpetra::MultiVector< Scalar, LO, GO, Node > &B, Tpetra::MultiVector< Scalar, LO, GO, Node > &mv) |
mv := alpha*A + beta*B More... | |
| static void | MvScale (Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, const Scalar &alpha) |
| static void | MvScale (Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, const std::vector< BaseScalar > &alphas) |
| static void | MvScale (Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, const std::vector< Scalar > &alphas) |
| static void | MvTransMv (Scalar alpha, const Tpetra::MultiVector< Scalar, LO, GO, Node > &A, const Tpetra::MultiVector< Scalar, LO, GO, Node > &B, Teuchos::SerialDenseMatrix< int, BaseScalar > &C) |
| static void | MvTransMv (Scalar alpha, const Tpetra::MultiVector< Scalar, LO, GO, Node > &A, const Tpetra::MultiVector< Scalar, LO, GO, Node > &B, Teuchos::SerialDenseMatrix< int, Scalar > &C) |
| static void | MvDot (const Tpetra::MultiVector< Scalar, LO, GO, Node > &A, const Tpetra::MultiVector< Scalar, LO, GO, Node > &B, std::vector< BaseScalar > &dots) |
For all columns j of A, set dots[j] := A[j]^T * B[j]. | |
| static void | MvNorm (const Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, std::vector< typename Teuchos::ScalarTraits< BaseScalar >::magnitudeType > &normvec, NormType type=TwoNorm) |
For all columns j of mv, set normvec[j] = norm(mv[j]). | |
| static void | SetBlock (const Tpetra::MultiVector< Scalar, LO, GO, Node > &A, const std::vector< int > &index, Tpetra::MultiVector< Scalar, LO, GO, Node > &mv) |
| static void | SetBlock (const Tpetra::MultiVector< Scalar, LO, GO, Node > &A, const Teuchos::Range1D &index, Tpetra::MultiVector< Scalar, LO, GO, Node > &mv) |
| static void | Assign (const Tpetra::MultiVector< Scalar, LO, GO, Node > &A, Tpetra::MultiVector< Scalar, LO, GO, Node > &mv) |
| static void | MvRandom (Tpetra::MultiVector< Scalar, LO, GO, Node > &mv) |
| static void | MvInit (Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, Scalar alpha=Teuchos::ScalarTraits< Scalar >::zero()) |
| static void | MvPrint (const Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, std::ostream &os) |
Partial specialization of MultiVecTraits for MV = Tpetra::MultiVector.
This interface lets Belos' solvers work directly with Tpetra::MultiVector objects as the multivector type (corresponding to the MV template parameter).
The four template parameters of this partial specialization correspond exactly to the four template parameters of Tpetra::MultiVector. See the Tpetra::MultiVector documentation for more information.
|
inlinestatic |
Create a new multivector with numvecs columns.
The returned Tpetra::MultiVector has the same Tpetra::Map (distribution over one or more parallel processes) as mv. Its entries are not initialized and have undefined values.
|
inlinestatic |
mv := alpha*A + beta*B
The Tpetra specialization of this method ignores and completely overwrites any NaN or Inf entries in A. Thus, it does not mean the same thing as mv := 0*mv + alpha*A + beta*B in IEEE 754 floating-point arithmetic. (Remember that NaN*0 = NaN.)
1.8.11