|
Thyra Package Browser (Single Doxygen Collection) Version of the Day
|
Standard concrete implementation of a product vector space that creates product vectors fromed implicitly from the columns of a multi-vector. More...
#include <Thyra_DefaultMultiVectorProductVectorSpace_decl.hpp>

Private Member Functions | |
| void | assertInitialized () const |
Private Attributes | |
| RCP< const VectorSpaceBase < Scalar > > | space_ |
| int | numColumns_ |
| RCP< const DefaultProductVectorSpace < Scalar > > | defaultProdVecSpc_ |
Related Functions | |
(Note that these are not member functions.) | |
| template<class Scalar > | |
| RCP < DefaultMultiVectorProductVectorSpace < Scalar > > | multiVectorProductVectorSpace () |
| Nonmember constructor function. | |
| template<class Scalar > | |
| RCP < DefaultMultiVectorProductVectorSpace < Scalar > > | multiVectorProductVectorSpace (const RCP< const VectorSpaceBase< Scalar > > &space, const int numColumns) |
| Nonmember constructor function. | |
Constructors/initializers/accessors | |
| DefaultMultiVectorProductVectorSpace () | |
| Construct to an uninitialized state. | |
| void | initialize (const RCP< const VectorSpaceBase< Scalar > > &space, const int numColumns) |
| Initialize with a list of constituent vector spaces. | |
| RCP< const DefaultProductVectorSpace < Scalar > > | getDefaultProductVectorSpace () const |
| | |
| void | uninitialize (RCP< const VectorSpaceBase< Scalar > > *space=0, int *numColumns=0) |
| Uninitialize. | |
Overridden from DefaultMultiVectorProductVectorSpace | |
| int | numBlocks () const |
| | |
| RCP< const VectorSpaceBase < Scalar > > | getBlock (const int k) const |
| | |
Overridden from VectorSpaceBase | |
| Ordinal | dim () const |
| | |
| bool | isCompatible (const VectorSpaceBase< Scalar > &vecSpc) const |
| | |
| RCP< VectorBase< Scalar > > | createMember () const |
Returns a DefaultMultiVectorProductVector object. | |
| Scalar | scalarProd (const VectorBase< Scalar > &x, const VectorBase< Scalar > &y) const |
| Returns the sum of the scalar products of the constituent vectors. | |
| void | scalarProdsImpl (const MultiVectorBase< Scalar > &X, const MultiVectorBase< Scalar > &Y, const ArrayView< Scalar > &scalarProds) const |
| Returns the sum of the scalar products of each of the columns of the constituent multi-vectors. | |
| bool | hasInCoreView (const Range1D &rng, const EViewType viewType, const EStrideType strideType) const |
| Returns true if all of the constituent vector spaces return true. | |
| RCP< const VectorSpaceFactoryBase< Scalar > > | smallVecSpcFcty () const |
Returns getBlock(0)->smallVecSpcFcty(). | |
| RCP< MultiVectorBase< Scalar > > | createMembers (int numMembers) const |
Returns a DefaultColumnwiseMultiVector object. | |
| RCP< const VectorSpaceBase < Scalar > > | clone () const |
| Clones the object as promised. | |
Overridden from Teuchos::Describable | |
| std::string | description () const |
Prints just the name DefaultMultiVectorProductVectorSpace along with the overall dimension and the number of blocks. | |
| void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const |
| Prints the details about the constituent vector space. | |
Standard concrete implementation of a product vector space that creates product vectors fromed implicitly from the columns of a multi-vector.
The default copy constructor is allowed since it has just the right behavior (i.e. shallow copy).
ToDo: Finish Documentation!
Definition at line 52 of file Thyra_DefaultMultiVectorProductVectorSpace_decl.hpp.
| Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::DefaultMultiVectorProductVectorSpace | ( | ) |
Construct to an uninitialized state.
Definition at line 44 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.
| void Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::initialize | ( | const RCP< const VectorSpaceBase< Scalar > > & | space, |
| const int | numColumns | ||
| ) |
Initialize with a list of constituent vector spaces.
| space | [in,persisting] The vector space used to create the multi-vectors. |
| numColunns | [in] The number of columns to create in the multi-vector represented as a product vector. |
Preconditions:
!is_null(space) numColumns > 0 Postconditions:
this->dim() == space->dim() * numColumns this->numBlocks() == numColumns getBlock(i).get() == space.get(), i=0,...,numColumns-1 | RCP< const DefaultProductVectorSpace< Scalar > > Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::getDefaultProductVectorSpace | ( | ) | const [inline] |
Definition at line 245 of file Thyra_DefaultMultiVectorProductVectorSpace_decl.hpp.
| void Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::uninitialize | ( | RCP< const VectorSpaceBase< Scalar > > * | space = 0, |
| int * | numColumns = 0 |
||
| ) |
Uninitialize.
| numBlocks | [out] If numBlocks!=NULL then on output *numBlocks will be set to this->numBlocks(). |
| vecSpaces | [out] If vecSpaces!=NULL then vecSpaces must point to an array of length this->numBlocks and on output vecSpace[i] will be set to this->vecSpaces()[i] for i=0,..,this->numBlocks()-1. |
Postconditions:
this->numBlocks()==0 vecSpaces()==NULL Warning! If this->hasBeenCloned()==true then the client had better not mess with the constituent vector spaces returned in vecSpaces[] since another DefaultMultiVectorProductVectorSpace object is still using them.
| int Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::numBlocks | ( | ) | const [virtual] |
Implements Thyra::ProductVectorSpaceBase< Scalar >.
Definition at line 79 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.
| Teuchos::RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::getBlock | ( | const int | k | ) | const [virtual] |
Implements Thyra::ProductVectorSpaceBase< Scalar >.
Definition at line 87 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.
| Ordinal Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::dim | ( | ) | const [virtual] |
Implements Thyra::VectorSpaceBase< Scalar >.
Definition at line 98 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.
| bool Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::isCompatible | ( | const VectorSpaceBase< Scalar > & | vecSpc | ) | const [virtual] |
Implements Thyra::VectorSpaceBase< Scalar >.
Definition at line 107 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.
References Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::numColumns_, and Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::space_.
| Teuchos::RCP< VectorBase< Scalar > > Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::createMember | ( | ) | const [virtual] |
Returns a DefaultMultiVectorProductVector object.
Implements Thyra::VectorSpaceBase< Scalar >.
Definition at line 126 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.
| Scalar Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::scalarProd | ( | const VectorBase< Scalar > & | x, |
| const VectorBase< Scalar > & | y | ||
| ) | const [virtual] |
Returns the sum of the scalar products of the constituent vectors.
Implements Thyra::VectorSpaceBase< Scalar >.
Definition at line 135 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.
| void Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::scalarProdsImpl | ( | const MultiVectorBase< Scalar > & | X, |
| const MultiVectorBase< Scalar > & | Y, | ||
| const ArrayView< Scalar > & | scalarProds | ||
| ) | const [virtual] |
Returns the sum of the scalar products of each of the columns of the constituent multi-vectors.
Implements Thyra::VectorSpaceBase< Scalar >.
Definition at line 146 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.
| bool Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::hasInCoreView | ( | const Range1D & | rng, |
| const EViewType | viewType, | ||
| const EStrideType | strideType | ||
| ) | const [virtual] |
Returns true if all of the constituent vector spaces return true.
Reimplemented from Thyra::VectorSpaceBase< Scalar >.
Definition at line 158 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.
| Teuchos::RCP< const VectorSpaceFactoryBase< Scalar > > Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::smallVecSpcFcty | ( | ) | const [virtual] |
Returns getBlock(0)->smallVecSpcFcty().
Implements Thyra::VectorSpaceBase< Scalar >.
Definition at line 167 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.
| Teuchos::RCP< MultiVectorBase< Scalar > > Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::createMembers | ( | int | numMembers | ) | const [virtual] |
Returns a DefaultColumnwiseMultiVector object.
ToDo: It is possible an general and well optimized multi-vector implementation called something like MultiVectorProducMultiVector. This would require that you create an underlying multi-vector with numBlocks*numMembers total columns. However, this class is not needed at this time so it is not provided.
Reimplemented from Thyra::VectorSpaceDefaultBase< Scalar >.
Definition at line 176 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.
References Thyra::VectorSpaceDefaultBase< Scalar >::createMembers().
| Teuchos::RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::clone | ( | ) | const [virtual] |
Clones the object as promised.
Reimplemented from Thyra::VectorSpaceBase< Scalar >.
Definition at line 186 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.
| std::string Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::description | ( | ) | const |
Prints just the name DefaultMultiVectorProductVectorSpace along with the overall dimension and the number of blocks.
Definition at line 204 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.
| void Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::describe | ( | Teuchos::FancyOStream & | out, |
| const Teuchos::EVerbosityLevel | verbLevel | ||
| ) | const |
Prints the details about the constituent vector space.
This function outputs different levels of detail based on the value passed in for verbLevel:
ToDo: Finish documentation!
Definition at line 217 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.
| void Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::assertInitialized | ( | ) | const [inline, private] |
Definition at line 253 of file Thyra_DefaultMultiVectorProductVectorSpace_decl.hpp.
| RCP< DefaultMultiVectorProductVectorSpace< Scalar > > multiVectorProductVectorSpace | ( | ) | [related] |
Nonmember constructor function.
Definition at line 213 of file Thyra_DefaultMultiVectorProductVectorSpace_decl.hpp.
| RCP< DefaultMultiVectorProductVectorSpace< Scalar > > multiVectorProductVectorSpace | ( | const RCP< const VectorSpaceBase< Scalar > > & | space, |
| const int | numColumns | ||
| ) | [related] |
Nonmember constructor function.
Definition at line 226 of file Thyra_DefaultMultiVectorProductVectorSpace_decl.hpp.
RCP<const VectorSpaceBase<Scalar> > Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::space_ [private] |
Definition at line 194 of file Thyra_DefaultMultiVectorProductVectorSpace_decl.hpp.
Referenced by Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::isCompatible().
int Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::numColumns_ [private] |
Definition at line 195 of file Thyra_DefaultMultiVectorProductVectorSpace_decl.hpp.
Referenced by Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::isCompatible().
RCP<const DefaultProductVectorSpace<Scalar> > Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::defaultProdVecSpc_ [private] |
Definition at line 196 of file Thyra_DefaultMultiVectorProductVectorSpace_decl.hpp.
1.7.4