#include <Xpetra_MultiVector.hpp>
Constructor/Destructor Methods | |
| virtual | ~MultiVector () |
| Destructor. | |
Post-construction modification routines | |
| virtual void | replaceGlobalValue (GlobalOrdinal globalRow, size_t vectorIndex, const Scalar &value)=0 |
| Replace value, using global (row) index. | |
| virtual void | sumIntoGlobalValue (GlobalOrdinal globalRow, size_t vectorIndex, const Scalar &value)=0 |
| Add value to existing value, using global (row) index. | |
| virtual void | replaceLocalValue (LocalOrdinal myRow, size_t vectorIndex, const Scalar &value)=0 |
| Replace value, using local (row) index. | |
| virtual void | sumIntoLocalValue (LocalOrdinal myRow, size_t vectorIndex, const Scalar &value)=0 |
| Add value to existing value, using local (row) index. | |
| virtual void | putScalar (const Scalar &value)=0 |
| Set all values in the multivector with the given value. | |
Data Copy and View get methods | |
| virtual Teuchos::ArrayRCP < const Scalar > | getData (size_t j) const =0 |
| Const view of the local values in a particular vector of this multivector. | |
| virtual Teuchos::ArrayRCP< Scalar > | getDataNonConst (size_t j)=0 |
| View of the local values in a particular vector of this multivector. | |
Mathematical methods | |
| virtual void | dot (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Teuchos::ArrayView< Scalar > &dots) const =0 |
| Compute dot product of each corresponding pair of vectors, dots[i] = this[i].dot(A[i]). | |
| virtual void | abs (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A)=0 |
| Put element-wise absolute values of input Multi-vector in target: A = abs(this). | |
| virtual void | reciprocal (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A)=0 |
| Put element-wise reciprocal values of input Multi-vector in target, this(i,j) = 1/A(i,j). | |
| virtual void | scale (const Scalar &alpha)=0 |
| Scale the current values of a multi-vector, this = alpha*this. | |
| virtual void | update (const Scalar &alpha, const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Scalar &beta)=0 |
| Update multi-vector values with scaled values of A, this = beta*this + alpha*A. | |
| virtual void | update (const Scalar &alpha, const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Scalar &beta, const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &B, const Scalar &gamma)=0 |
| Update multi-vector with scaled values of A and B, this = gamma*this + alpha*A + beta*B. | |
| virtual void | norm1 (const Teuchos::ArrayView< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > &norms) const =0 |
| Compute 1-norm of each vector in multi-vector. | |
| virtual void | norm2 (const Teuchos::ArrayView< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > &norms) const =0 |
| Compute 2-norm of each vector in multi-vector. | |
| virtual void | normInf (const Teuchos::ArrayView< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > &norms) const =0 |
| Compute Inf-norm of each vector in multi-vector. | |
| virtual void | normWeighted (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &weights, const Teuchos::ArrayView< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > &norms) const =0 |
| Compute Weighted 2-norm (RMS Norm) of each vector in multi-vector. | |
| virtual void | meanValue (const Teuchos::ArrayView< Scalar > &means) const =0 |
| Compute mean (average) value of each vector in multi-vector. | |
| virtual void | multiply (Teuchos::ETransp transA, Teuchos::ETransp transB, const Scalar &alpha, const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &B, const Scalar &beta)=0 |
| Matrix-matrix multiplication: this = beta*this + alpha*op(A)*op(B). | |
| virtual void | elementWiseMultiply (Scalar scalarAB, const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &B, Scalar scalarThis)=0 |
| Element-wise multiply of a Vector A with a MultiVector B. | |
Attribute access functions | |
| virtual size_t | getNumVectors () const =0 |
| Number of columns in the multivector. | |
| virtual size_t | getLocalLength () const =0 |
| Local number of rows on the calling process. | |
| virtual global_size_t | getGlobalLength () const =0 |
| Global number of rows in the multivector. | |
Overridden from Teuchos::Describable | |
| virtual std::string | description () const =0 |
| A simple one-line description of this object. | |
| virtual void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const =0 |
| Print the object with the given verbosity level to a FancyOStream. | |
Xpetra specific | |
| virtual void | setSeed (unsigned int seed)=0 |
| Set seed for Random function. | |
| virtual void | randomize (bool bUseXpetraImplementation=false)=0 |
| virtual void | Xpetra_randomize () |
| Set multi-vector values to random numbers. XPetra implementation. | |
Definition at line 67 of file Xpetra_MultiVector.hpp.
| virtual Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~MultiVector | ( | ) | [inline, virtual] |
Destructor.
Definition at line 77 of file Xpetra_MultiVector.hpp.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::replaceGlobalValue | ( | GlobalOrdinal | globalRow, |
| size_t | vectorIndex, | ||
| const Scalar & | value | ||
| ) | [pure virtual] |
Replace value, using global (row) index.
Implemented in Xpetra::EpetraIntVector, Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and Xpetra::EpetraMultiVector.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::sumIntoGlobalValue | ( | GlobalOrdinal | globalRow, |
| size_t | vectorIndex, | ||
| const Scalar & | value | ||
| ) | [pure virtual] |
Add value to existing value, using global (row) index.
Implemented in Xpetra::EpetraIntVector, Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and Xpetra::EpetraMultiVector.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::replaceLocalValue | ( | LocalOrdinal | myRow, |
| size_t | vectorIndex, | ||
| const Scalar & | value | ||
| ) | [pure virtual] |
Replace value, using local (row) index.
Implemented in Xpetra::EpetraIntVector, Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and Xpetra::EpetraMultiVector.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::sumIntoLocalValue | ( | LocalOrdinal | myRow, |
| size_t | vectorIndex, | ||
| const Scalar & | value | ||
| ) | [pure virtual] |
Add value to existing value, using local (row) index.
Implemented in Xpetra::EpetraIntVector, Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and Xpetra::EpetraMultiVector.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::putScalar | ( | const Scalar & | value | ) | [pure virtual] |
Set all values in the multivector with the given value.
Implemented in Xpetra::EpetraIntVector, Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and Xpetra::EpetraMultiVector.
| virtual Teuchos::ArrayRCP< const Scalar > Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getData | ( | size_t | j | ) | const [pure virtual] |
Const view of the local values in a particular vector of this multivector.
Implemented in Xpetra::EpetraIntVector, Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and Xpetra::EpetraMultiVector.
| virtual Teuchos::ArrayRCP< Scalar > Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getDataNonConst | ( | size_t | j | ) | [pure virtual] |
View of the local values in a particular vector of this multivector.
Implemented in Xpetra::EpetraIntVector, Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and Xpetra::EpetraMultiVector.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::dot | ( | const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | A, |
| const Teuchos::ArrayView< Scalar > & | dots | ||
| ) | const [pure virtual] |
Compute dot product of each corresponding pair of vectors, dots[i] = this[i].dot(A[i]).
Implemented in Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::EpetraIntVector, and Xpetra::EpetraMultiVector.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::abs | ( | const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | A | ) | [pure virtual] |
Put element-wise absolute values of input Multi-vector in target: A = abs(this).
Implemented in Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::EpetraIntVector, and Xpetra::EpetraMultiVector.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::reciprocal | ( | const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | A | ) | [pure virtual] |
Put element-wise reciprocal values of input Multi-vector in target, this(i,j) = 1/A(i,j).
Implemented in Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::EpetraIntVector, and Xpetra::EpetraMultiVector.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scale | ( | const Scalar & | alpha | ) | [pure virtual] |
Scale the current values of a multi-vector, this = alpha*this.
Implemented in Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::EpetraIntVector, and Xpetra::EpetraMultiVector.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::update | ( | const Scalar & | alpha, |
| const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | A, | ||
| const Scalar & | beta | ||
| ) | [pure virtual] |
Update multi-vector values with scaled values of A, this = beta*this + alpha*A.
Implemented in Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::EpetraIntVector, and Xpetra::EpetraMultiVector.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::update | ( | const Scalar & | alpha, |
| const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | A, | ||
| const Scalar & | beta, | ||
| const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | B, | ||
| const Scalar & | gamma | ||
| ) | [pure virtual] |
Update multi-vector with scaled values of A and B, this = gamma*this + alpha*A + beta*B.
Implemented in Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::EpetraIntVector, and Xpetra::EpetraMultiVector.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::norm1 | ( | const Teuchos::ArrayView< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > & | norms | ) | const [pure virtual] |
Compute 1-norm of each vector in multi-vector.
Implemented in Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::norm2 | ( | const Teuchos::ArrayView< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > & | norms | ) | const [pure virtual] |
Compute 2-norm of each vector in multi-vector.
Implemented in Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::normInf | ( | const Teuchos::ArrayView< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > & | norms | ) | const [pure virtual] |
Compute Inf-norm of each vector in multi-vector.
Implemented in Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::normWeighted | ( | const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | weights, |
| const Teuchos::ArrayView< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > & | norms | ||
| ) | const [pure virtual] |
Compute Weighted 2-norm (RMS Norm) of each vector in multi-vector.
Implemented in Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::meanValue | ( | const Teuchos::ArrayView< Scalar > & | means | ) | const [pure virtual] |
Compute mean (average) value of each vector in multi-vector.
Implemented in Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::EpetraIntVector, and Xpetra::EpetraMultiVector.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::multiply | ( | Teuchos::ETransp | transA, |
| Teuchos::ETransp | transB, | ||
| const Scalar & | alpha, | ||
| const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | A, | ||
| const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | B, | ||
| const Scalar & | beta | ||
| ) | [pure virtual] |
Matrix-matrix multiplication: this = beta*this + alpha*op(A)*op(B).
Implemented in Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::EpetraIntVector, and Xpetra::EpetraMultiVector.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::elementWiseMultiply | ( | Scalar | scalarAB, |
| const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | A, | ||
| const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | B, | ||
| Scalar | scalarThis | ||
| ) | [pure virtual] |
Element-wise multiply of a Vector A with a MultiVector B.
Implemented in Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::EpetraIntVector, and Xpetra::EpetraMultiVector.
| virtual size_t Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNumVectors | ( | ) | const [pure virtual] |
Number of columns in the multivector.
Implemented in Xpetra::EpetraIntVector, Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and Xpetra::EpetraMultiVector.
| virtual size_t Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalLength | ( | ) | const [pure virtual] |
Local number of rows on the calling process.
Implemented in Xpetra::EpetraIntVector, Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and Xpetra::EpetraMultiVector.
| virtual global_size_t Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalLength | ( | ) | const [pure virtual] |
Global number of rows in the multivector.
Implemented in Xpetra::EpetraIntVector, Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and Xpetra::EpetraMultiVector.
| virtual std::string Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::description | ( | ) | const [pure virtual] |
A simple one-line description of this object.
Implements Xpetra::DistObject< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Implemented in Xpetra::EpetraIntVector, Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::EpetraMultiVector, Xpetra::TpetraVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::EpetraVector, Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::Vector< int, int, int >, and Xpetra::Vector< double, int, int >.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::describe | ( | Teuchos::FancyOStream & | out, |
| const Teuchos::EVerbosityLevel | verbLevel = Teuchos::Describable::verbLevel_default |
||
| ) | const [pure virtual] |
Print the object with the given verbosity level to a FancyOStream.
Implements Xpetra::DistObject< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Implemented in Xpetra::EpetraIntVector, Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::EpetraMultiVector, Xpetra::TpetraVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::EpetraVector, Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::Vector< int, int, int >, and Xpetra::Vector< double, int, int >.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::setSeed | ( | unsigned int | seed | ) | [pure virtual] |
Set seed for Random function.
Implemented in Xpetra::TpetraMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >, Xpetra::EpetraMultiVector, and Xpetra::EpetraIntVector.
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::randomize | ( | bool | bUseXpetraImplementation = false | ) | [pure virtual] |
| virtual void Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Xpetra_randomize | ( | ) | [inline, virtual] |
Set multi-vector values to random numbers. XPetra implementation.
Definition at line 191 of file Xpetra_MultiVector.hpp.
1.7.6.1