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

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

#include <AnasaziThyraAdapter.hpp>

List of all members.

Static Public Member Functions

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]$.
void MvScale (TMVB &mv, const ScalarType alpha)
 Scale each element of the vectors in *this with alpha.
void MvScale (TMVB &mv, const std::vector< ScalarType > &alpha)
 Scale each element of the i-th vector in *this with alpha[i].
Norm method
void MvNorm (const TMVB &mv, std::vector< ScalarType > *normvec)
 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 Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >

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

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

Definition at line 61 of file AnasaziThyraAdapter.hpp.


Member Function Documentation

template<class ScalarType>
Teuchos::RefCountPtr<TMVB> Anasazi::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 74 of file AnasaziThyraAdapter.hpp.

template<class ScalarType>
Teuchos::RefCountPtr<TMVB> Anasazi::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 84 of file AnasaziThyraAdapter.hpp.

template<class ScalarType>
Teuchos::RefCountPtr<TMVB> Anasazi::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 99 of file AnasaziThyraAdapter.hpp.

template<class ScalarType>
Teuchos::RefCountPtr<TMVB> Anasazi::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 116 of file AnasaziThyraAdapter.hpp.

template<class ScalarType>
Teuchos::RefCountPtr<const TMVB> Anasazi::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 156 of file AnasaziThyraAdapter.hpp.

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

Obtain the vector length of mv.

Definition at line 197 of file AnasaziThyraAdapter.hpp.

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

Obtain the number of vectors in mv.

Definition at line 201 of file AnasaziThyraAdapter.hpp.

template<class ScalarType>
void Anasazi::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 211 of file AnasaziThyraAdapter.hpp.

template<class ScalarType>
void Anasazi::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 229 of file AnasaziThyraAdapter.hpp.

template<class ScalarType>
void Anasazi::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 245 of file AnasaziThyraAdapter.hpp.

template<class ScalarType>
void Anasazi::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 263 of file AnasaziThyraAdapter.hpp.

template<class ScalarType>
void Anasazi::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 268 of file AnasaziThyraAdapter.hpp.

template<class ScalarType>
void Anasazi::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 273 of file AnasaziThyraAdapter.hpp.

template<class ScalarType>
void Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvNorm const TMVB &  mv,
std::vector< ScalarType > *  normvec
[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 288 of file AnasaziThyraAdapter.hpp.

template<class ScalarType>
void Anasazi::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 298 of file AnasaziThyraAdapter.hpp.

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

Replace the vectors in mv with random vectors.

Definition at line 328 of file AnasaziThyraAdapter.hpp.

template<class ScalarType>
void Anasazi::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 339 of file AnasaziThyraAdapter.hpp.

template<class ScalarType>
void Anasazi::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 349 of file AnasaziThyraAdapter.hpp.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:31:39 2008 for Anasazi by doxygen 1.3.9.1