42 #ifndef MATRIX_SYM_DIAGONAL_STD_H
43 #define MATRIX_SYM_DIAGONAL_STD_H
49 namespace AbstractLinAlgPack {
172 ,
const Vector& v_rhs2)
const;
217 #endif // MATRIX_SYM_DIAGONAL_STD_H
VectorSpace::vec_mut_ptr_t diag_
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)
RTOp_value_type value_type
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.
PostMod(VectorSpace::space_ptr_t vectorSpace)
RTOp_index_type size_type
Abstract interface for objects that represent a space for mutable coordinate vectors.
VectorSpace::space_ptr_t vectorSpace_
void initialize(MatrixSymDiagStd *matrix) const
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