Anasazi  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
List of all members
Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > > Class Template Reference

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

#include <AnasaziThyraAdapter.hpp>

Static Public Member Functions

Creation methods
static Teuchos::RCP< TMVB > Clone (const TMVB &mv, const int numvecs)
 Creates a new empty MultiVectorBase containing numvecs columns. More...
 
static Teuchos::RCP< TMVB > CloneCopy (const TMVB &mv)
 Creates a new MultiVectorBase and copies contents of mv into the new vector (deep copy). More...
 
static Teuchos::RCP< 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). More...
 
static Teuchos::RCP< TMVB > CloneCopy (const TMVB &mv, const Teuchos::Range1D &index)
 
static Teuchos::RCP< TMVB > CloneViewNonConst (TMVB &mv, const std::vector< int > &index)
 Creates a new MultiVectorBase that shares the selected contents of mv (shallow copy). More...
 
static Teuchos::RCP< TMVB > CloneViewNonConst (TMVB &mv, const Teuchos::Range1D &index)
 
static Teuchos::RCP< 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). More...
 
static Teuchos::RCP< const TMVB > CloneView (const TMVB &mv, const Teuchos::Range1D &index)
 
Attribute methods
static ptrdiff_t GetGlobalLength (const TMVB &mv)
 Obtain the vector length of mv. More...
 
static int GetNumberVecs (const TMVB &mv)
 Obtain the number of vectors in mv. More...
 
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 $. More...
 
static void MvAddMv (const ScalarType alpha, const TMVB &A, const ScalarType beta, const TMVB &B, TMVB &mv)
 Replace mv with $\alpha A + \beta B$. More...
 
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 $. More...
 
static 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]$. More...
 
static void MvScale (TMVB &mv, const ScalarType alpha)
 Scale each element of the vectors in *this with alpha. More...
 
static void MvScale (TMVB &mv, const std::vector< ScalarType > &alpha)
 Scale each element of the i-th vector in *this with alpha[i]. More...
 
Norm method
static void MvNorm (const TMVB &mv, std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &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. More...
 
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. More...
 
static void SetBlock (const TMVB &A, const Teuchos::Range1D &index, TMVB &mv)
 
static void Assign (const TMVB &A, TMVB &mv)
 
static void MvRandom (TMVB &mv)
 Replace the vectors in mv with random vectors. More...
 
static void MvInit (TMVB &mv, ScalarType alpha=Teuchos::ScalarTraits< ScalarType >::zero())
 Replace each element of the vectors in mv with alpha. More...
 
Print method
static void MvPrint (const TMVB &mv, std::ostream &os)
 Print the mv multi-vector to the os output stream. More...
 

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 48 of file AnasaziThyraAdapter.hpp.

Member Function Documentation

template<class ScalarType >
static Teuchos::RCP<TMVB> Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::Clone ( const TMVB &  mv,
const int  numvecs 
)
inlinestatic

Creates a new empty MultiVectorBase containing numvecs columns.

Returns
Reference-counted pointer to the new MultiVectorBase.

Definition at line 64 of file AnasaziThyraAdapter.hpp.

template<class ScalarType >
static Teuchos::RCP<TMVB> Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::CloneCopy ( const TMVB &  mv)
inlinestatic

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 75 of file AnasaziThyraAdapter.hpp.

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

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 90 of file AnasaziThyraAdapter.hpp.

template<class ScalarType >
static Teuchos::RCP< TMVB > Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::CloneViewNonConst ( TMVB &  mv,
const std::vector< int > &  index 
)
inlinestatic

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 120 of file AnasaziThyraAdapter.hpp.

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

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 171 of file AnasaziThyraAdapter.hpp.

template<class ScalarType >
static ptrdiff_t Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::GetGlobalLength ( const TMVB &  mv)
inlinestatic

Obtain the vector length of mv.

Definition at line 223 of file AnasaziThyraAdapter.hpp.

template<class ScalarType >
static int Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::GetNumberVecs ( const TMVB &  mv)
inlinestatic

Obtain the number of vectors in mv.

Definition at line 227 of file AnasaziThyraAdapter.hpp.

template<class ScalarType >
static 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 
)
inlinestatic

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

Definition at line 237 of file AnasaziThyraAdapter.hpp.

template<class ScalarType >
static void Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvAddMv ( const ScalarType  alpha,
const TMVB &  A,
const ScalarType  beta,
const TMVB &  B,
TMVB &  mv 
)
inlinestatic

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

Definition at line 258 of file AnasaziThyraAdapter.hpp.

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

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

Definition at line 269 of file AnasaziThyraAdapter.hpp.

template<class ScalarType >
static void Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvDot ( const TMVB &  mv,
const TMVB &  A,
std::vector< ScalarType > &  b 
)
inlinestatic

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 290 of file AnasaziThyraAdapter.hpp.

template<class ScalarType >
static void Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvScale ( TMVB &  mv,
const ScalarType  alpha 
)
inlinestatic

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

Definition at line 296 of file AnasaziThyraAdapter.hpp.

template<class ScalarType >
static void Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvScale ( TMVB &  mv,
const std::vector< ScalarType > &  alpha 
)
inlinestatic

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

Definition at line 305 of file AnasaziThyraAdapter.hpp.

template<class ScalarType >
static void Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvNorm ( const TMVB &  mv,
std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &  normvec 
)
inlinestatic

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 321 of file AnasaziThyraAdapter.hpp.

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

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

Definition at line 331 of file AnasaziThyraAdapter.hpp.

template<class ScalarType >
static void Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvRandom ( TMVB &  mv)
inlinestatic

Replace the vectors in mv with random vectors.

Definition at line 441 of file AnasaziThyraAdapter.hpp.

template<class ScalarType >
static void Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvInit ( TMVB &  mv,
ScalarType  alpha = Teuchos::ScalarTraits<ScalarType>::zero() 
)
inlinestatic

Replace each element of the vectors in mv with alpha.

Definition at line 453 of file AnasaziThyraAdapter.hpp.

template<class ScalarType >
static void Anasazi::MultiVecTraits< ScalarType, Thyra::MultiVectorBase< ScalarType > >::MvPrint ( const TMVB &  mv,
std::ostream &  os 
)
inlinestatic

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

Definition at line 466 of file AnasaziThyraAdapter.hpp.


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