concepts::AnasaziMV< ScalarT > Class Template Reference
#include <anasaziHelper.hh>
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... | |
VectorT * | getVec (int i) |
Print *this multivector to the os output stream. More... | |
const VectorT * | getVec (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
typedef Vector<ScalarT> concepts::AnasaziMV< ScalarT >::VectorT |
Definition at line 54 of file anasaziHelper.hh.
Constructor & Destructor Documentation
◆ AnasaziMV() [1/2]
concepts::AnasaziMV< ScalarT >::AnasaziMV | ( | int | dim = 0 , |
int | nvecs = 0 , |
||
bool | allocate = true |
||
) |
◆ ~AnasaziMV()
|
virtual |
◆ AnasaziMV() [2/2]
|
private |
Member Function Documentation
◆ Clone()
|
virtual |
Creates a new empty Anasazi::MultiVec containing numvecs
columns.
- Returns
- Pointer to the new multivector
◆ CloneCopy() [1/2]
|
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]
|
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()
|
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()
|
inlinevirtual |
Obtain the number of vectors in *this.
Definition at line 99 of file anasaziHelper.hh.
◆ getVec() [1/2]
|
inline |
Print *this
multivector to the os
output stream.
Definition at line 181 of file anasaziHelper.hh.
◆ getVec() [2/2]
|
inline |
Print *this
multivector to the os
output stream.
Definition at line 186 of file anasaziHelper.hh.
◆ GetVecLength()
|
inline |
Obtain the vector length of *this.
Definition at line 96 of file anasaziHelper.hh.
◆ MvAddMv()
|
virtual |
Replace *this
with alpha
* A
+ beta
* B
.
◆ MvDot()
|
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()
|
virtual |
Replace each element of the vectors in *this
with alpha
.
◆ MvNorm()
|
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()
|
virtual |
Print *this
multivector to the os
output stream.
◆ MvRandom()
|
virtual |
Fill the vectors in *this
with random numbers.
◆ MvScale() [1/2]
|
virtual |
Scale each element of the i-th
vector in *this
with alpha
[i].
◆ MvScale() [2/2]
|
virtual |
Scale each element of the vectors in *this
with alpha
.
◆ MvTimesMatAddMv()
|
virtual |
Update *this
with alpha
* A
* B
+ beta
* (*this
).
◆ MvTransMv()
|
virtual |
Compute a dense matrix B
through the matrix-matrix multiply alpha
* A^T
* (*this
).
◆ operator=()
|
private |
◆ SetBlock()
|
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
|
private |
Print *this
multivector to the os
output stream.
Definition at line 195 of file anasaziHelper.hh.
◆ dim
|
private |
Print *this
multivector to the os
output stream.
Definition at line 192 of file anasaziHelper.hh.
◆ NO_ALLOCATE
|
static |
Definition at line 53 of file anasaziHelper.hh.
◆ nvecs
|
private |
Print *this
multivector to the os
output stream.
Definition at line 193 of file anasaziHelper.hh.
◆ 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:
- eigensolver/anasaziHelper.hh