Xpetra Version of the Day
Loading...
Searching...
No Matches
Xpetra::ReorderedBlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

#include <Xpetra_ReorderedBlockedMultiVector.hpp>

Inheritance diagram for Xpetra::ReorderedBlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >:
Xpetra::BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > Xpetra::DistObject< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > Teuchos::Describable Teuchos::LabeledObject

Public Types

typedef Scalar scalar_type
typedef LocalOrdinal local_ordinal_type
typedef GlobalOrdinal global_ordinal_type
typedef Node node_type
Public Types inherited from Xpetra::BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType >
typedef Scalar scalar_type
typedef LocalOrdinal local_ordinal_type
typedef GlobalOrdinal global_ordinal_type
typedef Tpetra::KokkosClassic::DefaultNode::DefaultNodeType node_type
Public Types inherited from Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType >
typedef Scalar scalar_type
typedef LocalOrdinal local_ordinal_type
typedef GlobalOrdinal global_ordinal_type
typedef Tpetra::KokkosClassic::DefaultNode::DefaultNodeType node_type
using impl_scalar_type
using dual_view_type
using dual_view_type_const
using host_execution_space
using dev_execution_space

Overridden from Teuchos::Describable

Teuchos::RCP< const Xpetra::BlockReorderManagerbrm_
Teuchos::RCP< const Xpetra::BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > fullVec_
std::string description () const
 Return a simple one-line description of this object.
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
 Print the object with some verbosity level to an FancyOStream object.

Constructor/Destructor Methods

 ReorderedBlockedMultiVector (Teuchos::RCP< const BlockedMap > &rangeMap, Teuchos::RCP< const Xpetra::BlockReorderManager > brm, Teuchos::RCP< const Xpetra::BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > bvec)
 Constructor.
virtual ~ReorderedBlockedMultiVector ()
 Destructor.
Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > mergeSubBlockMaps (Teuchos::RCP< const Xpetra::BlockReorderManager > brm)

Additional Inherited Members

virtual void setSeed (unsigned int seed)
 Set seed for Random function.
virtual void randomize (bool bUseXpetraImplementation=false)
 Set multi-vector values to random numbers.
virtual void Xpetra_randomize ()
 Set multi-vector values to random numbers. XPetra implementation.
Teuchos::RCP< const MapgetMap () const
 Access function for the underlying Map this DistObject was constructed with.
Teuchos::RCP< const Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > > getBlockedMap () const
 Access function for the underlying Map this DistObject was constructed with.
Teuchos::RCP< MultiVectorgetMultiVector (size_t r) const
 return partial multivector associated with block row r
void setMultiVector (size_t r, Teuchos::RCP< const MultiVector > v, bool bThyraMode)
 set partial multivector associated with block row r
Teuchos::RCP< MultiVectorMerge () const
 merge BlockedMultiVector blocks to a single MultiVector
 BlockedMultiVector (const Teuchos::RCP< const BlockedMap > &map, size_t NumVectors, bool zeroOut=true)
 Constructor.
virtual ~BlockedMultiVector ()
 Destructor.
BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > & operator= (const MultiVector &rhs)
 Assignment operator: Does a deep copy.
virtual void replaceGlobalValue (GlobalOrdinal, size_t, const Scalar &)
 Replace value, using global (row) index.
virtual void sumIntoGlobalValue (GlobalOrdinal, size_t, const Scalar &)
 Add value to existing value, using global (row) index.
virtual void replaceLocalValue (LocalOrdinal, size_t, const Scalar &)
 Replace value, using local (row) index.
virtual void sumIntoLocalValue (LocalOrdinal, size_t, const Scalar &)
 Add value to existing value, using local (row) index.
virtual void putScalar (const Scalar &value)
 Set all values in the multivector with the given value.
virtual Teuchos::RCP< const Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > > getVector (size_t j) const
 Return a Vector which is a const view of column j.
virtual Teuchos::RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > > getVectorNonConst (size_t j)
 Return a Vector which is a nonconst view of column j.
virtual Teuchos::ArrayRCP< const Scalar > getData (size_t j) const
 Const view of the local values in a particular vector of this multivector.
virtual Teuchos::ArrayRCP< Scalar > getDataNonConst (size_t j)
 View of the local values in a particular vector of this multivector.
virtual void dot (const MultiVector &, const Teuchos::ArrayView< Scalar > &) const
 Compute dot product of each corresponding pair of vectors, dots[i] = this[i].dot(A[i]).
virtual void abs (const MultiVector &)
 Put element-wise absolute values of input Multi-vector in target: A = abs(this).
virtual void reciprocal (const MultiVector &)
 Put element-wise reciprocal values of input Multi-vector in target, this(i,j) = 1/A(i,j).
virtual void scale (const Scalar &alpha)
 Scale the current values of a multi-vector, this = alpha*this.
virtual void update (const Scalar &alpha, const MultiVector &A, const Scalar &beta)
 Update multi-vector values with scaled values of A, this = beta*this + alpha*A.
virtual void norm1 (const Teuchos::ArrayView< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > &norms) const
 Compute 1-norm of each vector in multi-vector.
virtual void norm2 (const Teuchos::ArrayView< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > &norms) const
virtual void normInf (const Teuchos::ArrayView< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > &norms) const
 Compute Inf-norm of each vector in multi-vector.
virtual void meanValue (const Teuchos::ArrayView< Scalar > &) const
 Compute mean (average) value of each vector in multi-vector. The outcome of this routine is undefined for non-floating point scalar types (e.g., int).
virtual void multiply (Teuchos::ETransp, Teuchos::ETransp, const Scalar &, const MultiVector &, const MultiVector &, const Scalar &)
 Matrix-matrix multiplication: this = beta*this + alpha*op(A)*op(B).
virtual void elementWiseMultiply (Scalar scalarAB, const Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &A, const MultiVector &B, Scalar scalarThis)
 Element-wise multiply of a Vector A with a MultiVector B.
virtual size_t getNumVectors () const
 Number of columns in the multivector.
virtual size_t getLocalLength () const
 Local number of rows on the calling process.
virtual global_size_t getGlobalLength () const
 Global number of rows in the multivector.
virtual bool isSameSize (const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &vec) const
 Local number of rows on the calling process.
virtual void replaceMap (const RCP< const Map > &map)
virtual void doImport (const DistObject< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &, const Import &, CombineMode)
 Import.
virtual void doExport (const DistObject< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &, const Import &, CombineMode)
 Export.
virtual dual_view_type::t_host_const_um getHostLocalView (Access::ReadOnlyStruct) const
virtual dual_view_type::t_dev_const_um getDeviceLocalView (Access::ReadOnlyStruct) const
virtual ~MultiVector ()
 Destructor.
MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > & operator= (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &rhs)
 Assignment operator: Does a deep copy.
virtual void dot (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &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, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &A)=0
 Put element-wise absolute values of input Multi-vector in target: A = abs(this).
virtual void reciprocal (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &A)=0
 Put element-wise reciprocal values of input Multi-vector in target, this(i,j) = 1/A(i,j).
virtual void update (const Scalar &alpha, const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &A, const Scalar &beta)=0
 Update multi-vector values with scaled values of A, this = beta*this + alpha*A.
virtual void multiply (Teuchos::ETransp transA, Teuchos::ETransp transB, const Scalar &alpha, const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &A, const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &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, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &A, const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &B, Scalar scalarThis)=0
 Multiply a Vector A elementwise by a MultiVector B.
virtual bool isSameSize (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &vec) const=0
virtual void replaceMap (const RCP< const Map< LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > > &map)=0
virtual ~DistObject ()
 Destructor.
virtual void doImport (const DistObject< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &source, const Import< LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &importer, CombineMode CM)=0
 Import data into this object using an Import object ("forward mode").
virtual void beginImport (const DistObject< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &source, const Import< LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &importer, CombineMode CM)
 Import data into this object using an Import object ("forward mode").
virtual void endImport (const DistObject< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &source, const Import< LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &importer, CombineMode CM)
 Import data into this object using an Import object ("forward mode").
virtual void doExport (const DistObject< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &source, const Export< LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &exporter, CombineMode CM)=0
 Export data into this object using an Export object ("forward mode").
virtual void beginExport (const DistObject< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &source, const Export< LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &exporter, CombineMode CM)
 Export data into this object using an Export object ("forward mode").
virtual void endExport (const DistObject< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &source, const Export< LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &exporter, CombineMode CM)
 Export data into this object using an Export object ("forward mode").
Public Member Functions inherited from Teuchos::Describable
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
virtual ~Describable ()
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
virtual ~Describable ()
Public Member Functions inherited from Teuchos::LabeledObject
 LabeledObject ()
virtual ~LabeledObject ()
virtual void setObjectLabel (const std::string &objectLabel)
virtual std::string getObjectLabel () const
Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
virtual void assign (const MultiVector &rhs)
 Implementation of the assignment operator (operator=); does a deep copy.
virtual void assign (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType > &rhs)=0
 Implementation of the assignment operator (operator=); does a deep copy.

Detailed Description

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
class Xpetra::ReorderedBlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Definition at line 36 of file Xpetra_ReorderedBlockedMultiVector.hpp.

Member Typedef Documentation

◆ scalar_type

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
typedef Scalar Xpetra::ReorderedBlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scalar_type

Definition at line 38 of file Xpetra_ReorderedBlockedMultiVector.hpp.

◆ local_ordinal_type

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
typedef LocalOrdinal Xpetra::ReorderedBlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type

Definition at line 39 of file Xpetra_ReorderedBlockedMultiVector.hpp.

◆ global_ordinal_type

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
typedef GlobalOrdinal Xpetra::ReorderedBlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::global_ordinal_type

Definition at line 40 of file Xpetra_ReorderedBlockedMultiVector.hpp.

◆ node_type

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
typedef Node Xpetra::ReorderedBlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::node_type

Definition at line 41 of file Xpetra_ReorderedBlockedMultiVector.hpp.

Constructor & Destructor Documentation

◆ ReorderedBlockedMultiVector()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
Xpetra::ReorderedBlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ReorderedBlockedMultiVector ( Teuchos::RCP< const BlockedMap > & rangeMap,
Teuchos::RCP< const Xpetra::BlockReorderManager > brm,
Teuchos::RCP< const Xpetra::BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > bvec )
inline

Constructor.

Parameters
rangeMapsrange maps for all blocks
domainMapsdomain maps for all blocks
nprextimated number of entries per row in each block(!)
brmof type BlockReorderManager
bmatoriginal full blocked operator (we keep the RCP to make sure all subblocks are available)

Definition at line 59 of file Xpetra_ReorderedBlockedMultiVector.hpp.

◆ ~ReorderedBlockedMultiVector()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
virtual Xpetra::ReorderedBlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~ReorderedBlockedMultiVector ( )
inlinevirtual

Destructor.

Definition at line 70 of file Xpetra_ReorderedBlockedMultiVector.hpp.

Member Function Documentation

◆ mergeSubBlockMaps()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::ReorderedBlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::mergeSubBlockMaps ( Teuchos::RCP< const Xpetra::BlockReorderManager > brm)
inlineprivate

Definition at line 78 of file Xpetra_ReorderedBlockedMultiVector.hpp.

◆ description()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
std::string Xpetra::ReorderedBlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::description ( ) const
inlinevirtual

◆ describe()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
void Xpetra::ReorderedBlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::describe ( Teuchos::FancyOStream & out,
const Teuchos::EVerbosityLevel verbLevel = Teuchos::Describable::verbLevel_default ) const
inlinevirtual

Print the object with some verbosity level to an FancyOStream object.

Reimplemented from Xpetra::BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Tpetra::KokkosClassic::DefaultNode::DefaultNodeType >.

Definition at line 116 of file Xpetra_ReorderedBlockedMultiVector.hpp.

Member Data Documentation

◆ brm_

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
Teuchos::RCP<const Xpetra::BlockReorderManager> Xpetra::ReorderedBlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::brm_
private

Definition at line 125 of file Xpetra_ReorderedBlockedMultiVector.hpp.

◆ fullVec_

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
Teuchos::RCP<const Xpetra::BlockedMultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> > Xpetra::ReorderedBlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::fullVec_
private

Definition at line 126 of file Xpetra_ReorderedBlockedMultiVector.hpp.


The documentation for this class was generated from the following file: