Wave Equation Numerical Resolution: Mathematics and Program
Résumé
We formally prove the C program that implements a simple numerical scheme for the resolution of the one-dimensional acoustic wave equation. Such an implementation introduces errors at several levels: the numerical scheme introduces method errors, and the floating-point computation leads to round-off errors. We formally specify in Coq the numerical scheme, prove both the method error and the round-off error of the program, and derive an upper bound for the total error. This proves the adequacy of the C program to the numerical scheme and the convergence of the effective computation. To our knowledge, this is the first time a numerical analysis program is fully machine-checked.
Nous prouvons formellement le programme C implémentant un schéma numérique simple pour la résolution de l'équation des ondes acoustiques en dimension 1. Une telle implémentation introduit différents types d'erreurs : l'erreur de méthode due au schéma numérique et les erreurs d'arrondi dues aux calculs en virgule flottante. Nous spécifions formellement en Coq le schéma numérique, nous prouvons les deux types d'erreur et nous dérivons une majoration de l'erreur totale. Cela prouve l'adéquation du programme C avec le schéma numérique et la convergence des calculs effectifs. À notre connaissance, c'est la première fois qu'un programme d'analyse numérique est complètement vérifié mécaniquement.
Origine | Fichiers produits par l'(les) auteur(s) |
---|