44 #include "AbstractLinAlgPack_VectorSpaceSerial.hpp"
45 #include "AbstractLinAlgPack_VectorSpaceFactorySerial.hpp"
46 #include "AbstractLinAlgPack_VectorMutableDense.hpp"
47 #include "AbstractLinAlgPack_MultiVectorMutableDense.hpp"
48 #include "AbstractLinAlgPack_VectorMutable.hpp"
49 #include "AbstractLinAlgPack_GenPermMatrixSlice.hpp"
50 #include "DenseLinAlgPack_DVectorClass.hpp"
51 #include "Teuchos_Assert.hpp"
54 #define CLASS_MEMBER_PTRS \
55 const VectorSpaceSerial *_this = this; \
56 const size_type *_dim = &dim_;
58 #define CLASS_MEMBER_PTRS
61 namespace AbstractLinAlgPack {
105 namespace mmp = MemMngPack;
113 namespace mmp = MemMngPack;
121 namespace mmp = MemMngPack;
129 namespace mmp = MemMngPack;
130 const size_type this_dim = this->
dim();
131 const Range1D rng = RangePack::full_range( rng_in, 1, this_dim );
134 rng.
ubound() > this_dim, std::out_of_range
135 ,
"VectorSpaceSerial::sub_view(...) : Error, "
137 "is not in the range [1,this->dim()] = [1," << this_dim );
139 if( rng ==
Range1D(1,this_dim) )
DVector "Adaptor" subclass for DenseLinAlgPack::DVectorSlice or DenseLinAlgPack::DVector objects...
MultiVectorMutable "Adapter" subclass for DenseLinAlgPack::DMatrixSlice or DenseLinAlgPack::DMatrix o...
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
space_ptr_t sub_space(const Range1D &rng) const
size_type rows(size_type rows, size_type cols, BLAS_Cpp::Transp _trans)
bool is_in_core() const
Returns true.
VectorSpaceSerial(size_type dim=0)
Calls this->initialize().
vec_mut_ptr_t create_member() const
Returns a VectorMutableDense object.
virtual bool is_in_core() const
Returns true if the vectors are in core.
space_fcty_ptr_t small_vec_spc_fcty() const
Returns a VectorSpaceFactorySerial object.
bool is_compatible(const VectorSpace &vec_space) const
Returns true if vec_space.dim() == this->dim().
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Abstract interface for objects that represent a space for mutable coordinate vectors.
index_type dim() const
Returns 0 if uninitialized.
multi_vec_mut_ptr_t create_members(size_type num_vecs) const
Returns a MultiVectorMutableDense object.
Abstract interface for objects that can create vector spaces of a specified dimension.
virtual index_type dim() const =0
Return the dimmension of the vector space.
void initialize(size_type dim)
Initialize given the dimension of the vector space.
space_ptr_t clone() const
space_ptr_t space(const GenPermMatrixSlice &P, BLAS_Cpp::Transp P_trans) const
Concrete matrix type to represent general permutation (mapping) matrices.