* };
* @endcode
* where these two member functions perform one step (or the transpose of such
- * a step) of the smoothing scheme. In other words, the operation performed by
- * these functions is
- * $dst = dst - P^{-1} (A dst - rhs)$ and $dst = dst - P^{-T} (A dst - rhs)$.
+ * a step) of the smoothing scheme. In other words, the operations performed by
+ * these functions are
+ * $u = u - P^{-1} (A u - v)$ and $u = u - P^{-T} (A u - v)$.
* </dd>
*
* <dt class="concepts">@anchor ConceptSparsityPatternType <b>SparsityPatternType</b></dt>
/**
* Jacobi preconditioner using matrix built-in function. The <tt>MatrixType</tt>
* class used is required to have a function <tt>precondition_Jacobi(VectorType&,
- * const VectorType&, double</tt>)
+ * const VectorType&, double</tt>). This class satisfies the
+ * @ref ConceptRelaxationType "relaxation concept".
*
* @code
* // Declare related objects
*
* The MatrixType class used is required to have functions
* <tt>precondition_SOR(VectorType&, const VectorType&, double)</tt> and
- * <tt>precondition_TSOR(VectorType&, const VectorType&, double)</tt>.
+ * <tt>precondition_TSOR(VectorType&, const VectorType&, double)</tt>. This
+ * class satisfies the @ref ConceptRelaxationType "relaxation concept".
*
* @code
* // Declare related objects
/**
* SSOR preconditioner using matrix built-in function. The <tt>MatrixType</tt>
* class used is required to have a function <tt>precondition_SSOR(VectorType&,
- * const VectorType&, double)</tt>
+ * const VectorType&, double)</tt>. This class satisfies the
+ * @ref ConceptRelaxationType "relaxation concept".
*
* @code
* // Declare related objects
/**
* Block Jacobi preconditioning. See PreconditionBlock for requirements on the
- * matrix.
+ * matrix. This class satisfies the
+ * @ref ConceptRelaxationType "relaxation concept".
*
* @note Instantiations for this template are provided for <tt>@<float@> and
* @<double@></tt>; others can be generated in application programs (see the
- * section on
- * @ref Instantiations
- * in the manual).
+ * section on @ref Instantiations in the manual).
*
* @author Ralf Hartmann, Guido Kanschat, 1999, 2000, 2003
*/
/**
- * Block SOR preconditioning.
+ * Block SOR preconditioning. This class satisfies the
+ * @ref ConceptRelaxationType "relaxation concept".
*
* The functions @p vmult and @p Tvmult execute a (transposed) block-SOR step,
* based on the blocks in PreconditionBlock. The elements outside the diagonal
/**
- * Block SSOR preconditioning.
+ * Block SSOR preconditioning. This class satisfies the
+ * @ref ConceptRelaxationType "relaxation concept".
*
* The functions @p vmult and @p Tvmult execute a block-SSOR step, based on
* the implementation in PreconditionBlockSOR. This class requires storage of
/**
* Block Jacobi (additive Schwarz) method with possibly overlapping blocks.
*
- * This class implements the step() and Tstep() functions expected by
- * SolverRelaxation and MGSmootherRelaxation. They perform an additive Schwarz
- * method on the blocks provided in the block list of AdditionalData.
+ * This class implements the step() and Tstep() functions expected by the
+ * @ref ConceptRelaxationType "relaxation concept". They perform an additive
+ * Schwarz method on the blocks provided in the block list of AdditionalData.
* Differing from PreconditionBlockJacobi, these blocks may be of varying
* size, non- contiguous, and overlapping. On the other hand, this class does
* not implement the preconditioner interface expected by Solver objects.
/**
* Block Gauss-Seidel method with possibly overlapping blocks.
*
- * This class implements the step() and Tstep() functions expected by
- * SolverRelaxation and MGSmootherRelaxation. They perform a multiplicative
- * Schwarz method on the blocks provided in the block list of AdditionalData.
- * Differing from PreconditionBlockSOR, these blocks may be of varying size,
- * non-contiguous, and overlapping. On the other hand, this class does not
- * implement the preconditioner interface expected by Solver objects.
+ * This class implements the step() and Tstep() functions expected by the
+ * @ref ConceptRelaxationType "relaxation concept". They perform a
+ * multiplicative Schwarz method on the blocks provided in the block list of
+ * AdditionalData. Differing from PreconditionBlockSOR, these blocks may be
+ * of varying size, non-contiguous, and overlapping. On the other hand, this
+ * class does not implement the preconditioner interface expected by Solver
+ * objects.
*
* @ingroup Preconditioners
* @author Guido Kanschat
/**
* Symmetric block Gauss-Seidel method with possibly overlapping blocks.
*
- * This class implements the step() and Tstep() functions expected by
- * SolverRelaxation and MGSmootherRelaxation. They perform a multiplicative
- * Schwarz method on the blocks provided in the block list of AdditionalData
- * in symmetric fashion. Differing from PreconditionBlockSSOR, these blocks
- * may be of varying size, non-contiguous, and overlapping. On the other hand,
- * this class does not implement the preconditioner interface expected by
- * Solver objects.
+ * This class implements the step() and Tstep() functions expected by the
+ * @ref ConceptRelaxationType "relaxation concept". They perform a
+ * multiplicative Schwarz method on the blocks provided in the block list of
+ * AdditionalData in symmetric fashion. Differing from PreconditionBlockSSOR,
+ * these blocks may be of varying size, non-contiguous, and overlapping. On
+ * the other hand, this class does not implement the preconditioner interface
+ * expected by Solver objects.
*
* @ingroup Preconditioners
* @author Guido Kanschat
* Smoother using relaxation classes.
*
* A relaxation class is an object that satisfies the
- * @ref ConceptRelaxationType "RelaxationType concept".
+ * @ref ConceptRelaxationType "relaxation concept".
*
* This class performs smoothing on each level. The operation can be
* controlled by several parameters. First, the relaxation parameter @p
}
/**
- * Smoother using relaxation classes.
- *
- * A relaxation class is an object that has two member functions,
- * @code
- * void step(VectorType& x, const VectorType& d) const;
- * void Tstep(VectorType& x, const VectorType& d) const;
- * @endcode
- * performing one step of the smoothing scheme.
+ * Smoother using a solver that satisfies the
+ * @ref ConceptRelaxationType "relaxation concept".
*
* This class performs smoothing on each level. The operation can be
* controlled by several parameters. First, the relaxation parameter @p omega