• Aucun résultat trouvé

9.2 Perspectives sur les m´ ethodes de Runge-Kutta

Dans cette section, nous pr´esentons quelques perspectives possibles pour les r´esultats de la partie II du manuscrit.

9.2.1 Comparaisons entre les erreurs de m´ ethode et d’arrondi

Nous avons propos´e une m´ethodologie g´en´erique permettant de borner l’erreur d’ar-rondi de m´ethodes de Runge-Kutta. Cela a permis de montrer, au moins dans le cas de couples syst`emes-m´ethodes stables, que les erreurs d’arrondi ne s’accumulent pas de ma-ni`ere catastrophique. Une perspective int´eressante serait de d´eterminer la contribution des erreurs de m´ethode par rapport aux erreurs d’arrondi.

Dans la section 5.7, nous avons pr´esent´e, pour la m´ethode RK2 appliqu´ee `a un sys-t`eme lin´eaire scalaire, des r´esultats exp´erimentaux permettant de comparer la borne d’erreur d’arrondi aux erreurs de m´ethode et d’arrondi effectivement commises. Cela a permis de montrer que la borne obtenue pour cet exemple jouet, bien que relativement pessimiste, garantissait que l’erreur de m´ethode domine largement l’erreur d’arrondi.

Nous souhaiterions mener le mˆeme type d’exp´erimentation pour la r´esolution num´erique d’un syst`eme lin´eaire matriciel caract´erisant un ph´enom`ene physique concret. Nous sou-haiterions plus pr´ecis´ement ´eprouver notre analyse sur des ´equations de Bateman [12]

qui caract´erisent des ph´enom`enes de d´ecroissance radioactive. Il s’agit en effet d’´equa-tions diff´erentielles matricielles non raides, utilis´ees dans des applicad’´equa-tions industrielles et g´en´eralement r´esoluesvia des m´ethodes de Runge-Kutta.

L’approche empirique propos´ee ci-dessus ne permet pas de comparer les erreurs de m´ethode et d’arrondi dans le cas g´en´eral. Une possibilit´e est de borner non seulement l’erreur d’arrondi, mais aussi l’erreur de m´ethode. Il s’agit de l’approche adopt´ee par Fousse [79, 78, 77] pour les m´ethodes de calcul num´erique d’int´egrales, qui borne l’erreur totale, i.e.la somme des erreurs de m´ethode et des erreurs d’arrondi.

En g´en´eral, les num´ericiens ne donnent qu’une estimation de l’erreur de m´ethode [45].

En l’occurrence, l’utilisation d’une m´ethode de Runge-Kutta d’ordre passure que l’er-reur de m´ethode est de l’ordre de O(hp+1). En revanche, l’estimation de la constante associ´ee au grandO est difficile `a exhiber dans le cas g´en´eral [46].

9.2.2 G´ en´ eralisation ` a d’autres classes de m´ ethodes

M´ethodes implicites :

Une perspective de travail envisag´ee est l’adaptation de l’analyse d’erreurs aux m´e-thodes de Runge-Kutta implicites,e.g.les m´ethodes d’Euler implicite et du point-milieu implicite [59] (voir section 2.3.3), particuli`erement adapt´ees `a la r´esolution de syst`emes raides. Une ´equation diff´erentielle est dite raide lorsque sa r´esolution par des m´ethodes num´eriques explicites est difficile, i.e.lorsque les m´ethodes explicites sont instables sur cette ´equation, mˆeme lorsque le pas d’int´egration choisi est tr`es petit. Les ´equations

raides sont particuli`erement r´epandues en chimie, notamment pour mod´eliser des r´eac-tions chimiques dont l’´evolution est brutale [99].

L’impl´ementation des m´ethodes implicites est plus complexe et n´ecessite g´en´erale-ment la r´esolution d’une ´equation alg´ebrique. Par exemple, la m´ethode d’Euler implicite appliqu´ee `a l’´equation y=f(y, t)est caract´eris´ee par la relation it´erative :

yn+1=yn+hf(yn+1, tn+1),

qui fait apparaˆıtre le terme yn+1 des deux cˆot´es de l’´equation.

Des simplifications sont cependant possibles dans le cas des ´equations lin´eaires de la forme y = Ay, avec y ∈Rn et A∈ Rn×n. La relation it´erative associ´ee `a la m´ethode d’Euler est alors :

yn+1=yn+hAyn+1, qui peut ˆetre transform´ee enyn+1 = (I−hA)1yn.

A partir de cette caract´erisation, nous souhaitons adapter la m´ethodologie adopt´ee` dans le chapitre 6 pour borner les erreurs d’arrondi. Une possibilit´e est de borner l’erreur d’arrondi commise au cours de l’inversion de la matrice(I−hA)−1, ce qui pose plusieurs difficult´es :

● Cela d´epend de la m´ethode d’inversion utilis´ee, e.g. par une inversion par blocs ou via la d´ecomposition LU de la matrice. Higham a propos´e des bornes sur les erreurs d’arrondi associ´ees `a ces m´ethodes d’inversion [107,§14]. Cependant, les bornes propos´ees font intervenir des quantit´es qui ne sont pas forc´ement connues a priori, e.g. la norme des matrices Let U de la d´ecomposition LU.

● De plus, la matriceI−hAn’est en g´en´eral pas calcul´ee de mani`ere exacte, si bien que la matrice `a inverser est de la forme I⊖h⊗ ̃A. Il faudra donc analyser la sensibilit´e de la m´ethode d’inversion aux perturbations de la matrice, i.e.borner l’erreur ∣∣∣(I⊖h⊗ ̃A)1−(I−hA)1∣∣∣.

M´ethodes multi-pas :

Une autre extension possible est l’adaptation de la m´ethodologie aux m´ethodes multi-pas, e.g. les m´ethodes d’Adams-Moulton et d’Adams-Bashforth [59]. Un aspect int´eressant de ces m´ethodes est le fait que la relation de r´ecurrence qui les caract´erise fasse apparaˆıtre une alternance de signes. Par exemple, la m´ethode d’Adams-Bashforth

`a trois pas est caract´eris´ee par : yn+3=yn+2+h �23

12f(yn+2, tn+2)− 16

12f(yn+1, tn+1) + 5

12f(yn, tn)�. Ainsi, dans le cas des syst`emes lin´eaires de la formey=Ay, nous avons :

yn+3=yn+2+h�23

12Ayn+2− 16

12Ayn+1+ 5

12Ayn�.

En consid´erant les erreurs locales et globales comme ´etant sign´ees, nous obtenons :

9.2. PERSPECTIVES SUR LES M´ETHODES DE RUNGE-KUTTA 160

En+3n+3+h�23

12En+2−16

12En+1+ 5 12En�.

Il serait int´eressant de d´eterminer si l’alternance de signes permet d’exhiber des compensations d’erreurs,e.g.en donnant une expression analytique des erreurs globales, dans l’esprit des travaux de Boldo pour l’´equation des ondes [23] (voir section 3.2.2).

9.2.3 G´ en´ eralisation aux syst` emes non-lin´ eaires

Une autre perspective est l’adaptation d’une analyse d’erreurs `a grainsfins dans le cas de syst`emes non-lin´eaires quelconques. Certains auteurs, e.g. Spijker [192] ou De-mailly [59], ont exhib´e des bornes g´en´eriques sur les erreurs d’arrondi en tirant parti de la stabilit´e des m´ethodes. Ces bornes s’av`erent cependant grossi`eres dans la plupart des cas et n’utilisent pas les propri´et´esfines du format d’arithm´etique (voir section 3.1.3).

Dans la partie II de ce manuscrit, afin d’obtenir des bornes plus fines, nous avons d´ecompos´e l’analyse des erreurs d’arrondi jusqu’au niveau des op´erations flottantes ´el´e-mentaires. Cette approche a ´et´e rendu possible par la restriction aux calculs matriciels, qui sont uniquement compos´es de sommations et de multiplications. Une telle approche n’est pas adapt´ee `a des fonctions non-lin´eaires quelconques.

Nous avons n´eanmoins identifi´e des pistes qui pourraient permettre d’´etudier les erreurs d’arrondi de certains syst`emes non-lin´eaires. Nous pourrions utiliser les bornes d’erreurs de certaines fonctions ´el´ementaires,e.g.les fonctions trigonom´etriques, que les fabricants de processeurs fournissent. Ces bornes ne sont cependant pas v´erifiables et pourraient s’av´erer erron´ees. De plus, il est difficile d’´evaluer la sensibilit´e de ces fonc-tions `a d’´eventuelles perturbafonc-tions sur les param`etres en entr´ee. Une autre possibilit´e est de consid´erer la lin´earisation d’un syst`eme non-lin´eairey=f(y, t)viale calcul de la matrice jacobienne def et d’´etudier les erreurs d’arrondi sur le syst`eme lin´eaire obtenu.

Dans ce cas, en toute rigueur, il faudrait que nous soyons capable de borner les erreurs associ´ees au processus de lin´earisation.

9.2.4 Vers une meilleure utilisation des evars

Notre utilisation du m´ecanisme des variables existentielles de Coq comme aide `a la reconstruction de certains r´esultats est relativement rudimentaire. Nous pourrions envisager d’utiliser ou d’adapter de r´ecents travaux qui permettent de faciliter ce type de chemins de preuve.

C’est par exemple le cas de la biblioth`eque Procrastination d´evelopp´ee par Gu´e-neau [93] et utilis´ee dans des preuves de complexit´e asymptotique d’algorithmes [92] et de la tactique automatique near propos´ee par Affeldt, Cohen et Rouhling [52, 2] pour des preuves sur les filtres (au sens topologique), e.g. des preuves de convergence.

9.2.5 Preuve de programmes

Nous pourrions envisager la v´erification formelle des propri´et´es flottantes de pro-grammes existants (´ecrits enCpar exemple) qui impl´ementent une m´ethode de Runge-Kutta. Nous pourrions utiliser la m´ethodologie et le langage d’annotations propos´es par Boldo et Filliˆatre [32] pour la v´erification de programmesflottants dans Frama-C. Notre id´ee serait d’ensuite utiliser notre formalisation Coq en arri`ere-plan en interpr´etant le programme comme une application de notre m´ethodologie d’analyse d’erreur. Dans le mˆeme esprit que pour l’´equation des ondes [25], nous pourrions envisager de v´erifier `a la fois les propri´et´es math´ematiques et flottantes du programme.

Une alternative possible serait d’´etudier s’il est possible d’utiliser le m´ecanisme d’ex-traction de Coq [136] sur notre d´eveloppement afin d’extraire d’une part une impl´emen-tation de la m´ethode num´erique en OCaml et d’autre part une borne d’erreur garantie.