VectorSpaceBase.
More...
#include <Thyra_VectorSpaceDecl.hpp>
Inheritance diagram for Thyra::VectorSpace< Scalar >:

Public Member Functions | |
| VectorSpace< Scalar > & | operator= (const RCP< VectorSpaceBase< Scalar > > &vs) |
| Assign to an RCP<VectorSpaceBase<Scalar> >. | |
| Vector< Scalar > | createMember () const |
| Create a new element of this std::vector space. | |
| Teuchos::RCP< MultiVectorBase< Scalar > > | createMembers (int n) const |
| Create a multivector in this std::vector space. | |
| int | dim () const |
| Return the dimension of the space. | |
| bool | isCompatible (const VectorSpace< Scalar > &vecSpc) const |
| Check compatibility with another space. | |
| bool | isInCore () const |
| Tell if vectors of this space are in core. | |
| bool | operator== (const VectorSpace< Scalar > &other) const |
| Test equality between two spaces. | |
| bool | operator!= (const VectorSpace< Scalar > &other) const |
| Test inequality of two spaces. | |
| bool | contains (const Vector< Scalar > &vec) const |
| Test whether the space contains a given std::vector. | |
| int | numBlocks () const |
| Return the number of std::vector space subblocks. | |
| VectorSpace< Scalar > | getBlock (int k) const |
Get the k-th subblock where (0 <= k < numBlocks()). | |
| void | setBlock (int k, const VectorSpace< Scalar > &space) |
Set the k-th subblock where (0 <= k < numBlocks()). | |
Related Functions | |
| (Note that these are not member functions.) | |
| Vector< Scalar > | createMember (const VectorSpace< Scalar > &space) |
| Create a member. | |
| Teuchos::RCP< const VectorSpaceBase< Scalar > > | productSpace (const Teuchos::Array< VectorSpace< Scalar > > &spaces) |
| Create a product space given an array of std::vector spaces blocks. | |
| Teuchos::RCP< const VectorSpaceBase< Scalar > > | productSpace (VectorSpace< Scalar > &s1) |
| Create a product space given a single std::vector space block. | |
| Teuchos::RCP< const VectorSpaceBase< Scalar > > | productSpace (VectorSpace< Scalar > &s1, VectorSpace< Scalar > &s2) |
| Create a product space given two std::vector space blocks. | |
| Teuchos::RCP< const VectorSpaceBase< Scalar > > | productSpace (VectorSpace< Scalar > &s1, VectorSpace< Scalar > &s2, VectorSpace< Scalar > &s3) |
| Create a product space given three std::vector space blocks. | |
| int | lowestLocallyOwnedIndex (const VectorSpace< Scalar > &s) |
| Returns the lowest global index accessible on this processor. This function will throw an std::exception if the space is not a SpmdVectorSpaceBase. | |
| int | numLocalElements (const VectorSpace< Scalar > &s) |
| Return the number of elements owned by this processor. This function will throw an std::exception if the space is not a SpmdVectorSpaceBase. | |
| bool | indexIsLocal (const VectorSpace< Scalar > &s, Ordinal i) |
| Test whether a specified index is local to this processor. | |
| bool | isSPMD (const VectorSpace< Scalar > &s) |
| Test whether a std::vector space is an atomic SPMD object. | |
VectorSpaceBase.
Definition at line 46 of file Thyra_VectorSpaceDecl.hpp.
| VectorSpace< Scalar > & Thyra::VectorSpace< Scalar >::operator= | ( | const RCP< VectorSpaceBase< Scalar > > & | vs | ) | [inline] |
Assign to an RCP<VectorSpaceBase<Scalar> >.
Definition at line 46 of file Thyra_VectorSpaceImpl.hpp.
| Vector< Scalar > Thyra::VectorSpace< Scalar >::createMember | ( | ) | const [inline] |
Create a new element of this std::vector space.
Definition at line 68 of file Thyra_VectorSpaceImpl.hpp.
| RCP< MultiVectorBase< Scalar > > Thyra::VectorSpace< Scalar >::createMembers | ( | int | n | ) | const [inline] |
Create a multivector in this std::vector space.
Note: There is not yet a handle class for multi-vectors yet and therefore this function returns Teuchos::RCP object to the created raw MultiVectorBase object. In the future, this will be replaced to return a true Thyra::MultiVector handle object onces this class is created.
Definition at line 75 of file Thyra_VectorSpaceImpl.hpp.
| int Thyra::VectorSpace< Scalar >::dim | ( | ) | const [inline] |
| bool Thyra::VectorSpace< Scalar >::isCompatible | ( | const VectorSpace< Scalar > & | vecSpc | ) | const [inline] |
Check compatibility with another space.
Implementation note: we don't know if the argument vec space is a handle to another std::vector space or the contents of a handle, and we want the operation to work the same in either case. We can make this work as follows: have the argument check compatibility with the contents of this handle. If the argument is a handle, the process will be repeated, interchanging places again so that both handles are dereferenced. If the argument is not a handle, then it ends up comparing to the concrete contents of this handle, giving the same results.
Definition at line 82 of file Thyra_VectorSpaceImpl.hpp.
| bool Thyra::VectorSpace< Scalar >::isInCore | ( | ) | const [inline] |
| bool Thyra::VectorSpace< Scalar >::operator== | ( | const VectorSpace< Scalar > & | other | ) | const [inline] |
| bool Thyra::VectorSpace< Scalar >::operator!= | ( | const VectorSpace< Scalar > & | other | ) | const [inline] |
| bool Thyra::VectorSpace< Scalar >::contains | ( | const Vector< Scalar > & | vec | ) | const [inline] |
Test whether the space contains a given std::vector.
Definition at line 91 of file Thyra_VectorSpaceImpl.hpp.
| int Thyra::VectorSpace< Scalar >::numBlocks | ( | ) | const [inline] |
Return the number of std::vector space subblocks.
Definition at line 98 of file Thyra_VectorSpaceImpl.hpp.
| VectorSpace< Scalar > Thyra::VectorSpace< Scalar >::getBlock | ( | int | k | ) | const [inline] |
Get the k-th subblock where (0 <= k < numBlocks()).
Definition at line 111 of file Thyra_VectorSpaceImpl.hpp.
| void Thyra::VectorSpace< Scalar >::setBlock | ( | int | k, | |
| const VectorSpace< Scalar > & | space | |||
| ) |
Set the k-th subblock where (0 <= k < numBlocks()).
| Vector< Scalar > createMember | ( | const VectorSpace< Scalar > & | space | ) | [related] |
| Teuchos::RCP< const VectorSpaceBase< Scalar > > productSpace | ( | const Teuchos::Array< VectorSpace< Scalar > > & | spaces | ) | [related] |
Create a product space given an array of std::vector spaces blocks.
Definition at line 143 of file Thyra_VectorSpaceImpl.hpp.
| Teuchos::RCP< const VectorSpaceBase< Scalar > > productSpace | ( | VectorSpace< Scalar > & | s1 | ) | [related] |
Create a product space given a single std::vector space block.
Definition at line 156 of file Thyra_VectorSpaceImpl.hpp.
| Teuchos::RCP< const VectorSpaceBase< Scalar > > productSpace | ( | VectorSpace< Scalar > & | s1, | |
| VectorSpace< Scalar > & | s2 | |||
| ) | [related] |
Create a product space given two std::vector space blocks.
Definition at line 164 of file Thyra_VectorSpaceImpl.hpp.
| Teuchos::RCP< const VectorSpaceBase< Scalar > > productSpace | ( | VectorSpace< Scalar > & | s1, | |
| VectorSpace< Scalar > & | s2, | |||
| VectorSpace< Scalar > & | s3 | |||
| ) | [related] |
Create a product space given three std::vector space blocks.
Definition at line 173 of file Thyra_VectorSpaceImpl.hpp.
| int lowestLocallyOwnedIndex | ( | const VectorSpace< Scalar > & | s | ) | [related] |
Returns the lowest global index accessible on this processor. This function will throw an std::exception if the space is not a SpmdVectorSpaceBase.
Preconditions:
isSPMD(s)==true Definition at line 181 of file Thyra_VectorSpaceImpl.hpp.
| int numLocalElements | ( | const VectorSpace< Scalar > & | s | ) | [related] |
Return the number of elements owned by this processor. This function will throw an std::exception if the space is not a SpmdVectorSpaceBase.
Preconditions:
isSPMD(s)==true Definition at line 191 of file Thyra_VectorSpaceImpl.hpp.
| bool indexIsLocal | ( | const VectorSpace< Scalar > & | s, | |
| Ordinal | i | |||
| ) | [related] |
Test whether a specified index is local to this processor.
Definition at line 208 of file Thyra_VectorSpaceImpl.hpp.
| bool isSPMD | ( | const VectorSpace< Scalar > & | s | ) | [related] |
Test whether a std::vector space is an atomic SPMD object.
Definition at line 201 of file Thyra_VectorSpaceImpl.hpp.
1.4.7