42 #ifndef MATRIX_SYM_DIAGONAL_STD_H
43 #define MATRIX_SYM_DIAGONAL_STD_H
45 #include "AbstractLinAlgPack_MatrixSymInitDiag.hpp"
46 #include "AbstractLinAlgPack_MatrixSymDiag.hpp"
47 #include "AbstractLinAlgPack_VectorSpace.hpp"
49 namespace AbstractLinAlgPack {
68 : vectorSpace_(vectorSpace) {}
71 { matrix->
initialize(vectorSpace_->create_member()); }
125 size_type
rows()
const;
127 size_type
nz()
const;
149 ,
const Vector& v_rhs2, value_type beta)
const;
172 ,
const Vector& v_rhs2)
const;
217 #endif // MATRIX_SYM_DIAGONAL_STD_H
Mix-in Interface for setting a matrix to a diagonal {abstract}.
Abstract interface for immutable, finite dimensional, coordinate vectors {abstract}.
void init_diagonal(const Vector &diag)
MatrixOp & operator=(const MatrixOp &mwo_rhs)
MatrixSymDiagStd(const VectorSpace::vec_mut_ptr_t &diag=Teuchos::null, bool unique=true)
Calls this->initialize().
PostMod class to use with MemMngPack::AbstractFactorStd.
void Vp_StMtV(VectorMutable *v_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2, value_type beta) const
bool Mp_StM(MatrixOp *g_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs) const
Add to a mutable matrix lhs.
Interface adding operations specific for a symmetric matrix {abstract}.
bool syrk(BLAS_Cpp::Transp M_trans, value_type alpha, value_type beta, MatrixSymOp *sym_lhs) const
Implements the symmetric rank-k update for all diagonal matrix lhs.
Abstract interface for objects that represent a space for mutable coordinate vectors.
Simple diagonal matrix class.
void initialize(const VectorSpace::vec_mut_ptr_t &diag, bool unique=true)
Initialize given the diagonal vector (or no vector at all).
Base class for all matrices that support basic matrix operations.
Interface to all diagonal matrices {abstract}.
const VectorSpace::vec_mut_ptr_t & diag_ptr() const
void V_InvMtV(VectorMutable *v_lhs, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2) const
void init_identity(const VectorSpace &space_diag, value_type alpha)
Abstract interface for mutable coordinate vectors {abstract}.
const VectorSpace & space_cols() const
size_type rows() const
Returns 0 if not initalized (this->diag() == NULL).
VectorMutable & diag()
Give non-const access to the diagonal vector.
const VectorSpace & space_rows() const