Belos Version of the Day
Loading...
Searching...
No Matches
Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > > Class Template Reference

Specialization of MultiVecTraits for Belos::MultiVec. More...

#include <BelosMultiVec.hpp>

Inheritance diagram for Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >:

Static Public Member Functions

Creation methods
static Teuchos::RCP< MultiVec< ScalarType > > Clone (const MultiVec< ScalarType > &mv, const int numvecs)
 Create a new empty MultiVec containing numvecs columns.
 
static Teuchos::RCP< MultiVec< ScalarType > > CloneCopy (const MultiVec< ScalarType > &mv)
 
static Teuchos::RCP< MultiVec< ScalarType > > CloneCopy (const MultiVec< ScalarType > &mv, const std::vector< int > &index)
 
static Teuchos::RCP< MultiVec< ScalarType > > CloneViewNonConst (MultiVec< ScalarType > &mv, const std::vector< int > &index)
 
static Teuchos::RCP< MultiVec< ScalarType > > CloneViewNonConst (MultiVec< ScalarType > &mv, const Teuchos::Range1D &index)
 
static Teuchos::RCP< const MultiVec< ScalarType > > CloneView (const MultiVec< ScalarType > &mv, const std::vector< int > &index)
 
static Teuchos::RCP< const MultiVec< ScalarType > > CloneView (const MultiVec< ScalarType > &mv, const Teuchos::Range1D &index)
 
static ptrdiff_t GetGlobalLength (const MultiVec< ScalarType > &mv)
 
static int GetNumberVecs (const MultiVec< ScalarType > &mv)
 
static void MvTimesMatAddMv (ScalarType alpha, const MultiVec< ScalarType > &A, const Teuchos::SerialDenseMatrix< int, ScalarType > &B, ScalarType beta, MultiVec< ScalarType > &mv)
 
static void MvAddMv (ScalarType alpha, const MultiVec< ScalarType > &A, ScalarType beta, const MultiVec< ScalarType > &B, MultiVec< ScalarType > &mv)
 
static void MvScale (MultiVec< ScalarType > &mv, const ScalarType alpha)
 
static void MvScale (MultiVec< ScalarType > &mv, const std::vector< ScalarType > &alpha)
 
static void MvTransMv (const ScalarType alpha, const MultiVec< ScalarType > &A, const MultiVec< ScalarType > &mv, Teuchos::SerialDenseMatrix< int, ScalarType > &B)
 
static void MvDot (const MultiVec< ScalarType > &mv, const MultiVec< ScalarType > &A, std::vector< ScalarType > &b)
 
static void MvNorm (const MultiVec< ScalarType > &mv, std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &normvec, NormType type=TwoNorm)
 
static void SetBlock (const MultiVec< ScalarType > &A, const std::vector< int > &index, MultiVec< ScalarType > &mv)
 
static void Assign (const MultiVec< ScalarType > &A, MultiVec< ScalarType > &mv)
 
static void MvRandom (MultiVec< ScalarType > &mv)
 
static void MvInit (MultiVec< ScalarType > &mv, ScalarType alpha=Teuchos::ScalarTraits< ScalarType >::zero())
 
static void MvPrint (const MultiVec< ScalarType > &mv, std::ostream &os)
 
Creation methods
static Teuchos::RCP< MultiVec< ScalarType > > Clone (const MultiVec< ScalarType > &mv, const int numvecs)
 Creates a new empty MV containing numvecs columns.
 
static Teuchos::RCP< MultiVec< ScalarType > > CloneCopy (const MultiVec< ScalarType > &mv)
 Creates a new MV and copies contents of mv into the new vector (deep copy).
 
static Teuchos::RCP< MultiVec< ScalarType > > CloneCopy (const MultiVec< ScalarType > &mv, const std::vector< int > &index)
 Creates a new MV and copies the selected contents of mv into the new vector (deep copy).
 
static Teuchos::RCP< MultiVec< ScalarType > > CloneCopy (const MultiVec< ScalarType > &mv, const Teuchos::Range1D &index)
 Deep copy of specified columns of mv.
 
static Teuchos::RCP< MultiVec< ScalarType > > CloneViewNonConst (MultiVec< ScalarType > &mv, const std::vector< int > &index)
 Creates a new MV that shares the selected contents of mv (shallow copy).
 
static Teuchos::RCP< MultiVec< ScalarType > > CloneViewNonConst (MultiVec< ScalarType > &mv, const Teuchos::Range1D &index)
 Non-const view of specified columns of mv.
 
static Teuchos::RCP< const MultiVec< ScalarType > > CloneView (const MultiVec< ScalarType > &mv, const std::vector< int > &index)
 Creates a new const MV that shares the selected contents of mv (shallow copy).
 
static Teuchos::RCP< MultiVec< ScalarType > > CloneView (MultiVec< ScalarType > &mv, const Teuchos::Range1D &index)
 Const view of specified columns of mv.
 
Attribute methods
static ptrdiff_t GetGlobalLength (const MultiVec< ScalarType > &mv)
 Return the number of rows in the given multivector mv.
 
static int GetNumberVecs (const MultiVec< ScalarType > &mv)
 Obtain the number of vectors in mv.
 
static bool HasConstantStride (const MultiVec< ScalarType > &mv)
 Whether the given multivector mv has constant stride.
 
Update methods
static void MvTimesMatAddMv (const ScalarType alpha, const MultiVec< ScalarType > &A, const Teuchos::SerialDenseMatrix< int, ScalarType > &B, const ScalarType beta, MultiVec< ScalarType > &mv)
 Update mv with $ \alpha AB + \beta mv $.
 
static void MvAddMv (const ScalarType alpha, const MultiVec< ScalarType > &A, const ScalarType beta, const MultiVec< ScalarType > &B, MultiVec< ScalarType > &mv)
 Replace mv with $\alpha A + \beta B$.
 
static void MvScale (MultiVec< ScalarType > &mv, const ScalarType alpha)
 Scale each element of the vectors in mv with alpha.
 
static void MvScale (MultiVec< ScalarType > &mv, const std::vector< ScalarType > &alpha)
 Scale each element of the i-th vector in mv with alpha[i].
 
static void MvTransMv (const 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 $.
 
static 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
static void MvNorm (const MultiVec< ScalarType > &mv, std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &normvec, NormType type=TwoNorm)
 Compute the norm of each individual vector of mv. Upon return, normvec[i] holds the value of $||mv_i||$, the i-th column of mv.
 
Initialization methods
static 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.
 
static void SetBlock (const MultiVec< ScalarType > &A, const Teuchos::Range1D &index, MultiVec< ScalarType > &mv)
 Deep copy of A into specified columns of mv.
 
static void Assign (const MultiVec< ScalarType > &A, MultiVec< ScalarType > &mv)
 mv := A
 
static void MvRandom (MultiVec< ScalarType > &mv)
 Replace the vectors in mv with random vectors.
 
static void MvInit (MultiVec< ScalarType > &mv, const ScalarType alpha=Teuchos::ScalarTraits< ScalarType >::zero())
 Replace each element of the vectors in mv with alpha.
 
Print method
static void MvPrint (const MultiVec< ScalarType > &mv, std::ostream &os)
 Print the mv multi-vector to the os output stream.
 

Detailed Description

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

Specialization of MultiVecTraits for Belos::MultiVec.

Belos interfaces to every multivector implementation through a specialization of MultiVecTraits. Thus, we provide a specialization of MultiVecTraits for the MultiVec run-time polymorphic interface above.

Template Parameters
ScalarTypeThe type of entries in the multivector; the template parameter of MultiVec.

Definition at line 364 of file BelosMultiVec.hpp.

Member Function Documentation

◆ Clone() [1/2]

template<class ScalarType>
static Teuchos::RCP< MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::Clone ( const MultiVec< ScalarType > & mv,
const int numvecs )
inlinestatic

Create a new empty MultiVec containing numvecs columns.

Returns
Reference-counted pointer to the new MultiVec.

Definition at line 372 of file BelosMultiVec.hpp.

◆ CloneCopy() [1/5]

template<class ScalarType>
static Teuchos::RCP< MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneCopy ( const MultiVec< ScalarType > & mv)
inlinestatic

Definition at line 376 of file BelosMultiVec.hpp.

◆ CloneCopy() [2/5]

template<class ScalarType>
static Teuchos::RCP< MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneCopy ( const MultiVec< ScalarType > & mv,
const std::vector< int > & index )
inlinestatic

Definition at line 379 of file BelosMultiVec.hpp.

◆ CloneViewNonConst() [1/4]

template<class ScalarType>
static Teuchos::RCP< MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneViewNonConst ( MultiVec< ScalarType > & mv,
const std::vector< int > & index )
inlinestatic

Definition at line 383 of file BelosMultiVec.hpp.

◆ CloneViewNonConst() [2/4]

template<class ScalarType>
static Teuchos::RCP< MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneViewNonConst ( MultiVec< ScalarType > & mv,
const Teuchos::Range1D & index )
inlinestatic

Definition at line 389 of file BelosMultiVec.hpp.

◆ CloneView() [1/4]

template<class ScalarType>
static Teuchos::RCP< const MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneView ( const MultiVec< ScalarType > & mv,
const std::vector< int > & index )
inlinestatic

Definition at line 403 of file BelosMultiVec.hpp.

◆ CloneView() [2/4]

template<class ScalarType>
static Teuchos::RCP< const MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneView ( const MultiVec< ScalarType > & mv,
const Teuchos::Range1D & index )
inlinestatic

Definition at line 408 of file BelosMultiVec.hpp.

◆ GetGlobalLength() [1/2]

template<class ScalarType>
static ptrdiff_t Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::GetGlobalLength ( const MultiVec< ScalarType > & mv)
inlinestatic

Definition at line 421 of file BelosMultiVec.hpp.

◆ GetNumberVecs() [1/2]

template<class ScalarType>
static int Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::GetNumberVecs ( const MultiVec< ScalarType > & mv)
inlinestatic

Definition at line 424 of file BelosMultiVec.hpp.

◆ MvTimesMatAddMv() [1/2]

template<class ScalarType>
static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvTimesMatAddMv ( ScalarType alpha,
const MultiVec< ScalarType > & A,
const Teuchos::SerialDenseMatrix< int, ScalarType > & B,
ScalarType beta,
MultiVec< ScalarType > & mv )
inlinestatic

Definition at line 427 of file BelosMultiVec.hpp.

◆ MvAddMv() [1/2]

template<class ScalarType>
static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvAddMv ( ScalarType alpha,
const MultiVec< ScalarType > & A,
ScalarType beta,
const MultiVec< ScalarType > & B,
MultiVec< ScalarType > & mv )
inlinestatic

Definition at line 432 of file BelosMultiVec.hpp.

◆ MvScale() [1/4]

template<class ScalarType>
static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvScale ( MultiVec< ScalarType > & mv,
const ScalarType alpha )
inlinestatic

Definition at line 435 of file BelosMultiVec.hpp.

◆ MvScale() [2/4]

template<class ScalarType>
static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvScale ( MultiVec< ScalarType > & mv,
const std::vector< ScalarType > & alpha )
inlinestatic

Definition at line 438 of file BelosMultiVec.hpp.

◆ MvTransMv() [1/2]

template<class ScalarType>
static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvTransMv ( const ScalarType alpha,
const MultiVec< ScalarType > & A,
const MultiVec< ScalarType > & mv,
Teuchos::SerialDenseMatrix< int, ScalarType > & B )
inlinestatic

Definition at line 441 of file BelosMultiVec.hpp.

◆ MvDot() [1/2]

template<class ScalarType>
static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvDot ( const MultiVec< ScalarType > & mv,
const MultiVec< ScalarType > & A,
std::vector< ScalarType > & b )
inlinestatic

Definition at line 444 of file BelosMultiVec.hpp.

◆ MvNorm() [1/2]

template<class ScalarType>
static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvNorm ( const MultiVec< ScalarType > & mv,
std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > & normvec,
NormType type = TwoNorm )
inlinestatic

Definition at line 447 of file BelosMultiVec.hpp.

◆ SetBlock() [1/3]

template<class ScalarType>
static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::SetBlock ( const MultiVec< ScalarType > & A,
const std::vector< int > & index,
MultiVec< ScalarType > & mv )
inlinestatic

Definition at line 450 of file BelosMultiVec.hpp.

◆ Assign() [1/2]

template<class ScalarType>
static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::Assign ( const MultiVec< ScalarType > & A,
MultiVec< ScalarType > & mv )
inlinestatic

Definition at line 454 of file BelosMultiVec.hpp.

◆ MvRandom() [1/2]

template<class ScalarType>
static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvRandom ( MultiVec< ScalarType > & mv)
inlinestatic

Definition at line 478 of file BelosMultiVec.hpp.

◆ MvInit() [1/2]

template<class ScalarType>
static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvInit ( MultiVec< ScalarType > & mv,
ScalarType alpha = Teuchos::ScalarTraits<ScalarType>::zero() )
inlinestatic

Definition at line 481 of file BelosMultiVec.hpp.

◆ MvPrint() [1/2]

template<class ScalarType>
static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvPrint ( const MultiVec< ScalarType > & mv,
std::ostream & os )
inlinestatic

Definition at line 484 of file BelosMultiVec.hpp.

◆ Clone() [2/2]

static Teuchos::RCP< MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::Clone ( const MultiVec< ScalarType > & mv,
const int numvecs )
inlinestatic

Creates a new empty MV containing numvecs columns.

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

Definition at line 138 of file BelosMultiVecTraits.hpp.

◆ CloneCopy() [3/5]

static Teuchos::RCP< MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneCopy ( const MultiVec< ScalarType > & mv)
inlinestatic

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.

Definition at line 145 of file BelosMultiVecTraits.hpp.

◆ CloneCopy() [4/5]

static Teuchos::RCP< MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneCopy ( const MultiVec< ScalarType > & mv,
const std::vector< int > & index )
inlinestatic

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.

Definition at line 153 of file BelosMultiVecTraits.hpp.

◆ CloneCopy() [5/5]

static Teuchos::RCP< MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneCopy ( const MultiVec< ScalarType > & mv,
const Teuchos::Range1D & index )
inlinestatic

Deep copy of specified columns of mv.

Create a new MV, and copy (deep copy) the columns of mv specified by the given inclusive index range into the new multivector.

Parameters
mv[in] Multivector to copy
index[in] Inclusive index range of columns of mv
Returns
Reference-counted pointer to the new multivector of type MV.

Definition at line 165 of file BelosMultiVecTraits.hpp.

◆ CloneViewNonConst() [3/4]

static Teuchos::RCP< MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneViewNonConst ( MultiVec< ScalarType > & mv,
const std::vector< int > & index )
inlinestatic

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.

Definition at line 173 of file BelosMultiVecTraits.hpp.

◆ CloneViewNonConst() [4/4]

static Teuchos::RCP< MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneViewNonConst ( MultiVec< ScalarType > & mv,
const Teuchos::Range1D & index )
inlinestatic

Non-const view of specified columns of mv.

Return a non-const view of the columns of mv specified by the given inclusive index range.

Parameters
mv[in] Multivector to view (shallow non-const copy)
index[in] Inclusive index range of columns of mv
Returns
Reference-counted pointer to the non-const view of specified columns of mv

Definition at line 184 of file BelosMultiVecTraits.hpp.

◆ CloneView() [3/4]

static Teuchos::RCP< const MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneView ( const MultiVec< ScalarType > & mv,
const std::vector< int > & index )
inlinestatic

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.

Definition at line 192 of file BelosMultiVecTraits.hpp.

◆ CloneView() [4/4]

static Teuchos::RCP< MultiVec< ScalarType > > Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::CloneView ( MultiVec< ScalarType > & mv,
const Teuchos::Range1D & index )
inlinestatic

Const view of specified columns of mv.

Return a const view of the columns of mv specified by the given inclusive index range.

Parameters
mv[in] Multivector to view (shallow const copy)
index[in] Inclusive index range of columns of mv
Returns
Reference-counted pointer to the const view of specified columns of mv

Definition at line 203 of file BelosMultiVecTraits.hpp.

◆ GetGlobalLength() [2/2]

static ptrdiff_t Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::GetGlobalLength ( const MultiVec< ScalarType > & mv)
inlinestatic

Return the number of rows in the given multivector mv.

Obtain the vector length of mv.

Definition at line 214 of file BelosMultiVecTraits.hpp.

◆ GetNumberVecs() [2/2]

static int Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::GetNumberVecs ( const MultiVec< ScalarType > & mv)
inlinestatic

Obtain the number of vectors in mv.

Definition at line 218 of file BelosMultiVecTraits.hpp.

◆ HasConstantStride()

static bool Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::HasConstantStride ( const MultiVec< ScalarType > & mv)
inlinestatic

Whether the given multivector mv has constant stride.

Parameters
mv[in] Multivector to check

Knowing whether mv has constant stride is useful for certain orthogonalization methods, for example.

Note
(mfh 13 Jan 2011) This is really a hack for TSQR, which currently can only process multivectors with constant stride. Fixing this can be done in a few different ways:
  • Copy the entire multivector into a constant-stride multivector (performance penalty for copying in and out, storage penalty of one multivector, but easy to implement)
  • Copying "cache blocks" in and out of constant-stride storage (some performance penalty, storage penalty << one multivector, requires a new variant of TSQR::SequentialTsqr and perhaps a restructuring of the TSQR has-a hierarchy)
  • Writing an implementation / back-end of TSQR::Combine that can handle cache blocks not of constant stride. Like the above, a bit more work, but without the copy in/out performance penalty for cache blocks, and doesn't require an extra cache block's worth of storage.

Definition at line 243 of file BelosMultiVecTraits.hpp.

◆ MvTimesMatAddMv() [2/2]

static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvTimesMatAddMv ( const ScalarType alpha,
const MultiVec< ScalarType > & A,
const Teuchos::SerialDenseMatrix< int, ScalarType > & B,
const ScalarType beta,
MultiVec< ScalarType > & mv )
inlinestatic

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

Definition at line 253 of file BelosMultiVecTraits.hpp.

◆ MvAddMv() [2/2]

static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvAddMv ( const ScalarType alpha,
const MultiVec< ScalarType > & A,
const ScalarType beta,
const MultiVec< ScalarType > & B,
MultiVec< ScalarType > & mv )
inlinestatic

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

Definition at line 260 of file BelosMultiVecTraits.hpp.

◆ MvScale() [3/4]

static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvScale ( MultiVec< ScalarType > & mv,
const ScalarType alpha )
inlinestatic

Scale each element of the vectors in mv with alpha.

Definition at line 265 of file BelosMultiVecTraits.hpp.

◆ MvScale() [4/4]

static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvScale ( MultiVec< ScalarType > & mv,
const std::vector< ScalarType > & alpha )
inlinestatic

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

Definition at line 270 of file BelosMultiVecTraits.hpp.

◆ MvTransMv() [2/2]

static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvTransMv ( const ScalarType alpha,
const MultiVec< ScalarType > & A,
const MultiVec< ScalarType > & mv,
Teuchos::SerialDenseMatrix< int, ScalarType > & B )
inlinestatic

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

Definition at line 275 of file BelosMultiVecTraits.hpp.

◆ MvDot() [2/2]

static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvDot ( const MultiVec< ScalarType > & mv,
const MultiVec< ScalarType > & 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]^Hmv[i]$.

Definition at line 280 of file BelosMultiVecTraits.hpp.

◆ MvNorm() [2/2]

static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvNorm ( const MultiVec< ScalarType > & mv,
std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > & normvec,
NormType type = TwoNorm )
inlinestatic

Compute the norm of each individual vector of mv. Upon return, normvec[i] holds the value of $||mv_i||$, the i-th column of mv.

Parameters
mvmulti-vector
normvecstd::vector containing the norm for each vector in mv
NormTypenorm type (default: two-norm)

Definition at line 294 of file BelosMultiVecTraits.hpp.

◆ SetBlock() [2/3]

static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::SetBlock ( const MultiVec< ScalarType > & A,
const std::vector< int > & index,
MultiVec< ScalarType > & mv )
inlinestatic

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].

Definition at line 306 of file BelosMultiVecTraits.hpp.

◆ SetBlock() [3/3]

static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::SetBlock ( const MultiVec< ScalarType > & A,
const Teuchos::Range1D & index,
MultiVec< ScalarType > & mv )
inlinestatic

Deep copy of A into specified columns of mv.

(Deeply) copy the first index.size() columns of A into the columns of mv specified by the given index range.

Postcondition: mv[i] = A[i - index.lbound()] for all i in [index.lbound(), index.ubound()]

Parameters
A[in] Source multivector
index[in] Inclusive index range of columns of mv; index set of the target
mv[out] Target multivector

Definition at line 321 of file BelosMultiVecTraits.hpp.

◆ Assign() [2/2]

static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::Assign ( const MultiVec< ScalarType > & A,
MultiVec< ScalarType > & mv )
inlinestatic

mv := A

Assign (deep copy) A into mv.

Definition at line 327 of file BelosMultiVecTraits.hpp.

◆ MvRandom() [2/2]

static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvRandom ( MultiVec< ScalarType > & mv)
inlinestatic

Replace the vectors in mv with random vectors.

Definition at line 332 of file BelosMultiVecTraits.hpp.

◆ MvInit() [2/2]

static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvInit ( MultiVec< ScalarType > & mv,
const ScalarType alpha = Teuchos::ScalarTraits<ScalarType>::zero() )
inlinestatic

Replace each element of the vectors in mv with alpha.

Definition at line 337 of file BelosMultiVecTraits.hpp.

◆ MvPrint() [2/2]

static void Belos::MultiVecTraits< ScalarType, MultiVec< ScalarType > >::MvPrint ( const MultiVec< ScalarType > & mv,
std::ostream & os )
inlinestatic

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

Definition at line 347 of file BelosMultiVecTraits.hpp.


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

Generated for Belos by doxygen 1.13.2