concepts::AnasaziMV< ScalarT > Class Template Reference

#include <anasaziHelper.hh>

Inheritance diagram for concepts::AnasaziMV< ScalarT >:

Public Types

typedef Vector< ScalarT > VectorT
 

Public Member Functions

 AnasaziMV (int dim=0, int nvecs=0, bool allocate=true)
 
virtual AnasaziMV< ScalarT > * Clone (const int numvecs) const
 Creates a new empty Anasazi::MultiVec containing numvecs columns. More...
 
virtual AnasaziMV< ScalarT > * CloneCopy () const
 Creates a new Anasazi::MultiVec and copies contents of *this into the new vector (deep copy). More...
 
virtual AnasaziMV< ScalarT > * CloneCopy (const std::vector< int > &index) const
 Creates a new Anasazi::MultiVec and copies the selected contents of *this into the new vector (deep copy). More...
 
virtual AnasaziMV< ScalarT > * CloneView (const std::vector< int > &index)
 Creates a new Anasazi::MultiVec that shares the selected contents of *this. More...
 
virtual ~AnasaziMV ()
 
Attribute methods
int GetVecLength () const
 Obtain the vector length of *this. More...
 
virtual int GetNumberVecs () const
 Obtain the number of vectors in *this. More...
 
Update methods
virtual void MvTimesMatAddMv (ScalarT alpha, const Anasazi::MultiVec< ScalarT > &A, const Teuchos::SerialDenseMatrix< int, ScalarT > &B, ScalarT beta)
 Update *this with alpha * A * B + beta * (*this). More...
 
virtual void MvAddMv (ScalarT alpha, const Anasazi::MultiVec< ScalarT > &A, ScalarT beta, const Anasazi::MultiVec< ScalarT > &B)
 Replace *this with alpha * A + beta * B. More...
 
virtual void MvTransMv (ScalarT alpha, const Anasazi::MultiVec< ScalarT > &A, Teuchos::SerialDenseMatrix< int, ScalarT > &B) const
 Compute a dense matrix B through the matrix-matrix multiply alpha * A^T * (*this). More...
 
virtual void MvDot (const Anasazi::MultiVec< ScalarT > &A, std::vector< ScalarT > &b) const
 Compute a vector b where the components are the individual dot-products, i.e. More...
 
Norm method
virtual void MvNorm (std::vector< typename Teuchos::ScalarTraits< ScalarT >::magnitudeType > &normvec) const
 Compute the 2-norm of each individual vector of *this. More...
 
Initialization methods
virtual void SetBlock (const Anasazi::MultiVec< ScalarT > &A, const std::vector< int > &index)
 Copy the vectors in A to a set of vectors in *this. More...
 
virtual void MvScale (ScalarT alpha)
 Scale each element of the vectors in *this with alpha. More...
 
virtual void MvScale (const std::vector< ScalarT > &alpha)
 Scale each element of the i-th vector in *this with alpha[i]. More...
 
virtual void MvRandom ()
 Fill the vectors in *this with random numbers. More...
 
virtual void MvInit (ScalarT alpha)
 Replace each element of the vectors in *this with alpha. More...
 

Static Public Attributes

static const bool NO_ALLOCATE = false
 

Private Member Functions

 AnasaziMV (const AnasaziMV< ScalarT > &other)
 
AnasaziMV< ScalarT > & operator= (const AnasaziMV< ScalarT > other)
 

Print method

const int dim
 Print *this multivector to the os output stream. More...
 
int nvecs
 Print *this multivector to the os output stream. More...
 
VectorT ** vecs
 Print *this multivector to the os output stream. More...
 
bool allocate
 Print *this multivector to the os output stream. More...
 
virtual void MvPrint (std::ostream &os) const
 Print *this multivector to the os output stream. More...
 
VectorTgetVec (int i)
 Print *this multivector to the os output stream. More...
 
const VectorTgetVec (int i) const
 Print *this multivector to the os output stream. More...
 

Detailed Description

template<class ScalarT>
class concepts::AnasaziMV< ScalarT >

Definition at line 51 of file anasaziHelper.hh.

Member Typedef Documentation

◆ VectorT

template<class ScalarT >
typedef Vector<ScalarT> concepts::AnasaziMV< ScalarT >::VectorT

Definition at line 54 of file anasaziHelper.hh.

Constructor & Destructor Documentation

◆ AnasaziMV() [1/2]

template<class ScalarT >
concepts::AnasaziMV< ScalarT >::AnasaziMV ( int  dim = 0,
int  nvecs = 0,
bool  allocate = true 
)

◆ ~AnasaziMV()

template<class ScalarT >
virtual concepts::AnasaziMV< ScalarT >::~AnasaziMV ( )
virtual

◆ AnasaziMV() [2/2]

template<class ScalarT >
concepts::AnasaziMV< ScalarT >::AnasaziMV ( const AnasaziMV< ScalarT > &  other)
private

Member Function Documentation

◆ Clone()

template<class ScalarT >
virtual AnasaziMV<ScalarT>* concepts::AnasaziMV< ScalarT >::Clone ( const int  numvecs) const
virtual

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

Returns
Pointer to the new multivector

◆ CloneCopy() [1/2]

template<class ScalarT >
virtual AnasaziMV<ScalarT>* concepts::AnasaziMV< ScalarT >::CloneCopy ( ) const
virtual

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

Returns
Pointer to the new multivector

◆ CloneCopy() [2/2]

template<class ScalarT >
virtual AnasaziMV<ScalarT>* concepts::AnasaziMV< ScalarT >::CloneCopy ( const std::vector< int > &  index) const
virtual

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

The copied vectors from *this are indicated by the index.size() indices in index.

Returns
Pointer to the new multivector

◆ CloneView()

template<class ScalarT >
virtual AnasaziMV<ScalarT>* concepts::AnasaziMV< ScalarT >::CloneView ( const std::vector< int > &  index)
virtual

Creates a new Anasazi::MultiVec that shares the selected contents of *this.

The index of the numvecs vectors shallow copied from *this are indicated by the indices given in index.

Returns
Pointer to the new multivector

◆ GetNumberVecs()

template<class ScalarT >
virtual int concepts::AnasaziMV< ScalarT >::GetNumberVecs ( ) const
inlinevirtual

Obtain the number of vectors in *this.

Definition at line 99 of file anasaziHelper.hh.

◆ getVec() [1/2]

template<class ScalarT >
VectorT* concepts::AnasaziMV< ScalarT >::getVec ( int  i)
inline

Print *this multivector to the os output stream.

Definition at line 181 of file anasaziHelper.hh.

◆ getVec() [2/2]

template<class ScalarT >
const VectorT* concepts::AnasaziMV< ScalarT >::getVec ( int  i) const
inline

Print *this multivector to the os output stream.

Definition at line 186 of file anasaziHelper.hh.

◆ GetVecLength()

template<class ScalarT >
int concepts::AnasaziMV< ScalarT >::GetVecLength ( ) const
inline

Obtain the vector length of *this.

Definition at line 96 of file anasaziHelper.hh.

◆ MvAddMv()

template<class ScalarT >
virtual void concepts::AnasaziMV< ScalarT >::MvAddMv ( ScalarT  alpha,
const Anasazi::MultiVec< ScalarT > &  A,
ScalarT  beta,
const Anasazi::MultiVec< ScalarT > &  B 
)
virtual

Replace *this with alpha * A + beta * B.

◆ MvDot()

template<class ScalarT >
virtual void concepts::AnasaziMV< ScalarT >::MvDot ( const Anasazi::MultiVec< ScalarT > &  A,
std::vector< ScalarT > &  b 
) const
virtual

Compute a vector b where the components are the individual dot-products, i.e.

b[i] = A[i]^H*this[i] where A[i] is the i-th column of A.

◆ MvInit()

template<class ScalarT >
virtual void concepts::AnasaziMV< ScalarT >::MvInit ( ScalarT  alpha)
virtual

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

◆ MvNorm()

template<class ScalarT >
virtual void concepts::AnasaziMV< ScalarT >::MvNorm ( std::vector< typename Teuchos::ScalarTraits< ScalarT >::magnitudeType > &  normvec) const
virtual

Compute the 2-norm of each individual vector of *this.


Upon return, normvec[i] holds the 2-norm of the i-th vector of *this

◆ MvPrint()

template<class ScalarT >
virtual void concepts::AnasaziMV< ScalarT >::MvPrint ( std::ostream &  os) const
virtual

Print *this multivector to the os output stream.

◆ MvRandom()

template<class ScalarT >
virtual void concepts::AnasaziMV< ScalarT >::MvRandom ( )
virtual

Fill the vectors in *this with random numbers.

◆ MvScale() [1/2]

template<class ScalarT >
virtual void concepts::AnasaziMV< ScalarT >::MvScale ( const std::vector< ScalarT > &  alpha)
virtual

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

◆ MvScale() [2/2]

template<class ScalarT >
virtual void concepts::AnasaziMV< ScalarT >::MvScale ( ScalarT  alpha)
virtual

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

◆ MvTimesMatAddMv()

template<class ScalarT >
virtual void concepts::AnasaziMV< ScalarT >::MvTimesMatAddMv ( ScalarT  alpha,
const Anasazi::MultiVec< ScalarT > &  A,
const Teuchos::SerialDenseMatrix< int, ScalarT > &  B,
ScalarT  beta 
)
virtual

Update *this with alpha * A * B + beta * (*this).

◆ MvTransMv()

template<class ScalarT >
virtual void concepts::AnasaziMV< ScalarT >::MvTransMv ( ScalarT  alpha,
const Anasazi::MultiVec< ScalarT > &  A,
Teuchos::SerialDenseMatrix< int, ScalarT > &  B 
) const
virtual

Compute a dense matrix B through the matrix-matrix multiply alpha * A^T * (*this).

◆ operator=()

template<class ScalarT >
AnasaziMV<ScalarT>& concepts::AnasaziMV< ScalarT >::operator= ( const AnasaziMV< ScalarT >  other)
private

◆ SetBlock()

template<class ScalarT >
virtual void concepts::AnasaziMV< ScalarT >::SetBlock ( const Anasazi::MultiVec< ScalarT > &  A,
const std::vector< int > &  index 
)
virtual

Copy the vectors in A to a set of vectors in *this.

The numvecs vectors in A are copied to a subset of vectors in *this indicated by the indices given in index.

Member Data Documentation

◆ allocate

template<class ScalarT >
bool concepts::AnasaziMV< ScalarT >::allocate
private

Print *this multivector to the os output stream.

Definition at line 195 of file anasaziHelper.hh.

◆ dim

template<class ScalarT >
const int concepts::AnasaziMV< ScalarT >::dim
private

Print *this multivector to the os output stream.

Definition at line 192 of file anasaziHelper.hh.

◆ NO_ALLOCATE

template<class ScalarT >
const bool concepts::AnasaziMV< ScalarT >::NO_ALLOCATE = false
static

Definition at line 53 of file anasaziHelper.hh.

◆ nvecs

template<class ScalarT >
int concepts::AnasaziMV< ScalarT >::nvecs
private

Print *this multivector to the os output stream.

Definition at line 193 of file anasaziHelper.hh.

◆ vecs

template<class ScalarT >
VectorT** concepts::AnasaziMV< ScalarT >::vecs
private

Print *this multivector to the os output stream.

Definition at line 194 of file anasaziHelper.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich