• Aucun résultat trouvé

Analyse fonctionnelle et espaces de dimension finie

3.2 Preuves formelles en analyse num´erique

3.2.3 Analyse fonctionnelle et espaces de dimension finie

Analyse fonctionnelle

A notre connaissance, les travaux les plus anciens qui puissent ˆetre qualifi´es de` formalisations d’analyse fonctionnelle remontent `a Popio�lek en 1991 [168] qui formalise les notions d’espaces complets et d’espaces de Hilbert dans l’assistant de preuves Mizar.

Cette sp´ecification sert de base `a d’autres travaux utilisant Mizar,e.g. la formalisation des op´erateurs lin´eaires born´es par Shidama [186].

Pour les besoins de la formalisation de flots d’´equations diff´erentielles, Immler et Traut [117] ont formalis´e le concept de fonction lin´eaire continue. Leur formalisation est sur ce point tr`es proche de la nˆotre (voir chapitre 7) : en particulier, ils ont caract´eris´e la continuit´e d’une fonctionvia la propri´et´e∃K,∀y,∣f(y)∣ ⩽K⋅∣y∣et la norme d’op´erateur comme max∣y∣⩽1∣f(y)∣. Notre d´eveloppement et le leur ont ´et´e men´es en parall`ele et de mani`ere ind´ependante, mais reposent sur des fondements tr`es similaires d’analyse et de topologie. Nous nous fondons en effet sur Coquelicot [35], dont les d´efinitions topologiques (utilisant le formalisme desfiltres) et la hi´erarchie alg´ebrique sont inspir´es des d´eveloppements de H¨olzl, Immler et Huffman [109] en Isabelle/HOL, travaux sur lesquels repose la formalisation d’Immler et Traut [117].

Le th´eor`eme de Hahn-Banach [42] est un th´eor`eme de prolongement de formes li-n´eaires continues qui fait partie des r´esultats classiques d’analyse fonctionnelle. Il existe plusieurs travaux de formalisation du th´eor`eme de Hahn-Banach.

En 1999, Bauer et Wenzel [15] ont propos´e une formalisation du th´eor`eme de Hahn-Banach en Isabelle/HOL. Leur preuve formelle est pr´esent´ee comme une preuve de concept de l’utilisation du langage Isar [205], qui permet de d´evelopper des forma-lisations math´ematiques lisibles et tr`es proches du langage math´ematique usuel. La d´emonstration repose sur la formalisation de divers concepts d’analyse (fonctionnelle notamment), comme les espaces vectoriels, les formes lin´eaires d’un espace vectoriel ou la notion de norme d’op´erateur pour une fonction, que nous avons ´egalement d´efinie en Coq pour la d´emonstration du th´eor`eme de Lax–Milgram (voir chapitre 7).

Plus r´ecemment, Kerjean et Mahboubi [122] ont pr´esent´e une preuve formelle du th´eor`eme de Hahn-Banach en Coq, utilisant la formalisation des espaces vectoriels de la biblioth`eque Mathematical Components [144].

Narkawicz [156] a propos´e une d´emonstration formelle du th´eor`eme de Riesz–Markov–

Kakutani5dans l’assistant de preuves PVS. Ce r´esultat tr`es g´en´eral repr´esente, dans un

5. `a ne pas confondre avec le th´eor`eme de Riesz–Fr´echet que nous d´emontrons dans le chapitre 8.

espace topologique de Hausdorff, les ´el´ements du dual de l’espace des fonctions continues

`a support compact par une mesurevia la notion d’int´egrale. Dans le d´eveloppement de Narkawicz, l’int´egrale est consid´er´ee au sens de Riemann–Stieltjes, une g´en´eralisation de l’int´egrale de Riemann. La d´emonstration formelle est cons´equente : Narkawicz a par exemple d´emontr´e l’´equivalence entre int´egration de Riemann–Stieltjes et int´egration de Darboux–Stieltjes. La d´emonstration utilise ´egalement un cas particulier du th´eor`eme de Hahn-Banach.

J’ai men´e, en collaboration avec Spitters [71, 72], un travail de d´emonstrations constructives de programmes probabilistes en Coq via le formalisme de la th´eorie ho-motopique des types [13]. Nous avons partiellement d´emontr´e un cas particulier du th´eor`eme de Riesz–Markov–Kakutani pour la th´eorie des valuations dans un contexte dit detopologie synth´etique [65, 14].

Espaces de dimension finie, espaces euclidiens

Dans la partie III de ce manuscrit, et plus pr´ecis´ement dans le chapitre 8, nous nous int´eressons `a la formalisation de sous-espaces de dimensionfinie d’espaces de Hilbert.

Harrison [103, 104] a propos´e une formalisation des espaces euclidiens en HOL-Light, un espace euclidien ´etant un espace de Hilbert de dimensionfinie. L’auteur a caract´eris´e un espace euclidien par un type fonctionnel A→E avec A un type de cardinal fini n, i.e. un type `a n ´el´ements, et E un espace de Hilbert. Les exemples les plus intuitifs d’espaces euclidiens sont les espaces de la formeRn. Harrison propose la caract´erisation de l’espaceRn par le type A→Ravec A=U nit+⋅⋅⋅+U nit (n fois).

Les travaux de H¨olz, Immler et Huffman [109] en Isabelle/HOL incluent une forma-lisation des espaces euclidiens. Ces espaces sont d´efinis, via le m´ecanisme des classes de types (type classes d’Isabelle) [95], en tant qu’espaces vectoriels munis d’un produit scalaire et d’une basefinie de vecteurs, un ´el´ement de l’espace de dimension finie ´etant obtenu comme combinaison lin´eaire des vecteurs de la base.

En Coq, Brunel [44] a ´egalement formalis´e les espaces euclidiens de la forme Rn comme produit cart´esien par induction sur la dimension n. La technique utilis´ee pour munirRnde la structure d’espace euclidien (produit scalaire et ses propri´et´es fondamen-tales) est le m´ecanisme des classes de types (type classes de Coq [191]). Cette d´efinition sert de base `a une formalisation de r´esultats d’analyse dans C.

La biblioth`eque Mathematical Components [144] inclut ´egalement une structure d’espaces vectoriels de dimension finie, qui est quant `a elle d´efinie en utilisant le m´eca-nisme des structures canoniques [143].

Dans les travaux pr´esent´es ci-dessus [103, 104, 109, 44, 144], les espaces de dimension finie ne sont pas«par construction» des sous-espaces d’autres espaces plus grands. Il est en revanche possible de d´emontrer qu’un espace de dimensionfinieE1est inclus dans un espaceE2 de dimension sup´erieure, notamment lorsque la base associ´ee `aE1est une sous-famille de la base associ´ee `a E2. Dans le chapitre 8, nous souhaitons d´efinir des sous-espace de dimensionfinie d’espaces de Hilbert de dimension potentiellement infinie.

A notre connaissance, il y a peu de travaux qui traitent ce genre de formalisations.`

3.3. CONCLUSION 52 Nous pouvons citer les travaux de Afshar et al. [3] et de Mahmoud et al. [145] en Isabelle/HOL, qui ont d´efini des espaces vectoriels sur C de dimensions `a la fois finies et infinies. N´eanmoins, ces travaux ne traitent pas des espaces de Hilbert g´en´eriques.

3.3 Conclusion

Nous avons pr´esent´e une s´election de travaux traitant d’une part l’´etude des erreurs d’arrondi dans l’impl´ementation des m´ethodes num´eriques et d’autre part la formalisa-tion de m´ethodes num´eriques, en partant des fondements math´ematiques sur lesquels elles s’appuient jusqu’`a l’analyse de leur impl´ementationflottante.

Concernant l’´etude des erreurs d’arrondi, nous avons pu identifier plusieurs ap-proches de nature tr`es diff´erente.

Les travaux les plus anciens [43, 196, 91, 170, 63, 188, 81, 97, 5] (voir section 3.1.1), qui ont ´emerg´e dans la communaut´e des astrophysiciens, proposent d’am´eliorer les im-pl´ementations de m´ethodes num´eriques pour permettre de r´eduire l’influence des erreurs d’arrondi. L’approche adopt´ee pour v´erifier les r´esultats est g´en´eralement statistique.

Une autre approche, l’int´egration num´erique valid´ee, consiste `a impl´ementer des m´ethodes num´eriques en arithm´etique d’intervalles pour garantir le contrˆole de l’erreur totale (somme de l’erreur de m´ethode et de l’erreur d’arrondi) [20, 158, 40, 39, 183, 173, 4] (voir section 3.1.2). Si ces approches sont rigoureuses, elles ne tiennent compte ni des propri´et´es math´ematiques des m´ethodes, ni des propri´et´esfines de l’arithm´etique

`a virguleflottante. Par ailleurs, elles ne permettent pas de distinguer les diff´erents types d’erreurs, ni d’identifier la source des erreurs d’arrondi.

D’autres travaux utilisent une approche math´ematique rigoureuse pour estimer et borner l’accumulation des erreurs d’arrondi de m´ethodes it´eratives [74, 192, 59, 120, 79, 78, 77]. La majeure partie de ces travaux [74, 192, 59, 120] adopte une approche `a«gros grain»: les r´esultats exhib´es sont tr`es g´en´eriques mais ne prennent pas en compte les propri´et´es fines de l’arithm´etique `a virgule flottante. En revanche, les contributions de Fousse [79, 78, 77] visant `a borner les erreurs d’arrondi de m´ethodes num´eriques de calcul d’int´egrales adoptent une approche `a «grains fins» en d´ecomposant l’analyse d’erreurs jusqu’au niveau des op´erations flottantes ´el´ementaires.

En ce qui concerne l’utilisation des assistants de preuves dans le domaine de l’analyse num´erique, nous avons identifi´e un nombre important de contributions r´ecentes.

Une premi`ere s´erie de travaux est d´edi´ee `a la v´erification formelles de propri´et´es de m´ethodes num´eriques (voir section 3.2.1). Les m´ethodes num´eriques sont vari´ees : nous avons identifi´e des travaux li´es `a la diff´erentiation automatique [149, 135], au calcul num´erique d’int´egrales [141, 142, 187], `a l’´etude des ´equations diff´erentielles or-dinaires [116, 146, 114, 117, 176, 22] ou aux d´eriv´ees partielles [28, 25], l’approximation de racines de fonctions [161, 162] et l‘´etude de matrices-intervalles [164].

Une seconde s´erie de travaux est d´edi´ee `a l’analyse formelle de l’impl´ementation flottante de m´ethodes num´eriques, et plus particuli`erement aux erreurs d’arrondi (voir

section 3.2.2). Les travaux les plus anciens concernent le calcul de fonctions ´el´emen-taires [182, 184, 102] tandis que des contributions plus r´ecentes sont vou´ees `a l’impl´e-mentation de sch´emas num´eriques pour la r´esolution d’´equations diff´erentielles [23] ou

`a des probl´ematiques d’analyse matricielle [177].

Enfin, la derni`ere s´erie de travaux est vou´ee `a la formalisation de r´esultats th´eoriques li´es `a l’analyse fonctionnelle [168, 186, 117, 15, 122, 156, 71] et aux espaces de dimension finie [103, 104, 109, 44, 144, 145, 3], qui font l’objet de la partie III du manuscrit.

Il faut noter que ces travaux de formalisation ont fait usage de divers assistants de preuves, nomm´ement Coq [149, 135, 141, 142, 187, 146, 28, 25, 161, 162, 164, 23, 177, 122, 71, 44, 144], HOL-Light [102, 103, 104], Isabelle/HOL [116, 114, 117, 22, 15, 109, 145, 3], Mizar [168, 186], PVS [156] et ACL2 [182, 184].

Premi` ere partie

Moyenne de nombres flottants d´ ecimaux

55

Chapitre 4

Arrondi correct de la moyenne de deux nombres flottants d´ ecimaux

La norme IEEE 754 d´efinit les formats de repr´esentation des nombres `a virgule flot-tante ainsi qu’un ensemble d’op´erations sur ces nombres [112] (voir chapitre 2). Dans la version initiale datant de 1985, la norme ne sp´ecifie que des formats de repr´esentation de nombresflottants binaires. Or, comme le fait remarquer Cowlishaw `a l’aube des ann´ees 2000 [54], les donn´ees et r`egles de calcul utilis´ees dans les applications commerciales et financi`eres sont par nature li´ees au syst`eme de calcul d´ecimal.

En 2008, la norme a subi une r´evision majeure incluant des formats de repr´esentation pour les nombres flottants d´ecimaux [113]. Cela va de pair avec la production d’unit´es mat´erielles d´edi´ees au calcul en base 10, comme les processeurs IBM POWER6 [131] et z9 [62]. Ces avanc´ees conduisent `a l’´emergence de nouveaux axes de recherche portant sur l’arithm´etique d´ecimale.

Malheureusement, il n’est ni automatique ni trivial de transposer aux nombres flot-tants d´ecimaux des propri´et´es valides pour des nombresflottants binaires. Par exemple, un algorithme fournissant l’arrondi correct d’une op´eration en base 2 ne fournit pas n´e-cessairement l’arrondi correct en base 10 [132]. Les programmes en apparence les plus simples n’´echappent pas `a la r`egle, comme la moyenne de deux nombresflottants :

τ�x+y 2 �,

○´etant l’arrondi au plus proche, avec r`egle de bris d’´egalit´e τ quelconque.

Dans ce chapitre, nous commen¸cons par pr´esenter les crit`eres (tels qu’´enonc´es par Sterbenz [195]) que devrait satisfaire tout programme fournissant la moyenne de deux nombres flottants puis pr´esentons quelques algorithmes issus de pr´ec´edents travaux et satisfaisant ces crit`eres pour des formats binaires (section 4.1). Ensuite, nous montrons que les impl´ementations les plus intuitives ne fournissent pas l’arrondi correct lors du passage en base 10 (section 4.2) puis exhibons un algorithme plus ´elabor´e calculant l’arrondi correct de la moyenne de deux nombresflottants d´ecimaux (section 4.3). Nous proposons une d´emonstration de la propri´et´e d’arrondi correct de l’algorithme : nous

57

4.1. CALCUL DE MOYENNE EN BASE 2 58 la pr´esentons tout d’abord sans tenir compte des comportements exceptionnels pour des questions de lisibilit´e (section 4.3.1) et d´ecrivons la preuve formelle associ´ee (sec-tion 4.3.2) dans le format FLX de Coq. Enfin, nous montrons comment Coq a aid´e `a la g´en´eralisation des d´emonstrations en les rendant notamment valides dans le format FLT,i.e.en tenant compte d’´eventuels d´epassements graduels inf´erieurs (section 4.3.3).

Les r´esultats de ce chapitre ont fait l’objet d’un article avec Boldo et Tourneur [31].

4.1 Calcul de moyenne en base 2