Mon ordinateur calcule faux : comment borner l'erreur ?

De Ensiwiki
Aller à : navigation, rechercher


Mon ordinateur calcule faux : comment borner l'erreur ?

Labo VERIMAG
Equipe Tempo
Encadrants victor.magron@imag.fr

Thème général

Dans cet IRL, on s'intéresse à l'erreur commise par l'ordinateur lorsqu'on exécute un programme qui implémente une fonction mathématique avec une précision finie.

De manière générale, les ordinateurs ne calculent pas juste. Chaque calcul est effectué avec un certain nombre de chiffres fixé et le résultat doit souvent être arrondi. Cela crée une erreur minime à chaque calcul, mais ces erreurs peuvent s'accumuler dans certains cas. Une solution à ces problèmes est l’utilisation d’outils (d'autres programmes) pour vérifier des programmes et des preuves, ce qui permet de certifier la justesse de ces derniers.

Sujet

L'objectif de ce travail est double :

1) reformuler le calcul de la borne d'erreur flottante comme un problème aux valeurs propres généralisé. En particulier, le calcul d'une plus grande valeur propre donnera une borne certifiée de l'erreur flottante.

2) implémenter une routine dans un langage choisi pour résoudre ce problème de valeurs propres (par exemple avec la librairie eigifp dans Matlab).

Compétences attendues

Programmation en C/C++/Matlab/OCaml selon la préférence du candidat Bases d'algèbre linéaire Compétences en optimisation convexe, approximations linéaires selon l'intérêt du candidat

Résultats attendus

1) Reformulation théorique du problème

2) Implémentation pratique

Contexte du travail

L'IRL se déroulera dans l'équipe Systèmes Temporels et Hybrides (Tempo) du laboratoire Vérimag. La thématique peut s'appliquer à l'analyse d'erreurs de programmes nonlinéaires couramment utilisés en contrôle, biologie, physique et en optimisation. La routine implémentée pourra éventuellement constituer une procédure de décision pour des preuves assistées par ordinateur.