AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects
Version of the Day
|
Concrete subclass for a default sub-space of a vector. More...
#include <AbstractLinAlgPack_VectorSpaceSubSpace.hpp>
Public Member Functions | |
VectorSpaceSubSpace () | |
Constructs to uninitialized. More... | |
VectorSpaceSubSpace (const space_ptr_t &full_space, const Range1D &rng) | |
Calls this->initialize() . More... | |
void | initialize (const space_ptr_t &full_space, const Range1D &rng) |
Initialize. More... | |
void | set_uninitialized () |
Set uninitilized. More... | |
const space_ptr_t & | full_space () const |
const Range1D & | rng () const |
void | validate_range (const Range1D &rng) const |
Validate rng. More... | |
Public Member Functions inherited from AbstractLinAlgPack::VectorSpace | |
space_ptr_t | sub_space (const index_type il, const index_type iu) const |
Inlined to call this->sub_space(Range1D(il,iu)) . More... | |
virtual space_ptr_t | space (const GenPermMatrixSlice &P, BLAS_Cpp::Transp P_trans) const |
Create a vector space for vector to gather the elements into. More... | |
VectorSpace (const inner_prod_ptr_t &inner_prod=Teuchos::null) | |
Calls inner_prod() More... | |
virtual void | inner_prod (const inner_prod_ptr_t &inner_prod) |
Initialize with an inner product object. More... | |
virtual const inner_prod_ptr_t | inner_prod () const |
Return the smart pointer to the inner product strategy object. More... | |
virtual space_fcty_ptr_t | small_vec_spc_fcty () const |
Return a VectorSpaceFactory object for the creation of vector spaces with a small dimension. More... | |
virtual vec_mut_ptr_t | create_member (const value_type &alpha) const |
Create a vector member from the vector space initialized to a scalar. More... | |
virtual multi_vec_mut_ptr_t | create_members (size_type num_vecs) const |
Create a set of vector members (a MultiVectorMutable ) from the vector space. More... | |
obj_ptr_t | create () const |
Just calls this->create_member() by default! More... | |
Overridden from VectorSpace | |
bool | is_compatible (const VectorSpace &) const |
bool | is_in_core () const |
index_type | dim () const |
vec_mut_ptr_t | create_member () const |
space_ptr_t | clone () const |
space_ptr_t | sub_space (const Range1D &rng) const |
Additional Inherited Members | |
Public Types inherited from AbstractLinAlgPack::VectorSpace | |
typedef Teuchos::RCP< const InnerProduct > | inner_prod_ptr_t |
typedef Teuchos::RCP< const VectorSpace > | space_ptr_t |
typedef Teuchos::RCP< const VectorSpaceFactory > | space_fcty_ptr_t |
typedef Teuchos::RCP < VectorMutable > | vec_mut_ptr_t |
typedef Teuchos::RCP < MultiVectorMutable > | multi_vec_mut_ptr_t |
Concrete subclass for a default sub-space of a vector.
There is not much to this subclass. It basically implements all of its methods based on the external VectorSpace interface to implement is_compatible() and sub_space() and and relys on a default subclass VectorMutableSubView to implement create_member().
The default constructor, copy constructor and assignment operator functions are allowed and have the correct behavior.
Definition at line 60 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.
|
inline |
Constructs to uninitialized.
Postconditions: see set_uninitialized()
.
Definition at line 139 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.
AbstractLinAlgPack::VectorSpaceSubSpace::VectorSpaceSubSpace | ( | const space_ptr_t & | full_space, |
const Range1D & | rng | ||
) |
Calls this->initialize()
.
Definition at line 50 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.
void AbstractLinAlgPack::VectorSpaceSubSpace::initialize | ( | const space_ptr_t & | full_space, |
const Range1D & | rng | ||
) |
Initialize.
Constructs a sub-space of the vector space this = space.sub_space(rng).
Preconditions:
full_space.get() != NULL
(throw std::invalid_argument
). rng.lbound() <= full_space->dim()
(throw std::out_of_range
). Postconditions:
this->dim() == full_space->dim()
this->dim() == rng.size()
full_space | [in] The original full vector space (must be full_space.get() != NULL ). |
rng | [in] The range of element that this vector sub-space will represent. |
Definition at line 55 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.
void AbstractLinAlgPack::VectorSpaceSubSpace::set_uninitialized | ( | ) |
Set uninitilized.
Postconditions:
this->dim() == 0
this->create_member().get() == NULL
Definition at line 74 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.
|
inline |
Definition at line 144 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.
|
inline |
Definition at line 150 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.
Validate rng.
Definition at line 157 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.
|
virtual |
Implements AbstractLinAlgPack::VectorSpace.
Definition at line 97 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.
|
virtual |
Reimplemented from AbstractLinAlgPack::VectorSpace.
Definition at line 111 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.
|
virtual |
Implements AbstractLinAlgPack::VectorSpace.
Definition at line 116 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.
|
virtual |
Implements AbstractLinAlgPack::VectorSpace.
Definition at line 121 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.
|
virtual |
Implements AbstractLinAlgPack::VectorSpace.
Definition at line 132 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.
|
virtual |
Reimplemented from AbstractLinAlgPack::VectorSpace.
Definition at line 140 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.