28 mfem_error(
"SparseSmoother::SetOperator : not a SparseMatrix!");
void DiagScale(const Vector &b, Vector &x, double sc=1.0) const
void SetSize(int s)
Resize the vector to size s.
int Width() const
Get the width (size of input) of the Operator. Synonym with NumCols().
virtual void SetOperator(const Operator &a)
Set/update the solver for the given operator.
bool iterative_mode
If true, use the second argument of Mult() as an initial guess.
int Height() const
Get the height (size of output) of the Operator. Synonym with NumRows().
void Jacobi(const Vector &b, const Vector &x0, Vector &x1, double sc) const
virtual void Mult(const Vector &x, Vector &y) const
Matrix vector multiplication with Jacobi smoother.
void mfem_error(const char *msg)
virtual void Mult(const Vector &x, Vector &y) const
Matrix vector multiplication with GS Smoother.
void Gauss_Seidel_back(const Vector &x, Vector &y) const
void Gauss_Seidel_forw(const Vector &x, Vector &y) const
Gauss-Seidel forward and backward iterations over a vector x.
int height
Dimension of the output / number of rows in the matrix.
DSmoother(int t=0, double s=1., int it=1)
Create Jacobi smoother.
void Jacobi2(const Vector &b, const Vector &x0, Vector &x1, double sc=1.0) const
void Jacobi3(const Vector &b, const Vector &x0, Vector &x1, double sc=1.0) const
const SparseMatrix * oper
int width
Dimension of the input / number of columns in the matrix.