46#ifndef XPETRA_MULTIVECTOR_DEF_HPP
47#define XPETRA_MULTIVECTOR_DEF_HPP
55template<
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
62template<
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
72template<
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
80 for(
size_t i = 0; i < numVectors; i++)
85 for(
size_t j = 0; j < myLength; j++)
87 datai[ j ] = SCT::random();
92template<
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
98 Scalar point5 = SCT::one()/ (SCT::one() + SCT::one());
101 for(
size_t i = 0; i < numVectors; i++)
106 for(
size_t j = 0; j < myLength; j++)
108 datai[ j ] = point5*(maxVal-minVal)*SCT::random()+point5*(maxVal+minVal);
virtual size_t getNumVectors() const =0
Number of columns in the multivector.
MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & operator=(const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &rhs)
Assignment operator: Does a deep copy.
virtual size_t getLocalLength() const =0
Local number of rows on the calling process.
virtual void Xpetra_randomize()
Set multi-vector values to random numbers. XPetra implementation.
virtual void assign(const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &rhs)=0
Implementation of the assignment operator (operator=); does a deep copy.
virtual ~MultiVector()
Destructor.
virtual Teuchos::ArrayRCP< Scalar > getDataNonConst(size_t j)=0
View of the local values in a particular vector of this multivector.