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

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

Attribute methods

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

Update methods

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 $.
void MvAddMv (const ScalarType alpha, const TMVB &A, const ScalarType beta, const TMVB &B, TMVB &mv)
 Replace mv with $\alpha A + \beta B$.
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 $.
void MvDot (const TMVB &mv, const TMVB &A, std::vector< ScalarType > *b)
 Compute a 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

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

Initialization methods

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.
void MvRandom (TMVB &mv)
 Replace the vectors in mv with random vectors.
void MvInit (TMVB &mv, ScalarType alpha=Teuchos::ScalarTraits< ScalarType >::zero())
 Replace each element of the vectors in mv with alpha.

Print method

void MvPrint (const TMVB &mv, ostream &os)
 Print the mv multi-vector 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 61 of file BelosThyraAdapter.hpp.


Member Function Documentation

template<class ScalarType>
Teuchos::RefCountPtr<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 76 of file BelosThyraAdapter.hpp.

template<class ScalarType>
Teuchos::RefCountPtr<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 vector (deep copy).

Returns:
Reference-counted pointer to the new MultiVectorBase.

Definition at line 86 of file BelosThyraAdapter.hpp.

template<class ScalarType>
Teuchos::RefCountPtr<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 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 101 of file BelosThyraAdapter.hpp.

template<class ScalarType>
Teuchos::RefCountPtr<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 118 of file BelosThyraAdapter.hpp.

template<class ScalarType>
Teuchos::RefCountPtr<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 158 of file BelosThyraAdapter.hpp.

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

Obtain the vector length of mv.

Definition at line 199 of file BelosThyraAdapter.hpp.

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

Obtain the number of vectors in mv.

Definition at line 203 of file BelosThyraAdapter.hpp.

template<class ScalarType>
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 213 of file BelosThyraAdapter.hpp.

template<class ScalarType>
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 231 of file BelosThyraAdapter.hpp.

template<class ScalarType>
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 247 of file BelosThyraAdapter.hpp.

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

Compute a 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 265 of file BelosThyraAdapter.hpp.

template<class ScalarType>
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 vector of mv. Upon return, normvec[i] holds the value of $||mv_i||_2$, the i-th column of mv.

Definition at line 276 of file BelosThyraAdapter.hpp.

template<class ScalarType>
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 286 of file BelosThyraAdapter.hpp.

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

Replace the vectors in mv with random vectors.

Definition at line 316 of file BelosThyraAdapter.hpp.

template<class ScalarType>
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 327 of file BelosThyraAdapter.hpp.

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

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

Definition at line 337 of file BelosThyraAdapter.hpp.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:30:14 2008 for Amesos/Thyra Linear Solver Adapter Software by doxygen 1.3.9.1