1 / 33

Sûreté et validation des calculs numériques

UMR 5528. UJF. GT identification. Sûreté et validation des calculs numériques. GT identification 18/09/2003 Suzanne LESECQ Laboratoire d’Automatique de Grenoble Suzanne.lesecq@inpg.fr. Plan. Introduction Quelques exemples simples… Les flottants Précision d’un résultat …

abena
Download Presentation

Sûreté et validation des calculs numériques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UMR 5528 UJF GT identification Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire d’Automatique de Grenoble Suzanne.lesecq@inpg.fr

  2. Plan • Introduction • Quelques exemples simples… • Les flottants • Précision d’un résultat … • Amélioration de la stabilité • Moindres carrées … • Estimation de la précision • Conditionnement • Méthode stochastique (RFPA) • Amélioration de la précision • Conclusion • Bibliographie

  3. Analyse de la sensibilité et de la précision 1.654789032457434 e-12 2.456893256787654e3 … ???

  4. si b>0, x₂=((-b-√(b²-4ac))/(2a)) sinon x₂=((-b+√(b²-4ac))/(2a)) x₁=(c/(ax₂)) Quelques exemples simples … (Algorithme instable) • Équation 2nd degré

  5. Quelques exemples simples … (Algorithme instable) • Intégration Démo

  6. Quelques exemples simples … • 2 difficultés fondamentales • Somme de 2 nombres d’ordre de grandeur très différent : « absorption » Exemple : 1.0100 + 1.01020 = 1.01020 • Soustraire 2 nombres proches  « élimination catastrophique » Exemple : 4.3765498 100 - 4.3765489 100 = 9.0000000 10-7 résultat avec 1 seul digit significatif !!! Démo Hilbert : calcul déterminant = pas de sens en machine !!!

  7. Max(size(O(C,A))*Max(svd)*eps Quelques exemples simples … • Observabilité • bioprocédé, benchmark COST624 • matrice A(13*13) matrice C(2*13) • Matrice d’observabilité Nature cyclique naturellement mal conditionnée

  8. Max(size(R))*Max(svd)*eps Max(svd)*eps Quelques exemples simples … • Matrice de Rosenbrock ( R ) Véritable difficulté à observer… Formes canoniques ? Non décidable !

  9. Raisonnement En précision infinie (C ou R) En base  = 10 Calcul en précision finie (ensemble F) En base  = 2 Propriétés non conservées associativité, distributivité Exemple : ? L’ensemble des flottantsF

  10. fl(a b) (a b)th fl(a b) a, b  F F 1+ 1 L’ensemble des flottants F Norme IEEE 754 -1985 • Hiérarchie de type • Clôture des opérations (1 résultat pour chaque opération) • Reproductibilité des calculs et « arrondi exact » (+, -, , /, ) • Fonctions « élémentaires » sin, cos, exp, log ? • Exemple (thèse D. Dufour, Laboratoire de l'Informatique du Parallélisme)

  11. Stabilité de l’algorithme Conditionnement du problème Stabilité numérique Conditionnement Précision d’un résultat … (1/4) Précision du résultat numérique ?

  12. y x = f(y) Erreur « inverse » Calculé Erreur « directe » y + y Précision d’un résultat … (2/4) • Relation entre erreurs directe et inverse • Sensibilité de la solution à des petites variations des données initiales • Prévoir, estimer la précision du résultat • Estimation du conditionnement • Méthodes directes : Arithmétique Stochastique ou autre… “Presque résolu” le problème posé Résout le “presque problème” posé

  13. a+b ? a-b ? … Sommes, Produits scalaires Précision d’un résultat … (3/4) • Stabilité Numérique • Algorithme déjà étudié ? • Problèmes potentiels simples • « Bonnes » bibliothèques, formulations • Outils spécifiques : PRECISE, CADNA Filtre de Kalman Intégration

  14. Précision d’un résultat … (4/4) précision    y Algorithme inverse-stable précision    eps { Résultat numérique , précision } Quelle confiance accorder à un résultat ? Combien de décimales exactes ? Prendre en compte la précision des mesures ? Influence de la précision du calculateur ? Le calcul a-t-il un sens ? Le problème est-il soluble sur la machine ?

  15. Amélioration de la stabilité des algorithmes (1/4) • Bibliothèques de calculs scientifiques • Slicot, lapack, blas … • Harwell, Imsl, Nag • TOMS le site netlib.org  le site niconet http://www.win.tue.nl/niconet/  les livres de N. Higham, A. Bjork, Daumas-Muller, Daumas-de Dinechin-Tisserand, Barraud …  toolboxs développées par des numériciens… (INRIA, LIP6,…) • Parfois, nécessité de développer un code sur mesure

  16. Amélioration de la stabilité des algorithmes (2/4) • Moindres carrés • Exemple 1 : m=6 et n=4 • Exemple 2 : m=10 et n=5  = 7.2e+009 standard factorisée valeurs théoriques 2.556460969463191e+0009.999999660352122e-001 1.000000000000000e+000 1.116948673663456e+000 9.999999972000330e-001 1.000000000000000e+000 1.012448795727427e+000 9.999999996848843e-001 1.000000000000000e+000 1.001309688495636e+000 9.999999999656054e-001 1.000000000000000e+000 1.000094610362988e+000 9.999999999974503e-001 1.000000000000000e+000  = 8.8e+005 standard factorisée valeurs théoriques 1.000000551687572e+000 1.000000000049787e+000 1.000000000000000e+000 1.000000098099040e+000 1.000000000008435e+000 1.000000000000000e+000 1.000000021901616e+000 1.000000000001821e+000 1.000000000000000e+000 1.000000003944129e+000 1.000000000000320e+000 1.000000000000000e+000

  17. Amélioration de la stabilité des algorithmes (3/4) • Factorisations de Cholesky, LU, SVD • Mise sous forme Schur, Schur généralisée • Algorithme du QR • Algorithme du QZ

  18. = Forme factorisée [Lesecq et al., 2002] t+1 Amélioration de la stabilité des algorithmes (4/4) • Filtre de Kalman • Forme factorisée • Approches ensembliste ellipsoïdale [Durieu et al., 1996] t

  19. ??? 1.654789032457434 e-12 2.456893256787654 e3 … • Autres approches ? Précision : quels moyens pour l’estimer ? (1/9) • Conditionnement  • Dépend du problème ! • Évaluation dépend de la solution !! • Difficulté de calcul !!! • Majorants… … Pessimisme

  20. Précision : à partir du conditionnement (2/9) • Des cas « simples » • Des problèmes moins simples • Équations de Sylvester AX+XB=C • Plusieurs estimateurs • Des problèmes difficiles • Équations de Riccati • … et tous les autres !!!

  21. Moyenne sur les différentes composantes Obtenu à partir de (Ghavimi-Laub) (1995) Pessimisme Précision : Sylvester (3/9)

  22. x 1. 2 3 5 7 ^ x1 1. 2 3 7 6 ^ x2 1. 2 3 6 8 Précision : approche probabiliste – 1 (4/9) • Pourquoi ? • Idée sous-jacente • Chiffres significatifs exacts (Chiffres/bits) • Qualité du résultat numérique • Estimation de l’erreur, pas de majorant • Méthode indépendante de l’algorithme 1974… …1992…

  23. Nombre de bits de la mantisse Résultat informatique Perdu lors des arrondis Dépend des données Moyenne Optimisme 1 chiffre = 0.54 ‰ Pessimisme de 1 chiffre = 29 % Écart type Précision : approche probabiliste – 2 (5/9) • Modélisation (Approximation au 1er ordre en 2-p) [Chesneaux] • Arrondi aléatoire  i v.a.i. uniformément distribuées [-1,1] • Test de Student :

  24. Inst. I NON Test i Inst. II1 OUI Inst. I+1 Précision : approche probabiliste – 3 (6/9) • Programmation des tests ? Même séquence de calculs • Arithmétique stochastique, zéro informatique (cf. déterminant) • Implantation • CADNA • Boite à outils Matlab RFPA • Non dédiée « Maths Applis » • Type rfpa > type double • Surcharge d’opérateurs • Fonctions built-in • Objectifs • Combien de décimales « justes » ? • Précision/imprécision des données en entrée 1.5  1.50  en machine 1.500000000000000 !!! • Codage des algorithmes : perte de précision ?

  25. Moyenne sur les différentes composantes Précision : approche probabiliste – 4 (7/9) • Application : équation de Sylvester AX+XB=C

  26. Précision : approche probabiliste – 5 (8/9) • Site CADNA http://www-anp.lip6.fr/cadna/ add-on à certains compilateurs Fortran/C (LINUX) • Définition de variables stochastique • Surcharge d’opérateur • Fichier « trace »

  27. Précision : approche probabiliste – 6 (9/9) • Application : Digestion anaérobie (SMC-LAG) • Système raide • Mal conditionné • Modèle algébro-différentiel • Dimension 41 (21 EDO + 20 eq. alg.) • Simulateur : instabilité ? • Réécriture • Méthodes d’intégration ad-hoc • Pertes de précision • « Localisées »

  28. Amélioration de la précision (1/3) • Raffinement itératif (portable !) [Barraud, 2002] • Calcul du résidu • non trivial • produit scalaire • arithmétique en précision finie • Produits scalaires en précision étendue CONVERGENCE de l’algorithme • Solution exacte • Problèmes linéaires

  29. Améliorer la précision (2/3) Eliminer les cas triviaux oui non FIN fullp X

  30. Améliorer la précision (3/3) • Exemple 1 • xnum = A\b • xexact = solution exacte (formelle) du problème en machine • xthéorique= solution exacte du problème posé • Résidu standard : b-Ax • s = 10, c = 1e-8 : non représentable en machine • s = 10, c = 1e+8 : représentable en machine • Exemple 2 • Interprétation de “résidu = 0” ?

  31. Conclusion • Stabilité des algorithmes • Bonnes bibliothèques • Sites web • Programmes spécifiques • Précision • Conditionnement • Systèmes équations linéaires • Sylvester/Riccati • Développement pour chaque problème… • Approche probabiliste

  32. Bibliographie

More Related