16 #ifndef dealii_diagonal_matrix_h
17 #define dealii_diagonal_matrix_h
47 template <
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;
226 template <
typename VectorType>
233 template <
typename VectorType>
242 template <
typename VectorType>
246 return diagonal.memory_consumption();
251 template <
typename VectorType>
260 template <
typename VectorType>
269 template <
typename VectorType>
278 template <
typename VectorType>
287 template <
typename VectorType>
296 template <
typename VectorType>
305 template <
typename VectorType>
314 template <
typename VectorType>
315 typename VectorType::value_type
326 template <
typename VectorType>
327 typename VectorType::value_type &
337 template <
typename VectorType>
338 template <
typename number2>
348 if (col_indices[i] == row)
354 template <
typename VectorType>
358 const value_type value)
366 template <
typename VectorType>
376 template <
typename VectorType>
385 template <
typename VectorType>
388 const VectorType &src)
const
397 template <
typename VectorType>
400 const VectorType &src)
const
void initialize_dof_vector(VectorType &dst) const
void Tvmult_add(VectorType &dst, const VectorType &src) const
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
value_type & operator()(const size_type i, const size_type j)
typename VectorType::size_type size_type
void compress(VectorOperation::values operation)
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
const VectorType & get_vector() 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