Section: New Results

Tools for numerically guaranteed computations

Participant : Sylvain Chevillard.

The overall and long-term goal is to enhance the quality of numerical computations. The progress made during year 2012 is the following:

  • Publication of a work about the implementation of functions erf and erfc in multiple precision and with correct rounding [15] . It corresponds to a work initially begun in the Arénaire team and finished in the Caramel team. The goal of this work is to show on a representative example the different steps of the rigorous implementation of a function in multiple precision arithmetic (choice of a series approximating the function, choice of the truncation rank and working precision used for the computation, roundoff analysis, etc.). The steps are described in such a way that they can easily be reproduced by someone who would like to implement another function. Moreover, it is showed that the process is very regular, which suggests that it (or at least large parts of it) could be automated.

  • In the same field of multiple precision arithmetic, and with Marc Mezzarobba (Aric team), we proposed an algorithm for the efficient evaluation of the Airy Ai(x) function when x is moderately large  [57] . Again, this work deals with a representative example, with the idea of trying to automate the process as a future work. The Taylor series of the Airy Ai function (as many others such as, e.g., Bessel functions or erf) is ill-conditioned when x is not small. To overcome this difficulty, we extend a method by Gawronski, Müller and Reinhard, known to solve the issue in the case of the error function erf. We rewrite Ai(x) as G(x)/F(x) where F and G are two functions with well-conditioned series. However, the coefficients of G turn out to obey a three-terms ill-conditioned recurrence. We evaluate this recurrence using Miller's backward algorithm with a rigorous error analysis.

  • Finally, a more general endeavor is to develop a tool that helps developers of libms in their task. This is performed by the software Sollya (http://sollya.gforge.inria.fr/ ), developed in collaboration with C. Lauter (Université Pierre et Marie Curie) and M. Joldeş (Uppsala University). During year 2012, a large effort has been made in view of the release of version 4.0 (to come in 2013). This effort (of about 400 commits in the svn repository of the project) is mainly intended to provide a library version of Sollya, as well as a robust test suite for the tool. As a matter of course, it allowed us to detect and fix a dozen of bugs.