• Aucun résultat trouvé

1.2 Contributions et plan

1.2.1 Pr´ erequis et ´ etat de l’art

Le chapitre 2 introduit les concepts fondamentaux sur lesquels se basent nos contri-butions. Les notions introduites concernent l’arithm´etique `a virguleflottante, les biblio-th`eques Coq utilis´ees et la r´esolution num´erique des ´equations diff´erentielles ordinaires.

Le chapitre 3 constitue un ´etat de l’art concernant l’analyse des erreurs d’arrondi dans l’impl´ementation de m´ethodes num´eriques et les formalisations d’analyse num´e-rique et fonctionnelle dans les assistants de preuves.

1.2.2 Formalisation d’un algorithme en arrondi correct pour le calcul de moyenne de nombres flottants d´ ecimaux

La partie I du document,i.e.le chapitre 4, pr´esente la formalisation d’un algorithme en arrondi correct pour le calcul de la moyenne de deux nombres flottants d´ecimaux.

Il est dit d’un algorithme impl´ement´e en pr´ecision finie qu’il satisfait la propri´et´e d’arrondi correct lorsque le r´esultat qu’il renvoie est le r´esultat repr´esentable le plus proche possible. La norme IEEE-754 [113] impose que les op´erations ´el´ementaires sa-tisfassent la propri´et´e d’arrondi correct et conseille qu’elle soit satisfaite par certaines fonctions ´el´ementaires comme les fonctions trigonom´etriques. En revanche, la propri´et´e est rarement satisfaite par des algorithmes plus ´elabor´es, e.g. les programmes num´e-riques.

Les formats flottants d´ecimaux sont de nos jours de plus en plus r´epandus, notam-ment dans les applications bancaires. Malheureusenotam-ment, les propri´et´es d’un programme impl´ement´e en base 2 ne sont pas n´ecessairement transposables `a la base 10.

Boldo [24] a par exemple propos´e un algorithme calculant la moyenne de deux nombres flottants binaires et satisfaisant la propri´et´e d’arrondi correct. Nous mon-trons que cet algorithme ne satisfait pas l’arrondi correct en base 10 et proposons un algorithme relativement efficace qui calcule l’arrondi correct de la moyenne de deux nombres flottants d´ecimaux. Nous proposons par ailleurs une formalisation en Coq de l’algorithme et de sa preuve de correction.

Publications. Ce travail a fait l’objet d’un article avec S. Boldo et V. Tourneur [31].

1.2.3 Analyse formelle des erreurs d’arrondi de m´ ethodes de Runge-Kutta

La seconde partie du document propose la mise au point et la formalisation en Coq d’une m´ethodologie g´en´erique pour borner les erreurs d’arrondi de m´ethodes de Runge-Kutta appliqu´ees `a des syst`emes lin´eaires. Le chapitre 5 est vou´e aux syst`emes lin´eaires scalaires,i.e.les ´equations diff´erentielles de la formey=λy avecy,λ∈R. Le chapitre 6 g´en´eralise les r´esultats du chapitre 5 aux syst`emes lin´eaires matriciels, i.e. de la forme y=Ay avecy∈Rn, A∈Rn×n.

M´ethodologie g´en´erique d’analyse des erreurs d’arrondi : Nous pr´esentons un ensemble de r´esultats g´en´eriques qui servent d’outils pour construire les bornes d’er-reurs. Ces r´esultats sont param´etr´es par l’´equation diff´erentielle consid´er´ee, la m´ethode de r´esolution adopt´ee, le format flottant et la forme des impl´ementations, i.e. l’ordre d’´evaluation des op´erations flottantes.

Nous nous limitons aux syst`emes lin´eaires, c’est-`a-dire aux ´equations diff´erentielles de la forme y = Ay avec y un vecteur de Rn et A une matrice carr´ee de taille n.

Les r´esultats pr´esent´es utilisent les propri´et´es fines du format d’arithm´etique `a virgule flottante, certaines propri´et´es math´ematiques des m´ethodes,e.g.la stabilit´e num´erique, ainsi que les propri´et´es des op´erations matricielles.

L’id´ee g´en´erale est de distinguer les erreurs dites locales, i.e. qui se produisent `a une it´eration donn´ee du sch´ema, et globales, i.e. accumul´ees au cours des it´erations.

Nous proposons des r´esultats g´en´eriques qui, pour n’importe quelle impl´ementation, permettent de construire une borne sur les erreurs locales des m´ethodes de Runge-Kutta. Nous proposons ensuite un r´esultat permettant de construire une borne sur l’erreur globale `a partir des bornes sur les erreurs locales des it´erations pr´ec´edentes.

Ces r´esultats ont ´et´e instanci´es `a des m´ethodes de Runge-Kutta classiques et tr`es fr´equemment utilis´ees, comme les m´ethodes d’Euler et de Runge-Kutta 2, via des ap-plications successives et m´ecaniques des lemmes g´en´eriques.

Une particularit´e de ce travail est la gestion des comportements exceptionnels de l’arithm´etique `a virguleflottante, souvent n´eglig´es dans les travaux d’analyse d’erreurs d’arrondi. Nous tenons plus pr´ecis´ement compte des d´epassements graduels de capacit´e inf´erieurs. Dans le cas lin´eaire scalaire, nous tenons ´egalement compte des d´epassements de capacit´e sup´erieurs.

Formalisation compl`ete de l’analyse d’erreurs : La d´emonstration des r´esul-tats sur les erreurs d’arrondi est d´elicate et fastidieuse. Afin d’augmenter le niveau de confiance accord´e `a notre m´ethodologie, nous avons formalis´e l’ensemble de l’analyse d’erreurs dans l’assistant de preuves Coq. Cela suppose la cohabitation de raisonne-ments sur les nombres flottants et de raisonnements sur les matrices et les op´erations matricielles. Nous combinons pour cela la biblioth`eque Flocq d’arithm´etique des ordi-nateurs [37, 38] ainsi que la sp´ecification des vecteurs et matrices de la biblioth`eque Mathematical Components [144].

Une partie importante de la formalisation concerne l’analyse des erreurs d’arrondi d’op´erations matricielles, e.g. les produits matrice-vecteur et matrice-matrice. Cette partie de la formalisation inclut la d´efinition des op´erations matricielles arrondies et la formalisation de propri´et´es sur les normes de matrices. L’analyse des erreurs d’arrondi des produits matriciels est technique et repose sur les bornes d’erreurs d’arrondi des sommations de nombres flottants et du produit scalaire de vecteurs de nombres r´eels.

Nous avons ensuite formalis´e les m´ethodes de Runge-Kutta et leurs impl´ementations dans Coq, ainsi que les notions d’erreurs d’arrondi locales et globales pour ces m´ethodes num´eriques. La d´emonstration formelle des lemmes g´en´eriques permettant de g´erer les erreurs locales et globales est ensuite relativement proche de la preuve papier.

1.2. CONTRIBUTIONS ET PLAN 14 L’application des r´esultats g´en´eriques `a des m´ethodes de Runge-Kutta classiques s’av`ere besogneuse, d’autant plus que nous souhaitons simplifier les bornes pour les rendre plus lisibles. Pour pallier ce probl`eme, nous utilisons un ensemble de tactiques automatiques existantes permettant d’automatiser une partie du raisonnement.

Publications. Ces travaux ont fait l’objet de deux articles avec S. Boldo et A. Cha-poutot. Le premier article [29] pr´esente une version non formalis´ee de ce travail pour le cas scalaire et ne tenant pas compte des comportements exceptionnels. Le second article [30] ´etend [29] en tenant compte des d´epassements de capacit´e inf´erieurs et su-p´erieurs. Concernant le passage au cas des syst`emes matriciels et la formalisation des r´esultats, seule une version pr´eliminaire du travail a pour l’heure ´et´e publi´ee [70].

1.2.4 Formalisation de r´ esultats d’analyse fonctionnelle

Les m´ethodes num´eriques de r´esolution des ´equations aux d´eriv´ees partielles, e.g.

la m´ethode des ´el´ements finis, reposent sur des fondements math´ematiques bien plus cons´equents que les ´equations diff´erentielles ordinaires. La troisi`eme partie de cette th`ese pr´esente une formalisation de ces fondements math´ematiques fond´ee sur Coquelicot, une extension conservative de la biblioth`eque standard des r´eels d´evelopp´ee par Boldo, Lelay et Melquiond [35, 134]. Le chapitre 7 est d´edi´e `a la formalisation des espaces de Hilbert et de leurs propri´et´es, ainsi qu’`a la formalisation des espaces de fonctions lin´eaires continues. Le chapitre 8 est vou´e `a la formalisation de r´esultats fondamentaux d’analyse fonctionnelle comme le th´eor`eme de Lax–Milgram et la compl´etude des sous-espaces de dimensionfinie d’espaces de Hilbert.

Espaces de Hilbert et espaces fonctionnels : La m´ethode des ´el´ements finis permet d’approcher la solution d’´equations aux d´eriv´ees partielles qui mod´elisent des ph´enom`enes physiques sur des espaces irr´eguliers,e.g. le flux du sang dans une art`ere.

La structure alg´ebrique permettant d’abstraire ces volumes irr´eguliers est la structure d’espace de Hilbert, i.e.un module complet muni d’un produit scalaire.

Nous formalisons la structure d’espace de Hilbert en ´etendant la hi´erarchie alg´e-brique de la biblioth`eque Coquelicot, construite via le m´ecanisme des structures cano-niques [143]. Nous formalisons un ensemble de concepts g´eom´etriques li´es aux espaces de Hilbert, comme le projet´e orthogonal ou le compl´ementaire orthogonal d’un sous-espace, et d´emontrons certaines propri´et´es fondamentales de ces objets g´eom´etriques.

Les ´equations aux d´eriv´ees partielles sont des ´equations impliquant des fonctions. Nous formalisons des espaces de Hilbert fonctionnels, et plus pr´ecis´ement l’espace des formes lin´eaires continues d’un espace de Hilbert.

Preuve formelle du th´eor`eme de Lax–Milgram : Nous d´emontrons formellement le th´eor`eme de Lax–Milgram, un r´esultat-clef permettant d’´etablir la convergence de la m´ethode des ´el´ements finis. La d´emonstration du th´eor`eme de Lax–Milgram repose sur un ensemble cons´equent de r´esultats g´eom´etriques dans les espaces de Hilbert, ainsi

que sur d’autres r´esultats interm´ediaires importants, e.g. un th´eor`eme de point fixe de Banach ou le th´eor`eme de Riesz–Fr´echet, un r´esultat de repr´esentation des formes lin´eaires continues d’un espace de Hilbert via le produit scalaire.

Sous-espaces de dimensionfinie et propri´et´es de compl´etude : L’id´ee g´en´erale de la m´ethode des ´el´ements finis est d’approcher le volume irr´egulier par un maillage d’´el´ements r´eguliers. Ce maillage peut ˆetre abstrait math´ematiquement comme un sous-espace de dimensionfinie du volume irr´egulier,i.e.comme un sous-espace de dimension finie d’un espace de Hilbert. La preuve de convergence de la m´ethode repose sur deux applications du th´eor`eme de Lax–Milgram, sur l’espace de Hilbert d’une part et sur le sous-espace de dimension finie d’autre part. Pour ne pas formaliser deux versions du th´eor`eme, nous le g´en´eralisons pour tout sous-module complet d’un espace de Hilbert. Il est trivial que l’espace de Hilbert complet est un sous-module complet de lui-mˆeme. En revanche, nous avons dˆu formaliser les sous-espaces de dimensionfinie et d´emontrer leur compl´etude, plus difficile `a ´etablir et reposant sur de nombreux r´esultats topologiques.

Publications. La formalisation des espaces de Hilbert et du th´eor`eme de Lax–Milgram a fait l’objet d’un article avec S. Boldo, F. Cl´ement, V. Martin et M. Mayero [26] ainsi qu’`a un r´esum´e court avec les mˆemes auteurs [27]. La formalisation des sous-espaces de dimension finie a fait l’objet de deux articles [68, 69].

1.2.5 Conclusion

Enfin, le chapitre 9 conclut ce document en r´esumant les contributions de la th`ese puis pr´esente des perspectives de travail.