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 87 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 94 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 96 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 101 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 106 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 128 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 157 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 180 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 211 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 233 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 263 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 266 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 269 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 272 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 282 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 300 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 305 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 308 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 314 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 317 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 325 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 375 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 391 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 422 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 440 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 522 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 577 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 582 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 585 of file BelosPCETpetraAdapter.hpp.


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