42 #ifndef ALAP_MULTI_VECTOR_H
43 #define ALAP_MULTI_VECTOR_H
46 #include "RTOpPack_RTOpT.hpp"
49 namespace AbstractLinAlgPack {
65 ,
const size_t num_multi_vecs
66 ,
const MultiVector* multi_vecs[]
67 ,
const size_t num_targ_multi_vecs
68 ,MultiVectorMutable* targ_multi_vecs[]
69 ,RTOpPack::ReductTarget* reduct_objs[] = NULL
86 ,
const size_t num_multi_vecs
87 ,
const MultiVector* multi_vecs[]
88 ,
const size_t num_targ_multi_vecs
89 ,MultiVectorMutable* targ_multi_vecs[]
90 ,RTOpPack::ReductTarget *reduct_obj
198 ,
const size_t num_multi_vecs
200 ,
const size_t num_targ_multi_vecs
202 ,RTOpPack::ReductTarget* reduct_objs[]
214 ,
const size_t num_multi_vecs
216 ,
const size_t num_targ_multi_vecs
218 ,RTOpPack::ReductTarget *reduct_obj
317 ,
const size_t num_multi_vecs,
const MultiVector* multi_vecs[]
319 ,RTOpPack::ReductTarget* reduct_objs[]
339 ,
const size_t num_multi_vecs,
const MultiVector* multi_vecs[]
341 ,RTOpPack::ReductTarget* reduct_obj
355 mat_ptr_t
clone()
const;
405 #ifdef DOXYGEN_COMPILE
428 #endif // ALAP_MULTI_VECTOR_H
mat_ptr_t clone() const
Returns this->mv_clone().
Abstract interface for immutable, finite dimensional, coordinate vectors {abstract}.
RTOp_index_type index_type
virtual access_by_t access_by() const =0
Return a bit field for the types of access that are the most convenient.
RTOp_value_type value_type
mat_ptr_t sub_view(const Range1D &row_rng, const Range1D &col_rng) const
Returns this->mv_sub_view(row_rng,col_rng) casted to a MatrixOp.
virtual mat_mut_ptr_t clone()
Clone the non-const matrix object (if supported).
Teuchos::RCP< const Vector > vec_ptr_t
bool Mp_StMtM(MatrixOp *mwo_lhs, value_type alpha, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2, value_type beta) const
Provides a specialized implementation for mwo_rhs1 of type MatrixSymDiag.
. One-based subregion index range class.
RTOpT< RTOp_value_type > RTOp
Teuchos::RCP< const MultiVector > multi_vec_ptr_t
friend void Mp_StMtM(MatrixOp *mwo_lhs, value_type alpha, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &mwo_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta)
virtual vec_ptr_t diag(int k) const =0
Get a non-mutable diagonal vector.
Base class for all matrices that support basic matrix operations.
Interface for a collection of non-mutable vectors (multi-vector, matrix).
virtual multi_vec_ptr_t mv_sub_view(const Range1D &row_rng, const Range1D &col_rng) const
Returns a sub-view of the multi vector.
Interface for a collection of mutable vectors (multi-vector, matrix).
void apply_op(EApplyBy apply_by, const RTOpPack::RTOp &primary_op, const size_t num_multi_vecs, const MultiVector *multi_vecs[], const size_t num_targ_multi_vecs, MultiVectorMutable *targ_multi_vecs[], RTOpPack::ReductTarget *reduct_objs[]=NULL, const index_type primary_first_ele=1, const index_type primary_sub_dim=0, const index_type primary_global_offset=0, const index_type secondary_first_ele=1, const index_type secondary_sub_dim=0)
Apply a reduction/transformation operator column by column and return an array of the reduction objec...
friend void apply_op(EApplyBy apply_by, const RTOpPack::RTOp &primary_op, const size_t num_multi_vecs, const MultiVector *multi_vecs[], const size_t num_targ_multi_vecs, MultiVectorMutable *targ_multi_vecs[], RTOpPack::ReductTarget *reduct_objs[], const index_type primary_first_ele, const index_type primary_sub_dim, const index_type primary_global_offset, const index_type secondary_first_ele, const index_type secondary_sub_dim)
virtual multi_vec_ptr_t mv_clone() const
Clone the non-const multi-vector object.
virtual vec_ptr_t col(index_type j) const =0
Get a non-mutable column vector.
virtual vec_ptr_t row(index_type i) const =0
Get a non-mutable row vector.
RangePack::Range1D Range1D