Section: New Software and Platforms


Keywords: Numerical solver - Polynomial or analytical systems

Scientific Description: The goal underlying the developpement of RealSolver is the ability to solve large polynomial systems with certified results using adaptive multi-precision arithmetic for efficiency.

The software is based on a classic branch and bound algorithm using interval arithmetic: an initial box is subdivided until its sub-boxes are certified to contain either no solution or a unique solution of the input system. Evaluation is performed with a centered evaluation at order two, and existence and uniqueness of solutions is verified thanks to the Krawczyk operator.

RealSolver uses two implementations of interval arithmetic: the C++ boost library that provides a fast arithmetic when double precision is enough, and otherwise the C mpfi library that allows to work in arbitrary precision. Considering the subdivision process as a breadth first search in a tree, the boost interval arithmetic is used as deeply as possible before a new subdivision process using higher precision arithmetic is performed on the remaining forest.

The software is can be interfaced with sage and the library Fast_Polynomial that allows to solve systems of polynomials that are large in terms of degree, number of monomials and bit-size of coefficients.

Functional Description: The software RealSolver solves square systems of analytic equations on a compact subset of a real space. RealSolver is a subdivision solver using interval arithmetic and multiprecision arithmetic to achieve certified results. If the arithmetic precision required to isolate solutions is known, it can be given as an input parameter of the process, otherwise the precision is increased on-the-fly. In particular, RealSolver can be interfaced with the Fast_Polynomial library (https://bil.inria.fr/en/software/view/2423/tab#lA) to solve polynomial systems that are large in terms of degree, number of monomials and bit-size of coefficients.

News Of The Year: In 2018, Mohamed Eissa was recruited on a FastTrack contract for porting the code to python.

  • Contact: Rémi Imbach