29 :
public virtual Xpetra::Vector<Scalar, LocalOrdinal, GlobalOrdinal, Node>,
30 public virtual Xpetra::BlockedMultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> {
48#undef XPETRA_BLOCKEDVECTOR_SHORT
91 BlockedVector(
Teuchos::RCP<
const Xpetra::MapExtractor<Scalar, LocalOrdinal, GlobalOrdinal, Node>> mapExtractor,
95 virtual ~BlockedVector();
104 BlockedVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>&
112 virtual void replaceGlobalValue(GlobalOrdinal globalRow,
size_t vectorIndex,
const Scalar& value);
115 virtual void sumIntoGlobalValue(GlobalOrdinal globalRow,
size_t vectorIndex,
const Scalar& value);
118 virtual void replaceLocalValue(LocalOrdinal myRow,
size_t vectorIndex,
const Scalar& value);
121 virtual void sumIntoLocalValue(LocalOrdinal myRow,
size_t vectorIndex,
const Scalar& value);
124 virtual void replaceGlobalValue(GlobalOrdinal globalRow,
const Scalar& value);
127 virtual void sumIntoGlobalValue(GlobalOrdinal globalRow,
const Scalar& value);
130 virtual void replaceLocalValue(LocalOrdinal myRow,
const Scalar& value);
133 virtual void sumIntoLocalValue(LocalOrdinal myRow,
const Scalar& value);
136 virtual void putScalar(
const Scalar& value);
145 getVector(
size_t j)
const;
149 getVectorNonConst(
size_t j);
175 virtual void scale(
const Scalar& alpha);
180 virtual void update(
const Scalar& alpha,
185 virtual void update(
const Scalar& alpha,
189 const Scalar& gamma);
213 virtual Scalar meanValue()
const;
230 virtual void elementWiseMultiply(Scalar ,
236 virtual void elementWiseMultiply(Scalar ,
247 virtual size_t getNumVectors()
const;
250 virtual size_t getLocalLength()
const;
264 virtual std::string description()
const;
298 virtual void setSeed(
unsigned int seed);
300 virtual void randomize(
bool bUseXpetraImplementation =
false);
302 virtual void randomize(
const Scalar& minVal,
const Scalar& maxVal,
bool bUseXpetraImplementation =
false);
305 virtual void Xpetra_randomize();
308 virtual void Xpetra_randomize(
const Scalar& minVal,
const Scalar& maxVal);
317 getMultiVector(
size_t r)
const;
321 getMultiVector(
size_t r,
bool bThyraMode)
const;
325 setMultiVector(
size_t r,
virtual void dot(const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Teuchos::ArrayView< Scalar > &dots) const
Compute dot product of each corresponding pair of vectors, dots[i] = this[i].dot(A[i]).