Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > > Class Template Reference

Template specialization of Anasazi::MultiVecTraits class using the Anasazi::MultiVec virtual base class. More...

#include <AnasaziMultiVec.hpp>

List of all members.

Static Public Member Functions

Creation methods
Teuchos::RefCountPtr< MultiVec<
ScalarType > > 
Clone (const MultiVec< ScalarType > &mv, const int numvecs)
 Creates a new empty Anasazi::MultiVec containing numvecs columns.
Teuchos::RefCountPtr< MultiVec<
ScalarType > > 
CloneCopy (const MultiVec< ScalarType > &mv)
 Creates a new Anasazi::MultiVec and copies contents of mv into the new vector (deep copy).
Teuchos::RefCountPtr< MultiVec<
ScalarType > > 
CloneCopy (const MultiVec< ScalarType > &mv, const std::vector< int > &index)
 Creates a new Anasazi::MultiVec and copies the selected contents of mv into the new vector (deep copy).
Teuchos::RefCountPtr< MultiVec<
ScalarType > > 
CloneView (MultiVec< ScalarType > &mv, const std::vector< int > &index)
 Creates a new Anasazi::MultiVec that shares the selected contents of mv (shallow copy).
Teuchos::RefCountPtr< const
MultiVec< ScalarType > > 
CloneView (const MultiVec< ScalarType > &mv, const std::vector< int > &index)
 Creates a new const Anasazi::MultiVec that shares the selected contents of mv (shallow copy).
Attribute methods
int GetVecLength (const MultiVec< ScalarType > &mv)
 Obtain the vector length of mv.
int GetNumberVecs (const MultiVec< ScalarType > &mv)
 Obtain the number of vectors in mv.
Update methods
void MvTimesMatAddMv (ScalarType alpha, const MultiVec< ScalarType > &A, const Teuchos::SerialDenseMatrix< int, ScalarType > &B, ScalarType beta, MultiVec< ScalarType > &mv)
 Update mv with $ \alpha AB + \beta mv $.
void MvAddMv (ScalarType alpha, const MultiVec< ScalarType > &A, ScalarType beta, const MultiVec< ScalarType > &B, MultiVec< ScalarType > &mv)
 Replace mv with $\alpha A + \beta B$.
void MvTransMv (ScalarType alpha, const MultiVec< ScalarType > &A, const MultiVec< ScalarType > &mv, Teuchos::SerialDenseMatrix< int, ScalarType > &B)
 Compute a dense matrix B through the matrix-matrix multiply $ \alpha A^Hmv $.
void MvDot (const MultiVec< ScalarType > &mv, const MultiVec< ScalarType > &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]^Hmv[i]$.
Norm method
void MvNorm (const MultiVec< ScalarType > &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 MultiVec< ScalarType > &A, const std::vector< int > &index, MultiVec< ScalarType > &mv)
 Copy the vectors in A to a set of vectors in mv indicated by the indices given in index.
void MvRandom (MultiVec< ScalarType > &mv)
 Replace the vectors in mv with random vectors.
void MvInit (MultiVec< ScalarType > &mv, ScalarType alpha=Teuchos::ScalarTraits< ScalarType >::zero())
 Replace each element of the vectors in mv with alpha.
Print method
void MvPrint (const MultiVec< ScalarType > &mv, ostream &os)
 Print the mv multi-vector to the os output stream.


Detailed Description

template<class ScalarType>
class Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >

Template specialization of Anasazi::MultiVecTraits class using the Anasazi::MultiVec virtual base class.

Any class that inherits from Anasazi::MultiVec will be accepted by the Anasazi templated solvers due to this interface to the Anasazi::MultiVecTraits class.


Member Function Documentation

template<class ScalarType>
Teuchos::RefCountPtr<MultiVec<ScalarType> > Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::Clone const MultiVec< ScalarType > &  mv,
const int  numvecs
[inline, static]
 

Creates a new empty Anasazi::MultiVec containing numvecs columns.

Returns:
Reference-counted pointer to the new Anasazi::MultiVec.

template<class ScalarType>
Teuchos::RefCountPtr<MultiVec<ScalarType> > Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneCopy const MultiVec< ScalarType > &  mv,
const std::vector< int > &  index
[inline, static]
 

Creates a new Anasazi::MultiVec 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 Anasazi::MultiVec.

template<class ScalarType>
Teuchos::RefCountPtr<MultiVec<ScalarType> > Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneCopy const MultiVec< ScalarType > &  mv  )  [inline, static]
 

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

Returns:
Reference-counted pointer to the new Anasazi::MultiVec.

template<class ScalarType>
Teuchos::RefCountPtr<const MultiVec<ScalarType> > Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneView const MultiVec< ScalarType > &  mv,
const std::vector< int > &  index
[inline, static]
 

Creates a new const Anasazi::MultiVec 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 Anasazi::MultiVec.

template<class ScalarType>
Teuchos::RefCountPtr<MultiVec<ScalarType> > Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneView MultiVec< ScalarType > &  mv,
const std::vector< int > &  index
[inline, static]
 

Creates a new Anasazi::MultiVec 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 Anasazi::MultiVec.

template<class ScalarType>
void Anasazi::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::SetBlock const MultiVec< ScalarType > &  A,
const std::vector< int > &  index,
MultiVec< ScalarType > &  mv
[inline, static]
 

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

The numvecs vectors in A are copied to a subset of vectors in mv indicated by the indices given in index, i.e. mv[index[i]] = A[i].


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