16#ifndef dealii_diagonal_matrix_h
17#define dealii_diagonal_matrix_h
47template <
typename VectorType = Vector<
double>>
151 template <
typename number2>
157 const bool elide_zero_values =
true,
158 const bool col_indices_are_sorted =
false);
173 vmult(VectorType &dst,
const VectorType &src)
const;
181 Tvmult(VectorType &dst,
const VectorType &src)
const;
189 vmult_add(VectorType &dst,
const VectorType &src)
const;
226template <
typename VectorType>
233template <
typename VectorType>
242template <
typename VectorType>
246 return diagonal.memory_consumption();
251template <
typename VectorType>
260template <
typename VectorType>
269template <
typename VectorType>
278template <
typename VectorType>
287template <
typename VectorType>
296template <
typename VectorType>
305template <
typename VectorType>
314template <
typename VectorType>
315typename VectorType::value_type
326template <
typename VectorType>
327typename VectorType::value_type &
337template <
typename VectorType>
338template <
typename number2>
348 if (col_indices[i] == row)
354template <
typename VectorType>
358 const value_type value)
366template <
typename VectorType>
376template <
typename VectorType>
385template <
typename VectorType>
388 const VectorType &src)
const
397template <
typename VectorType>
400 const VectorType &src)
const
void initialize_dof_vector(VectorType &dst) const
void Tvmult_add(VectorType &dst, const VectorType &src) const
value_type & operator()(const size_type i, const size_type j)
VectorType & get_vector()
std::size_t memory_consumption() const
void add(const size_type i, const size_type j, const value_type value)
DiagonalMatrix(const VectorType &vec)
value_type operator()(const size_type i, const size_type j) const
typename VectorType::size_type size_type
void compress(VectorOperation::values operation)
const VectorType & get_vector() const
void vmult(VectorType &dst, const VectorType &src) const
void reinit(const VectorType &vec)
void add(const size_type row, const size_type n_cols, const size_type *col_indices, const number2 *values, const bool elide_zero_values=true, const bool col_indices_are_sorted=false)
typename VectorType::value_type value_type
void vmult_add(VectorType &dst, const VectorType &src) const
void Tvmult(VectorType &dst, const VectorType &src) const
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcIndexRange(int arg1, int arg2, int arg3)
#define Assert(cond, exc)
@ diagonal
Matrix is diagonal.
types::global_dof_index size_type