• Aucun résultat trouvé

3.2 Preuves formelles en analyse num´erique

3.2.1 V´erification de m´ethodes num´eriques

Diff´erentiation automatique

L’une des premi`eres utilisations d’un assistant de preuves pour des probl`emes d’ana-lyse num´erique remonte aux travaux de Mayero au d´ebut des ann´ees 2000 [148,§5], [149],

3.2. PREUVES FORMELLES EN ANALYSE NUM´ERIQUE 46 vou´es `a la v´erification formelle de m´ethodes de diff´erentiation automatique en Coq. La diff´erentiation automatique consiste `a calculer num´eriquement une approximation de la d´eriv´ee d’une fonction en un point. Mayero [149] a v´erifi´e l’algorithme de diff´erentiation de l’outil O∂yss´ee [73], notamment utilis´e pour le calcul de gradients.

Lelay et Melquiond [135] ont impl´ement´e une tactique Coq r´eflexive [17, §17] per-mettant d’automatiser ou simplifier les preuves de d´erivabilit´e et le calcul de d´eriv´ees de fonctions. Ce d´eveloppement est bas´e sur Coquelicot [35, 134].

Calcul num´erique d’int´egrales

Mahboubi, Melquiond et Sibut-Pinote [141, 142, 187] ont propos´e une m´ethode effi-cace pour calculer et borner des int´egrales d´efinies dans Coq. La technique d´evelopp´ee repose essentiellement sur l’utilisation de l’arithm´etique d’intervalles et d’approxima-tions rigoureuses de polynˆomes. Les auteurs se sont d’abord int´eress´es aux int´egrales (au sens de Riemann) dites propres [141], i.e.de la forme ∫abf(t)dt, telles que a, b∈R et telles que la fonction f soit d´efinie et born´ee sur [a, b] et discontinue en un nombre fini de points. Ils ont ensuite ´etendu leur ´etude au cas des int´egrales impropres [142]

dont les bornes peuvent ˆetre infinies. Notons que ces travaux ont ´et´e int´egr´es `a l’outil CoqInterval [150], dont ils constituent d´esormais une extension.

Analyse num´erique des ´equations diff´erentielles ordinaires

Immler et H¨olz ont formalis´e le concept d’´equation diff´erentielle ordinaire en Isa-belle/HOL [116]. Ils ont plus pr´ecis´ement sp´ecifi´e la notion de probl`eme avec condition initiale et ont d´emontr´e formellement le th´eor`eme de Cauchy-Lipschitz3 assurant l’exis-tence d’une unique solution au probl`eme sous certaines conditions [116,§4]. Les auteurs ont ensuite formalis´e le concept g´en´erique de m´ethode `a un pas pour la r´esolution nu-m´erique d’un probl`eme avec condition initiale [116, §5]. Ils ont notamment d´efini les notions de consistance, de 0-stabilit´e et de convergence (voir [59] pour une d´efinition pr´ecise de ces termes) pour les m´ethodes `a un pas, puis ont d´emontr´e les liens qui existent entre ces trois notions. Les auteurs se sont int´eress´es au cas particulier de la m´ethode d’Euler [116, §6] et ont formellement prouv´e la convergence de la m´ethode, mˆeme en pr´esence de perturbations sur les calculs (e.g. des erreurs d’arrondi).

Makarov et Spitters [146] ont ´egalement propos´e la formalisation d’une autre version du th´eor`eme de Cauchy-Lipschitz en Coq, reposant sur des fondements math´ematiques tr`es diff´erents. Cela s’explique par le fait que la biblioth`eque sous-jacente qui est utilis´ee soit la biblioth`eque C-CoRN d’analyse r´eelle constructive [55].

Immler [114] a impl´ement´e une m´ethode d’Euler garantie `a base d’arithm´etique affine dans Isabelle/HOL. La correction de la m´ethode est v´erifi´ee, la d´emonstration de ce r´esultat reposant sur la formalisation des probl`emes avec conditions initiales qu’ont propos´e Immler et H¨olz dans de pr´ec´edents travaux [116, §4]. L’id´ee g´en´erale est tr`es proche de celle adopt´ee dans les travaux d’int´egration num´erique garantie pr´esent´es en

3. Dans l’article [116], ainsi que dans [146], la terminologie Picard-Lindel¨of d´esigne le nom utilis´e par les anglophones pour le th´eor`eme de Cauchy-Lipschitz.

section 3.1.2 et plus particuli`erement dans les travaux de Bouissou et al. [39]. La plus-value apport´ee par Immler par rapport `a ces travaux est la garantie formelle que permet l’usage d’Isabelle/HOL. Immler et Traut [117] ont compl´et´e cette s´erie de travaux en proposant une ´etude formelle du concept de flot d’´equation diff´erentielle. Le flot d’une

´equation diff´erentielle ordinaire correspond `a l’´evolution de la solution en fonction de l’´evolution de la condition initiale, i.e. la valeur de la fonction au d´ebut de l’intervalle d’int´egration. Le socle math´ematique de ces travaux (que nous pr´esentons plus en d´etails en section 3.2.3) est proche de celui que nous d´eveloppons dans le chapitre 8. L’ensemble des travaux d’Immler et al. [116, 114, 117] pr´esent´es ci-dessus servent de fondements `a l’impl´ementation d’un solveur d’´equations diff´erentielles en Isabelle/HOL [115], qui a

´et´e utilis´e pour d´emontrer les propri´et´es d’un attracteur de Lorenz [201].

Il existe ´egalement des travaux appliqu´es `a la th´eorie du contrˆole ou aux syst`emes cyber-physiques et dont les fondements th´eoriques incluent la th´eorie des ´equations dif-f´erentielles. Rouhling [176] a par exemple formalis´e dans Coq la preuve de correction d’une fonction de contrˆole pour un pendule invers´e. Nous pouvons ´egalement citer les travaux de Bohrer et al.[22] autour de la v´erification de propri´et´es de la logique dyna-mique diff´erentielle impl´ement´ee dans des outils tels que KeYmaera X [167], permettant de raisonner sur des syst`emes hybrides mod´elis´es par des ´equations diff´erentielles.

Analyse num´erique des ´equations aux d´eriv´ees partielles

Boldoet al.[28] ont formalis´e en Coq l’´etude d’un sch´ema de r´esolution de l’´equation des ondes, un cas particulier d’´equation aux d´eriv´ees partielles, en dimension 1. Les au-teurs se sont plus particuli`erement int´eress´es `a la propri´et´e de convergence, eta fortiori

`a l’erreur de m´ethode, de ce sch´ema num´erique. Ce travail va de pair avec les travaux de Boldo [23] sur l’´etude des erreurs d’arrondi de ce mˆeme sch´ema num´erique (que nous d´etaillons en section 3.2.2), ces deux contributions servant de base `a la preuve formelle compl`ete d’un programme C de r´esolution de l’´equation des ondes [25]. Bien que ces travaux traitent les ´equations aux d´eriv´ees partielles, plus difficiles `a appr´ehender que les ´equations diff´erentielles ordinaires, notre approche est plus g´en´erique car elle traite une large classe de m´ethodes et syst`emes, et non un exemple particulier d’´equation.

Approximation des racines de fonctions

Pas¸ca a formalis´e une ´etude de la m´ethode de Newton en Coq [163,§3], [161, 162].

La m´ethode de Newton est un algorithme it´eratif permettant d’obtenir une valeur ap-proch´ee des racines d’une fonction f ∶Rn →Rn. `A partir d’une approximation initiale x0 de la racine, la m´ethode de Newton calcule successivement des approximations xi qui sont de plus en plus proches de la solution exacte. Pas¸ca a d´emontr´e formellement certains r´esultats de stabilit´e ou de convergence pour la m´ethode de Newton, notam-ment le th´eor`eme de Kantorovitch assurant la convergence de la m´ethode sous certaines conditions [161]. L’auteure [162] a propos´e une variante du th´eor`eme de Kantorovitch en tenant compte d’un arrondi `a chaque it´eration de la m´ethode de Newton, l’arrondi

3.2. PREUVES FORMELLES EN ANALYSE NUM´ERIQUE 48

´etant entendu au sens tr`es g´en´eral comme une fonction produisant une perturbation.

Dans le cas des syst`emes multidimensionnels, la m´ethode de Newton fait intervenir des vecteurs et des matrices, notamment jacobiennes. Pas¸ca a propos´e une formalisation de la norme matricielle∣∣∣⋅∣∣∣telle que pour toute matriceA,∣∣∣A∣∣∣=maxij∣Aij∣[161].

Cette formalisation est fond´ee sur les grands op´erateurs de la biblioth`eque Mathematical Components [18]. Dans la partie II de ce manuscrit, nous utilisons cette mˆeme norme

∣∣∣ ⋅ ∣∣∣ et nous nous inspirons des choix de formalisation de l’auteure.