IBEX is a C++ library for constraint processing over real numbers.

It provides reliable algorithms for handling non-linear constraints. In particular, roundoff errors are also taken into account. It is based on interval arithmetic and affine arithmetic.

The main feature of Ibex is its ability to build strategies declaratively through the contractor programming paradigm. It can also be used as a black-box solver.

Two emblematic problems that can be addressed are:

  • System solving. A guaranteed enclosure for each solution of a system of (nonlinear) equations is calculated.
  • Global optimization. A global minimizer of some
    function under non-linear constraints is calculated with guaranteed
    bounds on the objective minimum.

IBEX is an open-source academic project that started in 2007.


This software is under GNU Lesser General Public License.