#include <Thyra_DefaultSpmdMultiVector_decl.hpp>
Inheritance diagram for Thyra::DefaultSpmdMultiVector< Scalar >:

Constructors/initializers/accessors | |
| DefaultSpmdMultiVector () | |
| Construct to uninitialized. | |
| DefaultSpmdMultiVector (const RCP< const SpmdVectorSpaceBase< Scalar > > &spmdRangeSpace, const RCP< const ScalarProdVectorSpaceBase< Scalar > > &domainSpace) | |
Calls initialize(). | |
| DefaultSpmdMultiVector (const RCP< const SpmdVectorSpaceBase< Scalar > > &spmdRangeSpace, const RCP< const ScalarProdVectorSpaceBase< Scalar > > &domainSpace, const ArrayRCP< Scalar > &localValues, const Ordinal leadingDim=-1) | |
Calls initialize(). | |
| void | initialize (const RCP< const SpmdVectorSpaceBase< Scalar > > &spmdRangeSpace, const RCP< const ScalarProdVectorSpaceBase< Scalar > > &domainSpace) |
| Initialize only with vector spaces where storage is allocated internally.. | |
| void | initialize (const RCP< const SpmdVectorSpaceBase< Scalar > > &spmdRangeSpace, const RCP< const ScalarProdVectorSpaceBase< Scalar > > &domainSpace, const ArrayRCP< Scalar > &localValues, const Ordinal leadingDim=-1) |
| Initialize using externally allocated storage. | |
| void | uninitialize (RCP< const SpmdVectorSpaceBase< Scalar > > *spmdRangeSpace=NULL, RCP< const ScalarProdVectorSpaceBase< Scalar > > *domainSpace=NULL, ArrayRCP< Scalar > *localValues=NULL, Ordinal *leadingDim=NULL) |
| Set to an uninitialized state. | |
| RCP< const ScalarProdVectorSpaceBase< Scalar > > | domainScalarProdVecSpc () const |
| | |
Overridden public functions from SpmdMultiVectorBase | |
| RCP< const SpmdVectorSpaceBase< Scalar > > | spmdSpace () const |
| | |
Overridden protected functions from MultiVectorBase | |
| RCP< VectorBase< Scalar > > | nonconstColImpl (Ordinal j) |
| | |
| RCP< MultiVectorBase< Scalar > > | nonconstContigSubViewImpl (const Range1D &colRng) |
| | |
| RCP< const MultiVectorBase< Scalar > > | nonContigSubViewImpl (const ArrayView< const int > &cols) const |
| | |
| RCP< MultiVectorBase< Scalar > > | nonconstNonContigSubViewImpl (const ArrayView< const int > &cols) |
| | |
Overridden protected functions from SpmdMultiVectorBase | |
| void | getNonconstLocalDataImpl (const Ptr< ArrayRCP< Scalar > > &localValues, const Ptr< Ordinal > &leadingDim) |
| | |
| void | getLocalDataImpl (const Ptr< ArrayRCP< const Scalar > > &localValues, const Ptr< Ordinal > &leadingDim) const |
| | |
This subclass provides a very efficient and very general concrete implementation of a Thyra::MultiVectorBase object.
Objects of this type generally should not be constructed directly by a client but instead by using the concrete vector space subclass Thyra::DefaultSpmdVectorSpace and using the function Thyra::createMembers().
The storage type can be anything since a Teuchos::ArrayRCP is used to pass in the local values pointer into the constructor and initialize().
Definition at line 55 of file Thyra_DefaultSpmdMultiVector_decl.hpp.
| Thyra::DefaultSpmdMultiVector< Scalar >::DefaultSpmdMultiVector | ( | ) |
| Thyra::DefaultSpmdMultiVector< Scalar >::DefaultSpmdMultiVector | ( | const RCP< const SpmdVectorSpaceBase< Scalar > > & | spmdRangeSpace, | |
| const RCP< const ScalarProdVectorSpaceBase< Scalar > > & | domainSpace | |||
| ) |
| Thyra::DefaultSpmdMultiVector< Scalar >::DefaultSpmdMultiVector | ( | const RCP< const SpmdVectorSpaceBase< Scalar > > & | spmdRangeSpace, | |
| const RCP< const ScalarProdVectorSpaceBase< Scalar > > & | domainSpace, | |||
| const ArrayRCP< Scalar > & | localValues, | |||
| const Ordinal | leadingDim = -1 | |||
| ) |
| void Thyra::DefaultSpmdMultiVector< Scalar >::initialize | ( | const RCP< const SpmdVectorSpaceBase< Scalar > > & | spmdRangeSpace, | |
| const RCP< const ScalarProdVectorSpaceBase< Scalar > > & | domainSpace | |||
| ) |
Initialize only with vector spaces where storage is allocated internally..
| spmdRangeSpace | [in] Smart pointer to SpmdVectorSpaceBase object that defines the data distribution for spmdSpace() and range(). | |
| domainSpace | [in] Smart pointer to VectorSpaceBase object that defines domain() space. |
spmdRangeSpace.get()!=NULL domainSpace.get()!=NULL Definition at line 155 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| void Thyra::DefaultSpmdMultiVector< Scalar >::initialize | ( | const RCP< const SpmdVectorSpaceBase< Scalar > > & | spmdRangeSpace, | |
| const RCP< const ScalarProdVectorSpaceBase< Scalar > > & | domainSpace, | |||
| const ArrayRCP< Scalar > & | localValues, | |||
| const Ordinal | leadingDim = -1 | |||
| ) |
Initialize using externally allocated storage.
| spmdRangeSpace | [in] Smart pointer to SpmdVectorSpaceBase object that defines the data distribution for spmdSpace() and range(). | |
| domainSpace | [in] Smart pointer to VectorSpaceBase object that defines domain() space. | |
| localValues | [in] Smart pointer to beginning of Fortran-style column-major array that defines the local localValues in the multi-vector. This array must be at least of dimension spmdRangeSpace->localSubDim()*domainSpace->dim() and (&*localValues)[ i + j*leadingDim ] gives the local value of the zero-based entry (i,j) where i=0...spmdSpace()->localSubDim()-1 and j=0...domainSpace->dim()-1. | |
| leadingDim | [in] The leading dimension of the multi-vector. If -1, then is taken to be localValues.size(). |
spmdRangeSpace.get()!=NULL domainSpace.get()!=NULL localValues.get()!=NULL leadingDim >= spmdRangeSpace->localSubDim() Definition at line 169 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| void Thyra::DefaultSpmdMultiVector< Scalar >::uninitialize | ( | RCP< const SpmdVectorSpaceBase< Scalar > > * | spmdRangeSpace = NULL, |
|
| RCP< const ScalarProdVectorSpaceBase< Scalar > > * | domainSpace = NULL, |
|||
| ArrayRCP< Scalar > * | localValues = NULL, |
|||
| Ordinal * | leadingDim = NULL | |||
| ) |
Set to an uninitialized state.
Postconditions:
this->spmdSpace().get() == NULL. Definition at line 195 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| RCP< const ScalarProdVectorSpaceBase< Scalar > > Thyra::DefaultSpmdMultiVector< Scalar >::domainScalarProdVecSpc | ( | ) | const [virtual] |
Implements Thyra::MultiVectorAdapterBase< Scalar >.
Definition at line 218 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| RCP< const SpmdVectorSpaceBase< Scalar > > Thyra::DefaultSpmdMultiVector< Scalar >::spmdSpace | ( | ) | const [virtual] |
Implements Thyra::SpmdMultiVectorBase< Scalar >.
Definition at line 232 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| RCP< VectorBase< Scalar > > Thyra::DefaultSpmdMultiVector< Scalar >::nonconstColImpl | ( | Ordinal | j | ) | [protected, virtual] |
Implements Thyra::MultiVectorBase< Scalar >.
Definition at line 246 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| RCP< MultiVectorBase< Scalar > > Thyra::DefaultSpmdMultiVector< Scalar >::nonconstContigSubViewImpl | ( | const Range1D & | colRng | ) | [protected, virtual] |
Reimplemented from Thyra::MultiVectorDefaultBase< Scalar >.
Definition at line 267 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| RCP< const MultiVectorBase< Scalar > > Thyra::DefaultSpmdMultiVector< Scalar >::nonContigSubViewImpl | ( | const ArrayView< const int > & | cols | ) | const [protected, virtual] |
Reimplemented from Thyra::MultiVectorDefaultBase< Scalar >.
Definition at line 291 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| RCP< MultiVectorBase< Scalar > > Thyra::DefaultSpmdMultiVector< Scalar >::nonconstNonContigSubViewImpl | ( | const ArrayView< const int > & | cols | ) | [protected, virtual] |
Reimplemented from Thyra::MultiVectorDefaultBase< Scalar >.
Definition at line 308 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| void Thyra::DefaultSpmdMultiVector< Scalar >::getNonconstLocalDataImpl | ( | const Ptr< ArrayRCP< Scalar > > & | localValues, | |
| const Ptr< Ordinal > & | leadingDim | |||
| ) | [protected, virtual] |
Implements Thyra::SpmdMultiVectorBase< Scalar >.
Definition at line 332 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| void Thyra::DefaultSpmdMultiVector< Scalar >::getLocalDataImpl | ( | const Ptr< ArrayRCP< const Scalar > > & | localValues, | |
| const Ptr< Ordinal > & | leadingDim | |||
| ) | const [protected, virtual] |
Implements Thyra::SpmdMultiVectorBase< Scalar >.
Definition at line 345 of file Thyra_DefaultSpmdMultiVector_def.hpp.
1.4.7