MueLu  Version of the Day
Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > > Class Template Reference

Template specialization of Belos::MultiVecTraits class using the Xpetra::MultiVector class. This interface will ensure that any Xpetra::MultiVector will be accepted by the Belos templated solvers. More...

#include <BelosXpetraAdapterMultiVector.hpp>

Static Public Member Functions

static RCP< Xpetra::MultiVector< Scalar, LO, GO, Node > > Clone (const Xpetra::MultiVector< Scalar, LO, GO, Node > &mv, const int numvecs)
 
static RCP< Xpetra::MultiVector< Scalar, LO, GO, Node > > CloneCopy (const Xpetra::MultiVector< Scalar, LO, GO, Node > &mv)
 
static RCP< Xpetra::MultiVector< Scalar, LO, GO, Node > > CloneCopy (const Xpetra::MultiVector< Scalar, LO, GO, Node > &mv, const std::vector< int > &index)
 
static RCP< Xpetra::MultiVector< Scalar, LO, GO, Node > > CloneCopy (const Xpetra::MultiVector< Scalar, LO, GO, Node > &mv, const Teuchos::Range1D &index)
 
static RCP< Xpetra::MultiVector< Scalar, LO, GO, Node > > CloneViewNonConst (Xpetra::MultiVector< Scalar, LO, GO, Node > &mv, const std::vector< int > &index)
 
static RCP< Xpetra::MultiVector< Scalar, LO, GO, Node > > CloneViewNonConst (Xpetra::MultiVector< Scalar, LO, GO, Node > &mv, const Teuchos::Range1D &index)
 
static RCP< const Xpetra::MultiVector< Scalar, LO, GO, Node > > CloneView (const Xpetra::MultiVector< Scalar, LO, GO, Node > &mv, const std::vector< int > &index)
 
static RCP< const Xpetra::MultiVector< Scalar, LO, GO, Node > > CloneView (const Xpetra::MultiVector< Scalar, LO, GO, Node > &mv, const Teuchos::Range1D &index)
 
static ptrdiff_t GetGlobalLength (const Xpetra::MultiVector< Scalar, LO, GO, Node > &mv)
 
static int GetNumberVecs (const Xpetra::MultiVector< Scalar, LO, GO, Node > &mv)
 
static bool HasConstantStride (const Xpetra::MultiVector< Scalar, LO, GO, Node > &mv)
 
static void MvTimesMatAddMv (Scalar alpha, const Xpetra::MultiVector< Scalar, LO, GO, Node > &A, const Teuchos::SerialDenseMatrix< int, Scalar > &B, Scalar beta, Xpetra::MultiVector< Scalar, LO, GO, Node > &mv)
 
static void MvAddMv (Scalar alpha, const Xpetra::MultiVector< Scalar, LO, GO, Node > &A, Scalar beta, const Xpetra::MultiVector< Scalar, LO, GO, Node > &B, Xpetra::MultiVector< Scalar, LO, GO, Node > &mv)
 
static void MvScale (Xpetra::MultiVector< Scalar, LO, GO, Node > &mv, Scalar alpha)
 
static void MvScale (Xpetra::MultiVector< Scalar, LO, GO, Node > &mv, const std::vector< Scalar > &alphas)
 
static void MvTransMv (Scalar alpha, const Xpetra::MultiVector< Scalar, LO, GO, Node > &A, const Xpetra::MultiVector< Scalar, LO, GO, Node > &B, Teuchos::SerialDenseMatrix< int, Scalar > &C)
 
static void MvDot (const Xpetra::MultiVector< Scalar, LO, GO, Node > &A, const Xpetra::MultiVector< Scalar, LO, GO, Node > &B, std::vector< Scalar > &dots)
 
static void MvNorm (const Xpetra::MultiVector< Scalar, LO, GO, Node > &mv, std::vector< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > &normvec, NormType type=TwoNorm)
 
static void SetBlock (const Xpetra::MultiVector< Scalar, LO, GO, Node > &A, const std::vector< int > &index, Xpetra::MultiVector< Scalar, LO, GO, Node > &mv)
 
static void SetBlock (const Xpetra::MultiVector< Scalar, LO, GO, Node > &A, const Teuchos::Range1D &index, Xpetra::MultiVector< Scalar, LO, GO, Node > &mv)
 
static void Assign (const Xpetra::MultiVector< Scalar, LO, GO, Node > &A, Xpetra::MultiVector< Scalar, LO, GO, Node > &mv)
 
static void MvRandom (Xpetra::MultiVector< Scalar, LO, GO, Node > &mv)
 
static void MvInit (Xpetra::MultiVector< Scalar, LO, GO, Node > &mv, Scalar alpha=Teuchos::ScalarTraits< Scalar >::zero())
 
static void MvPrint (const Xpetra::MultiVector< Scalar, LO, GO, Node > &mv, std::ostream &os)
 

Detailed Description

template<class Scalar, class LO, class GO, class Node>
class Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >

Template specialization of Belos::MultiVecTraits class using the Xpetra::MultiVector class. This interface will ensure that any Xpetra::MultiVector will be accepted by the Belos templated solvers.

Definition at line 91 of file BelosXpetraAdapterMultiVector.hpp.

Member Function Documentation

◆ Clone()

template<class Scalar , class LO , class GO , class Node >
static RCP<Xpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::Clone ( const Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const int  numvecs 
)
inlinestatic

Definition at line 104 of file BelosXpetraAdapterMultiVector.hpp.

◆ CloneCopy() [1/3]

template<class Scalar , class LO , class GO , class Node >
static RCP<Xpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::CloneCopy ( const Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv)
inlinestatic

Definition at line 116 of file BelosXpetraAdapterMultiVector.hpp.

◆ CloneCopy() [2/3]

template<class Scalar , class LO , class GO , class Node >
static RCP<Xpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::CloneCopy ( const Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const std::vector< int > &  index 
)
inlinestatic

Definition at line 128 of file BelosXpetraAdapterMultiVector.hpp.

◆ CloneCopy() [3/3]

template<class Scalar , class LO , class GO , class Node >
static RCP<Xpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::CloneCopy ( const Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const Teuchos::Range1D index 
)
inlinestatic

Definition at line 141 of file BelosXpetraAdapterMultiVector.hpp.

◆ CloneViewNonConst() [1/2]

template<class Scalar , class LO , class GO , class Node >
static RCP<Xpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::CloneViewNonConst ( Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const std::vector< int > &  index 
)
inlinestatic

Definition at line 154 of file BelosXpetraAdapterMultiVector.hpp.

◆ CloneViewNonConst() [2/2]

template<class Scalar , class LO , class GO , class Node >
static RCP<Xpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::CloneViewNonConst ( Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const Teuchos::Range1D index 
)
inlinestatic

Definition at line 167 of file BelosXpetraAdapterMultiVector.hpp.

◆ CloneView() [1/2]

template<class Scalar , class LO , class GO , class Node >
static RCP<const Xpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::CloneView ( const Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const std::vector< int > &  index 
)
inlinestatic

Definition at line 180 of file BelosXpetraAdapterMultiVector.hpp.

◆ CloneView() [2/2]

template<class Scalar , class LO , class GO , class Node >
static RCP<const Xpetra::MultiVector<Scalar,LO,GO,Node> > Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::CloneView ( const Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const Teuchos::Range1D index 
)
inlinestatic

Definition at line 196 of file BelosXpetraAdapterMultiVector.hpp.

◆ GetGlobalLength()

template<class Scalar , class LO , class GO , class Node >
static ptrdiff_t Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::GetGlobalLength ( const Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv)
inlinestatic

Definition at line 212 of file BelosXpetraAdapterMultiVector.hpp.

◆ GetNumberVecs()

template<class Scalar , class LO , class GO , class Node >
static int Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::GetNumberVecs ( const Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv)
inlinestatic

Definition at line 224 of file BelosXpetraAdapterMultiVector.hpp.

◆ HasConstantStride()

template<class Scalar , class LO , class GO , class Node >
static bool Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::HasConstantStride ( const Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv)
inlinestatic

Definition at line 236 of file BelosXpetraAdapterMultiVector.hpp.

◆ MvTimesMatAddMv()

template<class Scalar , class LO , class GO , class Node >
static void Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::MvTimesMatAddMv ( Scalar  alpha,
const Xpetra::MultiVector< Scalar, LO, GO, Node > &  A,
const Teuchos::SerialDenseMatrix< int, Scalar > &  B,
Scalar  beta,
Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv 
)
inlinestatic

Definition at line 248 of file BelosXpetraAdapterMultiVector.hpp.

◆ MvAddMv()

template<class Scalar , class LO , class GO , class Node >
static void Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::MvAddMv ( Scalar  alpha,
const Xpetra::MultiVector< Scalar, LO, GO, Node > &  A,
Scalar  beta,
const Xpetra::MultiVector< Scalar, LO, GO, Node > &  B,
Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv 
)
inlinestatic

Definition at line 269 of file BelosXpetraAdapterMultiVector.hpp.

◆ MvScale() [1/2]

template<class Scalar , class LO , class GO , class Node >
static void Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::MvScale ( Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
Scalar  alpha 
)
inlinestatic

Definition at line 284 of file BelosXpetraAdapterMultiVector.hpp.

◆ MvScale() [2/2]

template<class Scalar , class LO , class GO , class Node >
static void Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::MvScale ( Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
const std::vector< Scalar > &  alphas 
)
inlinestatic

Definition at line 298 of file BelosXpetraAdapterMultiVector.hpp.

◆ MvTransMv()

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

Definition at line 312 of file BelosXpetraAdapterMultiVector.hpp.

◆ MvDot()

template<class Scalar , class LO , class GO , class Node >
static void Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::MvDot ( const Xpetra::MultiVector< Scalar, LO, GO, Node > &  A,
const Xpetra::MultiVector< Scalar, LO, GO, Node > &  B,
std::vector< Scalar > &  dots 
)
inlinestatic

Definition at line 330 of file BelosXpetraAdapterMultiVector.hpp.

◆ MvNorm()

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

Definition at line 344 of file BelosXpetraAdapterMultiVector.hpp.

◆ SetBlock() [1/2]

template<class Scalar , class LO , class GO , class Node >
static void Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::SetBlock ( const Xpetra::MultiVector< Scalar, LO, GO, Node > &  A,
const std::vector< int > &  index,
Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv 
)
inlinestatic

Definition at line 358 of file BelosXpetraAdapterMultiVector.hpp.

◆ SetBlock() [2/2]

template<class Scalar , class LO , class GO , class Node >
static void Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::SetBlock ( const Xpetra::MultiVector< Scalar, LO, GO, Node > &  A,
const Teuchos::Range1D index,
Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv 
)
inlinestatic

Definition at line 373 of file BelosXpetraAdapterMultiVector.hpp.

◆ Assign()

template<class Scalar , class LO , class GO , class Node >
static void Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::Assign ( const Xpetra::MultiVector< Scalar, LO, GO, Node > &  A,
Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv 
)
inlinestatic

Definition at line 390 of file BelosXpetraAdapterMultiVector.hpp.

◆ MvRandom()

template<class Scalar , class LO , class GO , class Node >
static void Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::MvRandom ( Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv)
inlinestatic

Definition at line 405 of file BelosXpetraAdapterMultiVector.hpp.

◆ MvInit()

template<class Scalar , class LO , class GO , class Node >
static void Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::MvInit ( Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
Scalar  alpha = Teuchos::ScalarTraits<Scalar>::zero() 
)
inlinestatic

Definition at line 419 of file BelosXpetraAdapterMultiVector.hpp.

◆ MvPrint()

template<class Scalar , class LO , class GO , class Node >
static void Belos::MultiVecTraits< Scalar, Xpetra::MultiVector< Scalar, LO, GO, Node > >::MvPrint ( const Xpetra::MultiVector< Scalar, LO, GO, Node > &  mv,
std::ostream &  os 
)
inlinestatic

Definition at line 433 of file BelosXpetraAdapterMultiVector.hpp.


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