#include <IbexNewton.h>

Public Member Functions | |
| Newton (const System &sys, REAL ceil=default_ceil, REAL prec=default_prec, REAL ratio_gauss_seidel=default_ratio_gauss_seidel) | |
| Newton (const Newton &newt) | |
| virtual Newton * | copy () const |
| virtual void | accept_printer (const OperatorPrinter &p) const |
| bool | iterate () |
| virtual void | contract () |
Public Attributes | |
| const System | sys |
| const REAL | ceil |
| const REAL | prec |
| const REAL | ratio_gauss_seidel |
Static Public Attributes | |
| static const REAL | default_ceil = __IBEX_DEFAULT_NEWTON_CEIL |
| static const REAL | default_prec = __IBEX_DEFAULT_NEWTON_PRECISION |
| static const REAL | default_ratio_gauss_seidel = __IBEX_DEFAULT_NEWTON_RATIO_GAUSS_SEIDEL |
This class implements the Hansen-Sengupta variant of the interval Newton iteration. It can be used either as a contractor or as an existence test. The underlying linear routine is Gauss-Seidel .
| ibex::Newton::Newton | ( | const System & | sys, | |
| REAL | ceil = default_ceil, |
|||
| REAL | prec = default_prec, |
|||
| REAL | ratio_gauss_seidel = default_ratio_gauss_seidel | |||
| ) |
Create the Newton iteration with a system factory.
| sys | - The system to build this contractor with. | |
| ceil | - Criterion for applying interval Newton contractor. When the diameter of all components of the current box is smaller than ceil, the interval Newton method is applied. This criterion is useful to avoid useless computations of the jacobian matrix for wide boxes. Default value is default_ceil. | |
| prec | - Criterion for stopping the main loop of the iteration. If a step of interval Newton does not reduce the variable domain diameter by more than prec (this is not ratio but an absolute value), then the procedure stops. The default value is default_prec. | |
| ratio_gauss_seidel | - Criterion for stopping the inner Gauss-Seidel loop. If a step of Gauss Seidel does not reduce the variable domain diameter by more than ratio_gauss_seidel times, then the linear iteration stops. The default value is default_ratio_gauss_seidel. |
| ibex::Newton::Newton | ( | const Newton & | newt | ) |
Duplicate this instance (space is passed by reference).
| virtual Newton* ibex::Newton::copy | ( | ) | const [inline, virtual] |
Implement the contractor abstract copy.
Implements ibex::Contractor.
| virtual void ibex::Newton::accept_printer | ( | const OperatorPrinter & | p | ) | const [inline, virtual] |
Accept the pretty printer.
Reimplemented from ibex::Operator.
| bool ibex::Newton::iterate | ( | ) |
Contract the box with interval Newton iteration.
| virtual void ibex::Newton::contract | ( | ) | [inline, virtual] |
Contract the box with interval Newton iteration.
Implements ibex::Contractor.
| const System ibex::Newton::sys |
The system
| const REAL ibex::Newton::ceil |
Ceil (see constructor ).
| const REAL ibex::Newton::prec |
Precision (see constructor ).
| const REAL ibex::Newton::ratio_gauss_seidel |
Gauss-Seidel ratio (see constructor ).
const REAL ibex::Newton::default_ceil = __IBEX_DEFAULT_NEWTON_CEIL [static] |
Initialized to 0.01 (__IBEX_DEFAULT_NEWTON_CEIL).
const REAL ibex::Newton::default_prec = __IBEX_DEFAULT_NEWTON_PRECISION [static] |
Initialized to 1e-07 (__IBEX_DEFAULT_NEWTON_PRECISION).
const REAL ibex::Newton::default_ratio_gauss_seidel = __IBEX_DEFAULT_NEWTON_RATIO_GAUSS_SEIDEL [static] |
Initialized to 1e-04 (__IBEX_DEFAULT_NEWTON_RATIO_GAUSS_SEIDEL).
1.5.5