Validation en calcul scientifique
Cours de recherche (30h de cours, travail
sur des articles scientifiques)
Cours : Nathalie Revol (Nathalie.Revol)
En calcul scientifique, le besoin n'est plus seulement
de disposer de plus de puissance de calcul, mais désormais d'obtenir
une assurance sur la qualité des résultats calculés. Valider un code
scientifique, et donc les résultats qu'il calcule, revient souvent à
savoir encadrer l'erreur commise. Cette erreur peut provenir soit de
la méthode utilisée (approximation de la solution), soit de
l'arithmétique utilisée : tout calcul en arithmétique flottante, qui
est la cible de ce cours, comporte des erreurs d'arrondi.
Ce cours s'attachera à définir l'erreur due au programme et à
l'arithmétique flottante utilisée. On étudiera ensuite les analyses
directe et inverse de l'erreur ainsi que la notion associée de
conditionnement. Différentes approches seront alors détaillées :
arithmétique flottante, approche probabiliste des erreurs d'arrondi,
arithmétique multi-précision, arithmétique par intervalles,
arithmétique exacte. Ces approches permettent soit d'encadrer
l'erreur due aux arrondis, soit de contourner les problèmes de
précision limitée inhérente à l'arithmétique flottante, soit de
calculer exactement le résultat ou un intervalle de résultats valide
pour toute une plage de valeurs d'entrée.
-
arithmétique flottante : norme IEEE-754, étude des erreurs
d'arrondi sur quelques algorithmes, cas de calculs exacts,
c'est-à-dire où l'erreur d'arrondi est nulle ;
- approche probabiliste : principe et limites, application sur
quelques exemples ;
- arithmétique multi-précision : principe et implantation ;
- arithmétique par intervalles : principe, avantages et
inconvénients, quelques algorithmes ;
- arithmétique exacte : principe, quelques exemples.
Être capable de prouver formellement la validité de ces analyses est
un pas supplémentaire pour la validation de calculs scientifiques :
ce thème sera abordé en fin de cours.
Bibliographie
-
D. Goldberg: What every computer scientist should know
about floating-point arithmetic, ACM Computing Surveys, vol 23, no
1, pp 5–48, 1991.
- W. Kahan: How Futile are Mindless Assessments of Roundoff in
Floating-Point Computations?, Householder Symposium XVI, May 2005,
http://www.cs.berkeley.edu/ wkahan/Mind1ess.pdf
- Ph. Langlois: Chap. 1 : Introduction générale, A. Barraud et
al.: Outils d'analyse numérique pour l'automatique, pp 19–52.
Traité IC2. Hermès Science, 2002.
- J.-M. Chesneaux et F. Jézéquel: Théorie et pratique de
l'arithmétique stochastique discrète, Réseaux et systèmes répartis
- calculateurs parallèles, vol 13, no 4-5, pp 485-504, 2001.
- P. Zimmermann: Arithmétique en précision arbitraire, Réseaux
et systèmes répartis - calculateurs parallèles, vol 13, no 4-5, pp
357–386, 2001. Également disponible sous forme de rapport de
recherche INRIA 4272 http://www.inria.fr/rrrt/rr-4272.html,
septembre 2001,
- G. Alefeld and G. Mayer: Interval analysis: theory and
applications, Journal of Computational and Applied Mathematics,
vol 121, pp 421–464, 2000.
- J. von zur Gathen and J. Gerhard: Modern Computer Algebra,
Cambridge University Press, 2nd edition, 2003.