ibex::Newton Class Reference
[Contractors]

Multivariate Newton operator. More...

#include <IbexNewton.h>

Inheritance diagram for ibex::Newton:

ibex::Contractor ibex::Operator

List of all members.

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 Newtoncopy () 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


Detailed Description

Multivariate Newton operator.

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 .

Author:
Gilles Chabert
Date:
March 2007

Constructor & Destructor Documentation

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.

Parameters:
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).


Member Function Documentation

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.

Returns:
true if a contraction could be performed, false otherwise.

virtual void ibex::Newton::contract (  )  [inline, virtual]

Contract the box with interval Newton iteration.

Implements ibex::Contractor.


Member Data Documentation

The system

const REAL ibex::Newton::ceil

Ceil (see constructor ).

const REAL ibex::Newton::prec

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).


The documentation for this class was generated from the following files:

Generated on Sun Jun 27 15:52:00 2010 for IBEX by  doxygen 1.5.5