Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > > Class Template Reference

Template specialization of Belos::MultiVecTraits class using the Thyra::MultiVectorBase class. More...

#include <BelosThyraAdapter.hpp>

List of all members.

Creation methods



static Teuchos::RCP< TMVBClone (const TMVB &mv, const int numvecs)
 Creates a new empty MultiVectorBase containing numvecs columns.
static Teuchos::RCP< TMVBCloneCopy (const TMVB &mv)
 Creates a new MultiVectorBase and copies contents of mv into the new std::vector (deep copy).
static Teuchos::RCP< TMVBCloneCopy (const TMVB &mv, const std::vector< int > &index)
 Creates a new MultiVectorBase and copies the selected contents of mv into the new std::vector (deep copy).
static Teuchos::RCP< TMVBCloneView (TMVB &mv, const std::vector< int > &index)
 Creates a new MultiVectorBase that shares the selected contents of mv (shallow copy).
static Teuchos::RCP< const TMVBCloneView (const TMVB &mv, const std::vector< int > &index)
 Creates a new const MultiVectorBase that shares the selected contents of mv (shallow copy).

Attribute methods



static int GetVecLength (const TMVB &mv)
 Obtain the std::vector length of mv.
static int GetNumberVecs (const TMVB &mv)
 Obtain the number of vectors in mv.

Update methods



static void MvTimesMatAddMv (const ScalarType alpha, const TMVB &A, const Teuchos::SerialDenseMatrix< int, ScalarType > &B, const ScalarType beta, TMVB &mv)
 Update mv with $ \alpha AB + \beta mv $.
static void MvAddMv (const ScalarType alpha, const TMVB &A, const ScalarType beta, const TMVB &B, TMVB &mv)
 Replace mv with $\alpha A + \beta B$.
static void MvScale (TMVB &mv, const ScalarType alpha)
 Scale each element of the vectors in *this with alpha.
static void MvScale (TMVB &mv, const std::vector< ScalarType > &alpha)
 Scale each element of the i-th vector in *this with alpha[i].
static void MvTransMv (const ScalarType alpha, const TMVB &A, const TMVB &mv, Teuchos::SerialDenseMatrix< int, ScalarType > &B)
 Compute a dense matrix B through the matrix-matrix multiply $ \alpha A^Tmv $.
static void MvDot (const TMVB &mv, const TMVB &A, std::vector< ScalarType > &b)
 Compute a std::vector b where the components are the individual dot-products of the i-th columns of A and mv, i.e.$b[i] = A[i]^Tmv[i]$.

Norm method



static void MvNorm (const TMVB &mv, std::vector< magType > &normvec, NormType type=TwoNorm)
 Compute the 2-norm of each individual std::vector of mv. Upon return, normvec[i] holds the value of $||mv_i||_2$, the i-th column of mv.

Initialization methods



static void SetBlock (const TMVB &A, const std::vector< int > &index, TMVB &mv)
 Copy the vectors in A to a set of vectors in mv indicated by the indices given in index.
static void MvRandom (TMVB &mv)
 Replace the vectors in mv with random vectors.
static void MvInit (TMVB &mv, ScalarType alpha=Teuchos::ScalarTraits< ScalarType >::zero())
 Replace each element of the vectors in mv with alpha.

Print method



static void MvPrint (const TMVB &mv, std::ostream &os)
 Print the mv multi-stdvector to the os output stream.


Detailed Description

template<class ScalarType>
class Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >

Template specialization of Belos::MultiVecTraits class using the Thyra::MultiVectorBase class.

This interface will ensure that any implementation of MultiVectorBaseClass will be accepted by the Belos templated solvers.

Definition at line 62 of file BelosThyraAdapter.hpp.


Member Function Documentation

template<class ScalarType >
static Teuchos::RCP<TMVB> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::Clone ( const TMVB mv,
const int  numvecs 
) [inline, static]

Creates a new empty MultiVectorBase containing numvecs columns.

Returns:
Reference-counted pointer to the new MultiVectorBase.

Definition at line 77 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static Teuchos::RCP<TMVB> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::CloneCopy ( const TMVB mv  )  [inline, static]

Creates a new MultiVectorBase and copies contents of mv into the new std::vector (deep copy).

Returns:
Reference-counted pointer to the new MultiVectorBase.

Definition at line 87 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static Teuchos::RCP<TMVB> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::CloneCopy ( const TMVB mv,
const std::vector< int > &  index 
) [inline, static]

Creates a new MultiVectorBase and copies the selected contents of mv into the new std::vector (deep copy).

The copied vectors from mv are indicated by the indeX.size() indices in index.

Returns:
Reference-counted pointer to the new MultiVectorBase.

Definition at line 102 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static Teuchos::RCP<TMVB> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::CloneView ( TMVB mv,
const std::vector< int > &  index 
) [inline, static]

Creates a new MultiVectorBase that shares the selected contents of mv (shallow copy).

The index of the numvecs vectors shallow copied from mv are indicated by the indices given in index.

Returns:
Reference-counted pointer to the new MultiVectorBase.

Definition at line 119 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static Teuchos::RCP<const TMVB> Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::CloneView ( const TMVB mv,
const std::vector< int > &  index 
) [inline, static]

Creates a new const MultiVectorBase that shares the selected contents of mv (shallow copy).

The index of the numvecs vectors shallow copied from mv are indicated by the indices given in index.

Returns:
Reference-counted pointer to the new const MultiVectorBase.

Definition at line 159 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static int Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::GetVecLength ( const TMVB mv  )  [inline, static]

Obtain the std::vector length of mv.

Definition at line 200 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static int Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::GetNumberVecs ( const TMVB mv  )  [inline, static]

Obtain the number of vectors in mv.

Definition at line 204 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvTimesMatAddMv ( const ScalarType  alpha,
const TMVB A,
const Teuchos::SerialDenseMatrix< int, ScalarType > &  B,
const ScalarType  beta,
TMVB mv 
) [inline, static]

Update mv with $ \alpha AB + \beta mv $.

Definition at line 214 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvAddMv ( const ScalarType  alpha,
const TMVB A,
const ScalarType  beta,
const TMVB B,
TMVB mv 
) [inline, static]

Replace mv with $\alpha A + \beta B$.

Definition at line 232 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvScale ( TMVB mv,
const ScalarType  alpha 
) [inline, static]

Scale each element of the vectors in *this with alpha.

Definition at line 248 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvScale ( TMVB mv,
const std::vector< ScalarType > &  alpha 
) [inline, static]

Scale each element of the i-th vector in *this with alpha[i].

Definition at line 253 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvTransMv ( const ScalarType  alpha,
const TMVB A,
const TMVB mv,
Teuchos::SerialDenseMatrix< int, ScalarType > &  B 
) [inline, static]

Compute a dense matrix B through the matrix-matrix multiply $ \alpha A^Tmv $.

Definition at line 262 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvDot ( const TMVB mv,
const TMVB A,
std::vector< ScalarType > &  b 
) [inline, static]

Compute a std::vector b where the components are the individual dot-products of the i-th columns of A and mv, i.e.$b[i] = A[i]^Tmv[i]$.

Definition at line 280 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvNorm ( const TMVB mv,
std::vector< magType > &  normvec,
NormType  type = TwoNorm 
) [inline, static]

Compute the 2-norm of each individual std::vector of mv. Upon return, normvec[i] holds the value of $||mv_i||_2$, the i-th column of mv.

Definition at line 291 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::SetBlock ( const TMVB A,
const std::vector< int > &  index,
TMVB mv 
) [inline, static]

Copy the vectors in A to a set of vectors in mv indicated by the indices given in index.

Definition at line 301 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvRandom ( TMVB mv  )  [inline, static]

Replace the vectors in mv with random vectors.

Definition at line 331 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvInit ( TMVB mv,
ScalarType  alpha = Teuchos::ScalarTraits<ScalarType>::zero() 
) [inline, static]

Replace each element of the vectors in mv with alpha.

Definition at line 342 of file BelosThyraAdapter.hpp.

template<class ScalarType >
static void Belos::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvPrint ( const TMVB mv,
std::ostream &  os 
) [inline, static]

Print the mv multi-stdvector to the os output stream.

Definition at line 352 of file BelosThyraAdapter.hpp.


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

Generated on Wed Jul 22 12:56:45 2009 for Stratimikos by  doxygen 1.5.8