42 #include "AbstractLinAlgPack_MultiVectorMutable.hpp"
43 #include "AbstractLinAlgPack_VectorMutable.hpp"
44 #include "AbstractLinAlgPack_VectorSpace.hpp"
48 #include "RTOpPack_RTOpC.hpp"
49 #include "Teuchos_Workspace.hpp"
50 #include "Teuchos_dyn_cast.hpp"
58 return(assign_scalar_op_);
66 class init_rtop_server_t {
68 init_rtop_server_t() {
80 init_rtop_server_t init_rtop_server;
84 namespace AbstractLinAlgPack {
95 AbstractLinAlgPack::apply_op(APPLY_BY_COL,assign_vec_op,1,multi_vecs,1,targ_multi_vecs,NULL);
107 return Teuchos::null;
116 AbstractLinAlgPack::apply_op(APPLY_BY_COL,assign_scalar_op(),0,NULL,1,targ_multi_vecs,NULL);
124 AbstractLinAlgPack::apply_op(APPLY_BY_COL,assign_scalar_op(),0,NULL,1,targ_multi_vecs,NULL);
126 else if( alpha != 1.0 ) {
129 AbstractLinAlgPack::apply_op(APPLY_BY_COL,scale_vector_op,0,NULL,1,targ_multi_vecs,NULL);
139 AbstractLinAlgPack::apply_op(APPLY_BY_COL,assign_vec_op,1,multi_vecs,1,targ_multi_vecs,NULL);
147 MatrixOp::mat_mut_ptr_t
MatrixOp & operator=(const MatrixOp &mwo_rhs)
Teuchos::RCP< MultiVectorMutable > multi_vec_mut_ptr_t
virtual multi_vec_mut_ptr_t mv_sub_view(const Range1D &row_rng, const Range1D &col_rng)
Returns a mutable sub-view of the multi vector.
virtual multi_vec_mut_ptr_t mv_clone()
Clone the non-const multi-vector object.
virtual size_type cols() const
Return the number of columns in the matrix.
bool Mp_StM(MatrixOp *mwo_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs) const
virtual vec_mut_ptr_t diag(int k)=0
Get a 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 vec_mut_ptr_t row(index_type i)=0
Get a mutable row vector.
Interface for a collection of mutable vectors (multi-vector, matrix).
virtual const VectorSpace & space_cols() const =0
Vector space for vectors that are compatible with the columns of the matrix.
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.
void Mt_S(value_type alpha)
virtual vec_mut_ptr_t col(index_type j)=0
Get a mutable column vector.
#define TEUCHOS_TEST_FOR_EXCEPT(throw_exception_test)