Stokhos Development
Public Types | Static Public Member Functions
Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > > Class Template Reference

Specialization of Tpetra MultiVecTraits for PCE scalar types. More...

#include <BelosPCETpetraAdapter.hpp>

List of all members.

Public Types

typedef
Sacado::PCE::OrthogPoly
< BaseScalar, Storage
Scalar

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)
static Teuchos::RCP
< Tpetra::MultiVector< Scalar,
LO, GO, Node > > 
CloneCopy (const Tpetra::MultiVector< Scalar, LO, GO, Node > &mv)
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 int GetVecLength (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 (Scalar alpha, const Tpetra::MultiVector< Scalar, LO, GO, Node > &A, const Teuchos::SerialDenseMatrix< int, BaseScalar > &B, Scalar beta, Tpetra::MultiVector< Scalar, LO, GO, Node > &mv)
static void MvTimesMatAddMv (Scalar alpha, const Tpetra::MultiVector< Scalar, LO, GO, Node > &A, const Teuchos::SerialDenseMatrix< int, Scalar > &B, 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)
static void MvScale (Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, 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)
static void MvNorm (const Tpetra::MultiVector< Scalar, LO, GO, Node > &mv, std::vector< typename Teuchos::ScalarTraits< BaseScalar >::magnitudeType > &normvec, NormType type=TwoNorm)
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)

Detailed Description

template<class BaseScalar, class Storage, class LO, class GO, class Node>
class Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >

Specialization of Tpetra MultiVecTraits for PCE scalar types.

Currently this is just a hack to pull out the degree 0 term for dot and norm methods. For efficiency it should be changed to compute the proper value directly instead of all of the higher order coefficients as well.


The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator