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

Virtual base class which defines basic traits for the multi-vector type. More...

#include <AnasaziMultiVecTraits.hpp>

List of all members.

Static Public Member Functions

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


Detailed Description

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

Virtual base class which defines basic traits for the multi-vector type.

An adapter for this traits class must exist for the MV type. If not, this class will produce a compile-time error.


Member Function Documentation

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

Creates a new empty MV containing numvecs columns.

Returns:
Reference-counted pointer to the new multivector of type MV.

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

Creates a new MV 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 multivector of type MV.

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

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

Returns:
Reference-counted pointer to the new multivector of type MV.

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

Creates a new const MV 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 multivector of type MV.

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

Creates a new MV 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 multivector of type MV.

template<class ScalarType, class MV>
void Anasazi::MultiVecTraits< ScalarType, MV >::SetBlock const MV &  A,
const std::vector< int > &  index,
MV &  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:39:31 2008 for Anasazi by doxygen 1.3.9.1