Thyra::DefaultMultiVectorProductVectorSpace< Scalar > Class Template Reference
[Development of linear Abstract Numerical Algorithms (ANAs) (Client Support)]

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>

Inheritance diagram for Thyra::DefaultMultiVectorProductVectorSpace< Scalar >:

Inheritance graph
[legend]
List of all members.

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.

Related Functions

(Note that these are not member functions.)

RCP< DefaultMultiVectorProductVectorSpace<
Scalar > > 
multiVectorProductVectorSpace ()
 Nonmember constructor function.
RCP< DefaultMultiVectorProductVectorSpace<
Scalar > > 
multiVectorProductVectorSpace (const RCP< const VectorSpaceBase< Scalar > > &space, const int numColumns)
 Nonmember constructor function.

Detailed Description

template<class Scalar>
class Thyra::DefaultMultiVectorProductVectorSpace< Scalar >

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.


Constructor & Destructor Documentation

template<class Scalar>
Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::DefaultMultiVectorProductVectorSpace (  ) 

Construct to an uninitialized state.

Definition at line 44 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.


Member Function Documentation

template<class Scalar>
void Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::initialize ( const RCP< const VectorSpaceBase< Scalar > > &  space,
const int  numColumns 
)

Initialize with a list of constituent vector spaces.

Parameters:
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:

Postconditions:

Definition at line 50 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.

template<class Scalar>
RCP< const DefaultProductVectorSpace< Scalar > > Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::getDefaultProductVectorSpace (  )  const [inline]

Definition at line 245 of file Thyra_DefaultMultiVectorProductVectorSpace_decl.hpp.

template<class Scalar>
void Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::uninitialize ( RCP< const VectorSpaceBase< Scalar > > *  space = 0,
int *  numColumns = 0 
)

Uninitialize.

Parameters:
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:

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.

Definition at line 66 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.

template<class Scalar>
int Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::numBlocks (  )  const [virtual]

Implements Thyra::ProductVectorSpaceBase< Scalar >.

Definition at line 79 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.

template<class Scalar>
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.

template<class Scalar>
Ordinal Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::dim (  )  const [virtual]

Implements Thyra::VectorSpaceBase< Scalar >.

Definition at line 98 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.

template<class Scalar>
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.

template<class Scalar>
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.

template<class Scalar>
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.

template<class Scalar>
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.

template<class Scalar>
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.

template<class Scalar>
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.

template<class Scalar>
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.

template<class Scalar>
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.

template<class Scalar>
std::string Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::description (  )  const [virtual]

Prints just the name DefaultMultiVectorProductVectorSpace along with the overall dimension and the number of blocks.

Reimplemented from Teuchos::Describable.

Definition at line 204 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.

template<class Scalar>
void Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::describe ( Teuchos::FancyOStream out,
const Teuchos::EVerbosityLevel  verbLevel 
) const [virtual]

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!

Reimplemented from Teuchos::Describable.

Definition at line 217 of file Thyra_DefaultMultiVectorProductVectorSpace_def.hpp.


Friends And Related Function Documentation

template<class Scalar>
RCP< DefaultMultiVectorProductVectorSpace< Scalar > > multiVectorProductVectorSpace (  )  [related]

Nonmember constructor function.

Definition at line 213 of file Thyra_DefaultMultiVectorProductVectorSpace_decl.hpp.

template<class Scalar>
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.


The documentation for this class was generated from the following files:
Generated on Tue Jul 13 09:26:35 2010 for Thyra by  doxygen 1.4.7