41 #ifndef SPARSE_LINALG_PACK_MATRIX_DIAGONAL_SPARSE_H
42 #define SPARSE_LINALG_PACK_MATRIX_DIAGONAL_SPARSE_H
48 namespace AbstractLinAlgPack {
89 std::ostream&
output(std::ostream&
out)
const;
159 #endif // SPARSE_LINALG_PACK_MATRIX_DIAGONAL_SPARSE_H
RTOp_index_type index_type
virtual const SpVectorSlice diag() const =0
Give access to the sparse diagonal.
RTOp_value_type value_type
Abstract base class for all serial symmetric diagonal matrices with significant zeros along the diago...
Base class for all matrices implemented in a shared memory address space.
Abstract base class for all AbstractLinAlgPack::MatrixSymOp objects implemented in shared memory spac...
RTOp_index_type size_type
Mix-in interface for extracing explicit elements from a sparse matrix in one of several Fortran compa...
void Vp_StMtV(DVectorSlice *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2, value_type beta) const
void coor_extract_nonzeros(EExtractRegion extract_region, EElementUniqueness element_uniqueness, const index_type len_Aval, value_type Aval[], const index_type len_Aij, index_type Arow[], index_type Acol[], const index_type row_offset, const index_type col_offset) const
MatrixSymDiagSparse()
The default value of num_updates_at_once == 0 is set to allow this class to determine the appropriate...
std::ostream & output(std::ostream &out) const
STANDARD_MEMBER_COMPOSITION_MEMBERS(size_type, num_updates_at_once)
<<std member="" comp>="">> members for how many updates to compute at once in the operation M_MtMtM(...
void Mp_StMtMtM(DMatrixSliceSym *sym_lhs, value_type alpha, EMatRhsPlaceHolder dummy_place_holder, const MatrixOpSerial &mwo_rhs, BLAS_Cpp::Transp mwo_rhs_trans, value_type beta) const
Computes the dense symmetric matrix B += a*op(A')*M*op(A).
index_type num_nonzeros(EExtractRegion extract_region, EElementUniqueness element_uniqueness) const