#include <IbexUnivNewton.h>

Public Member Functions | |
| UnivNewton (const Equality &equ, Space &space, REAL w=default_precision) | |
| UnivNewton (const UnivNewton &newt) | |
| virtual UnivNewton * | copy () const |
| bool | contract (int var) |
| virtual void | contract () |
| INTERVAL_VECTOR | solve (int var) |
| INTERVAL_VECTOR | solve (const char *var_name) |
Public Attributes | |
| const REAL | w |
| const Equality & | equ |
Static Public Attributes | |
| static const REAL | default_precision = __IBEX_DEFAULT_U_NEWTON_PRECISION |
This class implements the classical univariate interval Newton iteration (see [Han92].
It either solves f(x)=0 or contracts a box, with the following iteration:
where p is a point in [x] (not necessarily the midpoint).
| ibex::UnivNewton::UnivNewton | ( | const Equality & | equ, | |
| Space & | space, | |||
| REAL | w = default_precision | |||
| ) | [inline] |
Create the univariate Newton contractor.
| equ | - The equation to build this contractor with. | |
| space | - The space of the new contractor. | |
| w | - Criterion for stopping the iteration. If a step of interval Newton does not reduce the variable domain diameter by more than w (this is not ratio but an absolute value), then the procedure stops. The default value is default_precision. |
| ibex::UnivNewton::UnivNewton | ( | const UnivNewton & | newt | ) | [inline] |
Duplicate this instance (space is passed by reference).
| virtual UnivNewton* ibex::UnivNewton::copy | ( | ) | const [inline, virtual] |
Implement the contractor abstract copy.
Implements ibex::Contractor.
| bool ibex::UnivNewton::contract | ( | int | var | ) |
| void ibex::UnivNewton::contract | ( | ) | [virtual] |
Apply contraction.
The indicators structure should contain a specific scope value. This value being the variable onto which Newton has to be enforced.
Implements ibex::Contractor.
| INTERVAL_VECTOR ibex::UnivNewton::solve | ( | int | var | ) |
Solve f(x)=0 in the current equation box with univariate interval Newton's iteration. The box is not modified.
| var | - the variable x. |
| INTERVAL_VECTOR ibex::UnivNewton::solve | ( | const char * | var_name | ) | [inline] |
Solve f(x)=0 in the current equation box with univariate interval Newton's iteration. The box is not modified.
| var_name | - the variable name. |
const REAL ibex::UnivNewton::default_precision = __IBEX_DEFAULT_U_NEWTON_PRECISION [static] |
Default precision, set to 1e-07 (__IBEX_DEFAULT_U_NEWTON_PRECISION).
| const REAL ibex::UnivNewton::w |
| const Equality& ibex::UnivNewton::equ |
Equation
1.5.5