#include <Anasazi_LOCA_MultiVec.H>
Collaboration diagram for Anasazi::LOCAMultiVec:
Public Member Functions | |
| LOCAMultiVec (const NOX::Abstract::Vector &N_vec, int NumVecs) | |
| Constructor. | |
| LOCAMultiVec (const vector< NOX::Abstract::Vector * > N_vecPtrs, Anasazi::DataAccess type=Anasazi::Copy) | |
| Constructor. | |
| LOCAMultiVec (const LOCAMultiVec &source, Anasazi::DataAccess type=Anasazi::Copy) | |
| Constructor. | |
| LOCAMultiVec (Anasazi::DataAccess type, const LOCAMultiVec &source, const std::vector< int > &index) | |
| Constructor. | |
| ~LOCAMultiVec () | |
| Destructor. | |
|
virtual Anasazi::MultiVec< double > * | Clone (const int n) const |
| Create a new MultiVec with n columns. | |
|
virtual Anasazi::MultiVec< double > * | CloneCopy () const |
| Create a new MultiVec as a copy of this. | |
|
virtual Anasazi::MultiVec< double > * | CloneCopy (const std::vector< int > &index) const |
| Create a new MultiVec as a copy of selected columns. | |
|
virtual Anasazi::MultiVec< double > * | CloneView (const std::vector< int > &index) |
| Create a new MultiVec as a view of selected columns. | |
| virtual int | GetNumberVecs () const |
| Returns number of vectors. | |
| virtual int | GetVecLength () const |
| Returns vector length. | |
| virtual void | SetBlock (const Anasazi::MultiVec< double > &A, const std::vector< int > &index) |
| Set a block of this multivec with the multivecs specified by the index. | |
| virtual void | MvTimesMatAddMv (const double alpha, const Anasazi::MultiVec< double > &A, const Teuchos::SerialDenseMatrix< int, double > &B, const double beta) |
| *this <- alpha * A * B + beta * (*this) | |
| virtual void | MvAddMv (const double alpha, const Anasazi::MultiVec< double > &A, const double beta, const Anasazi::MultiVec< double > &B) |
| *this <- alpha * A + beta * B | |
| virtual void | MvTransMv (const double alpha, const Anasazi::MultiVec< double > &A, Teuchos::SerialDenseMatrix< int, double > &B) const |
| B <- alpha * A^T * (*this). | |
| virtual void | MvDot (const Anasazi::MultiVec< double > &A, std::vector< double > *b) const |
b[i] = A[i]^T*this[i] where A[i] is the i-th column of A. | |
| virtual void | MvNorm (std::vector< double > *normvec) const |
| alpha[i] = norm of i-th column of (*this) | |
| virtual void | MvRandom () |
| random vectors in i-th column of (*this) | |
| virtual void | MvInit (const double alpha) |
| initializes each element of (*this) with alpha | |
| virtual void | MvPrint () const |
| print (*this) | |
| virtual NOX::Abstract::Vector & | GetNOXVector (int index) |
| Return a reference to NOX::Abstract::Vector. | |
| virtual const NOX::Abstract::Vector & | GetNOXVector (int index) const |
| Return a const reference to NOX::Abstract::Vector. | |
Protected Attributes | |
| vector< NOX::Abstract::Vector * > | mvPtrs |
| Array of vectors. | |
| Anasazi::DataAccess | CV |
| View or Copy. | |
This class provides an implementation of the Anasazi::MultiVec class for NOX::Abstract::Vector's, to be used in conjunction with the Anasazi::LOCA::Matrix class. In its current implementation, this class holds an array of NOX::Abstract::Vector pointers, an implements the multi-vector operations defined by the Anasazi::MultiVec interface serially.
1.3.9.1