with SysMatrix<T>-matrices
. The iteration has the form
. Here
is the guess for the solution in the
-th iteration, and
is the preconditioner.
More...
#include <LinIter.hpp>
Inheritance diagram for LinIter< T >:


Public Member Functions | |
| LinIter (unsigned the_disp_type, double the_reduction, unsigned the_max_iter, double the_abs_prec, SysPrecond< T > *the_precond=NULL, T the_damp=1) | |
| Constructor for 'hard-coded' values. | |
| LinIter (SGParam *list, SysPrecond< T > *the_precond=NULL) | |
| Constructor for reading values from SG parameters. | |
| void | PreProcess (SysMatrix< T > &the_A) |
| save the matrix, the corresponding routines of the preconditioner | |
| void | PostProcess () |
| Save the matrix, the corresponding routines of the preconditioner. | |
| bool | Run (GridVec< T > &f, GridVec< T > &x) |
| The solver routine. | |
| void | PrintParam () |
| Prints the name of the solver and (optionally) the parameters. | |
with SysMatrix<T>-matrices
. The iteration has the form
. Here
is the guess for the solution in the
-th iteration, and
is the preconditioner.
The templates depend on a type T. This type should satisfy the conditions listed in small_matrix.hpp for small matrices.
| LinIter< T >::LinIter | ( | unsigned | the_disp_type, | |
| double | the_reduction, | |||
| unsigned | the_max_iter, | |||
| double | the_abs_prec, | |||
| SysPrecond< T > * | the_precond = NULL, |
|||
| T | the_damp = 1 | |||
| ) | [inline] |
Constructor for 'hard-coded' values.
| [in] | the_disp_type | The display type |
| [in] | the_reduction | The desired reduction (0 to do 'max_iter' iter.) |
| [in] | the_max_iter | The maximum number of iterations |
| [in] | the_abs_prec | The minimum norm of the residual |
| [in] | the_precond | The preconditioner (NULL for none) |
| [in] | the_damp | The damping factor |
| LinIter< T >::LinIter | ( | SGParam * | list, | |
| SysPrecond< T > * | the_precond = NULL | |||
| ) | [inline] |
Constructor for reading values from SG parameters.
Additionally to the parameters from the base classes, there is a parameter 'LinDamp' for the damping factor.
| [in] | list | The list of parameters to read |
| [in] | the_precond | The preconditioner (NULL for none) |
| void LinIter< T >::PostProcess | ( | ) | [inline, virtual] |
| bool LinIter< T >::Run | ( | GridVec< T > & | f, | |
| GridVec< T > & | x | |||
| ) | [inline, virtual] |
The solver routine.
| [in] | f | The right-hand side |
| [in] | x | The solution (and the initial guess) |
Implements LinSolver< T >.
| void LinIter< T >::PrintParam | ( | ) | [inline, virtual] |
1.5.2