46 #include "AbstractLinAlgPack_MatrixSymIdent.hpp"
47 #include "AbstractLinAlgPack_VectorStdOps.hpp"
48 #include "AbstractLinAlgPack_LinAlgOpPack.hpp"
50 namespace AbstractLinAlgPack {
56 ,
const value_type scale
64 ,
const value_type scale
67 vec_space_ = vec_space;
75 return vec_space_.
get() ? vec_space_->dim() : 0;
80 return vec_space_.
get() ? vec_space_->dim() : 0;
91 out <<
"Identity matrix of dimension " <<
rows() <<
" x " <<
rows() << std::endl;
97 ,
const Vector& x, value_type b
MatrixSymIdent(const VectorSpace::space_ptr_t &vec_space=Teuchos::null, const value_type scale=1.0)
Calls this->initialize().
Abstract interface for immutable, finite dimensional, coordinate vectors {abstract}.
void Vt_S(VectorMutable *v_lhs, const value_type &alpha)
v_lhs *= alpha
size_type rows() const
Returns 0 if not initalized.
void initialize(const VectorSpace::space_ptr_t &vec_space, const value_type scale=1.0)
void Vp_StV(VectorMutable *v_lhs, const value_type &alpha, const Vector &v_rhs)
v_lhs = alpha * v_rhs + v_lhs
void V_StV(VectorMutable *v_lhs, value_type alpha, const V &V_rhs)
v_lhs = alpha * V_rhs.
void Vp_StMtV(VectorMutable *v_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2, value_type beta) const
Abstract interface for objects that represent a space for mutable coordinate vectors.
size_type nz() const
Returns this->rows()
std::ostream & output(std::ostream &out) const
void V_InvMtV(VectorMutable *v_lhs, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2) const
Abstract interface for mutable coordinate vectors {abstract}.
void Vp_MtV_assert_compatibility(VectorMutable *v_lhs, const MatrixOp &m_rhs1, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2)
v_lhs += op(m_rhs1) * v_rhs2
const VectorSpace & space_cols() const