Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
Public Types | Static Public Member Functions | List of all members
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>

Public Types

typedef Sacado::PCE::OrthogPoly< BaseScalar, StorageScalar
 

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 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 (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.

Definition at line 86 of file BelosPCETpetraAdapter.hpp.

Member Typedef Documentation

◆ Scalar

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

Definition at line 93 of file BelosPCETpetraAdapter.hpp.

Member Function Documentation

◆ Clone()

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static Teuchos::RCP<Tpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::Clone ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const int  numvecs 
)
inlinestatic

Definition at line 95 of file BelosPCETpetraAdapter.hpp.

◆ CloneCopy() [1/3]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static Teuchos::RCP<Tpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::CloneCopy ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv)
inlinestatic

Definition at line 100 of file BelosPCETpetraAdapter.hpp.

◆ CloneCopy() [2/3]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static Teuchos::RCP<Tpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::CloneCopy ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const std::vector< int > &  index 
)
inlinestatic

Definition at line 105 of file BelosPCETpetraAdapter.hpp.

◆ CloneCopy() [3/3]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static Teuchos::RCP<Tpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::CloneCopy ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const Teuchos::Range1D &  index 
)
inlinestatic

Definition at line 127 of file BelosPCETpetraAdapter.hpp.

◆ CloneViewNonConst() [1/2]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static Teuchos::RCP<Tpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::CloneViewNonConst ( Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const std::vector< int > &  index 
)
inlinestatic

Definition at line 156 of file BelosPCETpetraAdapter.hpp.

◆ CloneViewNonConst() [2/2]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static Teuchos::RCP<Tpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::CloneViewNonConst ( Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const Teuchos::Range1D &  index 
)
inlinestatic

Definition at line 179 of file BelosPCETpetraAdapter.hpp.

◆ CloneView() [1/2]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static Teuchos::RCP<const Tpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::CloneView ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const std::vector< int > &  index 
)
inlinestatic

Definition at line 210 of file BelosPCETpetraAdapter.hpp.

◆ CloneView() [2/2]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static Teuchos::RCP<const Tpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::CloneView ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const Teuchos::Range1D &  index 
)
inlinestatic

Definition at line 232 of file BelosPCETpetraAdapter.hpp.

◆ GetGlobalLength()

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static ptrdiff_t Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::GetGlobalLength ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv)
inlinestatic

Definition at line 262 of file BelosPCETpetraAdapter.hpp.

◆ GetNumberVecs()

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static int Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::GetNumberVecs ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv)
inlinestatic

Definition at line 265 of file BelosPCETpetraAdapter.hpp.

◆ HasConstantStride()

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static bool Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::HasConstantStride ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv)
inlinestatic

Definition at line 268 of file BelosPCETpetraAdapter.hpp.

◆ MvTimesMatAddMv() [1/2]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::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 
)
inlinestatic

Definition at line 271 of file BelosPCETpetraAdapter.hpp.

◆ MvTimesMatAddMv() [2/2]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::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 
)
inlinestatic

Definition at line 281 of file BelosPCETpetraAdapter.hpp.

◆ MvAddMv()

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::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 
)
inlinestatic

Definition at line 299 of file BelosPCETpetraAdapter.hpp.

◆ MvScale() [1/3]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::MvScale ( Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
Scalar  alpha 
)
inlinestatic

Definition at line 304 of file BelosPCETpetraAdapter.hpp.

◆ MvScale() [2/3]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::MvScale ( Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const std::vector< BaseScalar > &  alphas 
)
inlinestatic

Definition at line 307 of file BelosPCETpetraAdapter.hpp.

◆ MvScale() [3/3]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::MvScale ( Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const std::vector< Scalar > &  alphas 
)
inlinestatic

Definition at line 313 of file BelosPCETpetraAdapter.hpp.

◆ MvTransMv() [1/2]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::MvTransMv ( Scalar  alpha,
const Tpetra::MultiVector< Scalar, LO, GO, Node > &  A,
const Tpetra::MultiVector< Scalar, LO, GO, Node > &  B,
Teuchos::SerialDenseMatrix< int, BaseScalar > &  C 
)
inlinestatic

Definition at line 316 of file BelosPCETpetraAdapter.hpp.

◆ MvTransMv() [2/2]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::MvTransMv ( Scalar  alpha,
const Tpetra::MultiVector< Scalar, LO, GO, Node > &  A,
const Tpetra::MultiVector< Scalar, LO, GO, Node > &  B,
Teuchos::SerialDenseMatrix< int, Scalar > &  C 
)
inlinestatic

Definition at line 324 of file BelosPCETpetraAdapter.hpp.

◆ MvDot()

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::MvDot ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  A,
const Tpetra::MultiVector< Scalar, LO, GO, Node > &  B,
std::vector< BaseScalar > &  dots 
)
inlinestatic

Definition at line 374 of file BelosPCETpetraAdapter.hpp.

◆ MvNorm()

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::MvNorm ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
std::vector< typename Teuchos::ScalarTraits< BaseScalar >::magnitudeType > &  normvec,
NormType  type = TwoNorm 
)
inlinestatic

Definition at line 390 of file BelosPCETpetraAdapter.hpp.

◆ SetBlock() [1/2]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::SetBlock ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  A,
const std::vector< int > &  index,
Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv 
)
inlinestatic

Definition at line 421 of file BelosPCETpetraAdapter.hpp.

◆ SetBlock() [2/2]

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::SetBlock ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  A,
const Teuchos::Range1D &  index,
Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv 
)
inlinestatic

Definition at line 439 of file BelosPCETpetraAdapter.hpp.

◆ Assign()

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::Assign ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  A,
Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv 
)
inlinestatic

Definition at line 521 of file BelosPCETpetraAdapter.hpp.

◆ MvRandom()

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::MvRandom ( Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv)
inlinestatic

Definition at line 576 of file BelosPCETpetraAdapter.hpp.

◆ MvInit()

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::MvInit ( Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
Scalar  alpha = Teuchos::ScalarTraits<Scalar>::zero() 
)
inlinestatic

Definition at line 581 of file BelosPCETpetraAdapter.hpp.

◆ MvPrint()

template<class BaseScalar , class Storage , class LO , class GO , class Node >
static void Belos::MultiVecTraits< BaseScalar, Tpetra::MultiVector< Sacado::PCE::OrthogPoly< BaseScalar, Storage >, LO, GO, Node > >::MvPrint ( const Tpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
std::ostream &  os 
)
inlinestatic

Definition at line 584 of file BelosPCETpetraAdapter.hpp.


The documentation for this class was generated from the following file: