12#ifndef MFEM_SPARSEMATSMOOTHERS
13#define MFEM_SPARSEMATSMOOTHERS
Data type for scaled Jacobi-type smoother of sparse matrix.
DSmoother(int t=0, real_t s=1., int it=1)
Create Jacobi smoother.
bool use_abs_diag
Uses abs values of the diagonal entries. Relevant only when type = 0.
void SetPositiveDiagonal(bool pos_diag=true)
Replace diag entries with their abs values. Relevant only when type = 0.
virtual void Mult(const Vector &x, Vector &y) const
Matrix vector multiplication with Jacobi smoother.
Data type for Gauss-Seidel smoother of sparse matrix.
GSSmoother(const SparseMatrix &a, int t=0, int it=1)
Create GSSmoother.
GSSmoother(int t=0, int it=1)
Create GSSmoother.
virtual void Mult(const Vector &x, Vector &y) const
Matrix vector multiplication with GS Smoother.
Abstract data type for matrix inverse.
virtual void SetOperator(const Operator &a)
Set/update the solver for the given operator.
SparseSmoother(const SparseMatrix &a)
const SparseMatrix * oper