#include <AnasaziMultiVec.hpp>
Inheritance diagram for Anasazi::MultiVec< ScalarType >:
Public Member Functions | |
Constructor/Destructor. | |
| MultiVec () | |
| Anasazi::MultiVec constructor. | |
| virtual | ~MultiVec () |
| Anasazi::MultiVec destructor. | |
Creation methods | |
| virtual MultiVec< ScalarType > * | Clone (const int numvecs) const =0 |
Creates a new empty Anasazi::MultiVec containing numvecs columns. | |
| virtual MultiVec< ScalarType > * | CloneCopy () const =0 |
Creates a new Anasazi::MultiVec and copies contents of *this into the new vector (deep copy). | |
| virtual MultiVec< ScalarType > * | CloneCopy (const std::vector< int > &index) const =0 |
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. | |
| virtual MultiVec< ScalarType > * | CloneView (const std::vector< int > &index)=0 |
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. | |
Attribute methods | |
| virtual int | GetVecLength () const =0 |
| Obtain the vector length of *this. | |
| virtual int | GetNumberVecs () const =0 |
| Obtain the number of vectors in *this. | |
Update methods | |
| virtual void | MvTimesMatAddMv (const ScalarType alpha, const MultiVec< ScalarType > &A, const Teuchos::SerialDenseMatrix< int, ScalarType > &B, const ScalarType beta)=0 |
Update *this with alpha * A * B + beta * (*this). | |
| virtual void | MvAddMv (const ScalarType alpha, const MultiVec< ScalarType > &A, const ScalarType beta, const MultiVec< ScalarType > &B)=0 |
Replace *this with alpha * A + beta * B. | |
| virtual void | MvTransMv (const ScalarType alpha, const MultiVec< ScalarType > &A, Teuchos::SerialDenseMatrix< int, ScalarType > &B) const =0 |
Compute a dense matrix B through the matrix-matrix multiply alpha * A^T * (*this). | |
| virtual void | MvDot (const MultiVec< ScalarType > &A, std::vector< ScalarType > *b) const =0 |
Compute a vector b where the components are the individual dot-products, i.e.b[i] = A[i]^T*this[i] where A[i] is the i-th column of A. | |
Norm method | |
| virtual void | MvNorm (std::vector< ScalarType > *normvec) const =0 |
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. | |
Initialization methods | |
| virtual void | SetBlock (const MultiVec< ScalarType > &A, const std::vector< int > &index)=0 |
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. | |
| virtual void | MvRandom ()=0 |
Fill the vectors in *this with random numbers. | |
| virtual void | MvInit (const ScalarType alpha)=0 |
Replace each element of the vectors in *this with alpha. | |
Print method. | |
| virtual void | MvPrint (ostream &os) const =0 |
Print *this multivector to the os output stream. | |
A concrete implementation of this class is necessary. The user can create their own implementation if those supplied are not suitable for their needs.
|
||||||||||
|
Creates a new empty Anasazi::MultiVec containing
Implemented in Anasazi::EpetraMultiVec. |
|
||||||||||
|
Creates a new Anasazi::MultiVec and copies the selected contents of
Implemented in Anasazi::EpetraMultiVec. |
|
|||||||||
|
Creates a new Anasazi::MultiVec and copies contents of
Implemented in Anasazi::EpetraMultiVec. |
|
||||||||||
|
Creates a new Anasazi::MultiVec that shares the selected contents of
Implemented in Anasazi::EpetraMultiVec. |
1.3.9.1