La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Sûreté et validation des calculs numériques

Présentations similaires


Présentation au sujet: "Sûreté et validation des calculs numériques"— Transcription de la présentation:

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

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
???

4 Quelques exemples simples … (Algorithme instable)
Équation 2nd degré Numérique classique Théorique x1 e-10 x2 si b>0, x₂=((-b-√(b²-4ac))/(2a)) sinon x₂=((-b+√(b²-4ac))/(2a)) x₁=(c/(ax₂)) Numérique stable Théorique x1 e-010 e-10 x2

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 1020 = 1.01020 Soustraire 2 nombres proches  « élimination catastrophique » Exemple :  100 = 10-7 résultat avec 1 seul digit significatif !!! Démo Hilbert : calcul déterminant = pas de sens en machine !!!

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

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

9 L’ensemble des flottants F
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 : ?

10 L’ensemble des flottants F
Norme IEEE Hiérarchie de type Clôture des opérations (1 résultat pour chaque opération) Reproductibilité des calculs et « arrondi exact » (+, -, , /, ) s exposant mantisse F (a  b)th fl(a  b) a, b  F type taille mantisse exposant Précision machine Domaine de variation simple 32 23+1 8 2-24  1038 double 64 52+1 11 2-52  =   10308 Fonctions « élémentaires » sin, cos, exp, log ? Exemple (thèse D. Dufour, Laboratoire de l'Informatique du Parallélisme) 1 1+

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

12 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é Erreur « inverse » « directe » y y + y x = f(y) Calculé Résout le “presque problème” posé

13 Précision d’un résultat … (3/4)
Stabilité Numérique Algorithme déjà étudié ? Problèmes potentiels simples « Bonnes » bibliothèques, formulations a+b ? a-b ? … Sommes, Produits scalaires 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  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 e e e+000 e e e+000 e e e+000 e e e+000 e e e+000  = 8.8e+005 standard factorisée valeurs théoriques e e e+000 e e e+000 e e e+000 e e e+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 Amélioration de la stabilité des algorithmes (4/4)
Filtre de Kalman Forme factorisée Approches ensembliste ellipsoïdale [Durieu et al., 1996] t t+1 Forme factorisée [Lesecq et al., 2002] =

19 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 e-12 e3 ??? Autres approches ?

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 Précision : Sylvester (3/9)
Moyenne sur les différentes composantes Obtenu à partir de (Ghavimi-Laub) (1995) Pessimisme

22 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… x2 x1 x 8 6 3 2 1. 7 5 ^

23 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 : Résultat informatique Dépend des données Perdu lors des arrondis Nombre de bits de la mantisse Moyenne Écart type Optimisme 1 chiffre = 0.54 ‰ Pessimisme de 1 chiffre = 29 %

24 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   en machine !!! Codage des algorithmes : perte de précision ? Inst. I+1 Inst. II1 Inst. I Test i OUI NON

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

26 Précision : approche probabiliste – 5 (8/9)
Site 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 Stabilité des algorithmes Bonnes bibliothèques Sites web
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

33


Télécharger ppt "Sûreté et validation des calculs numériques"

Présentations similaires


Annonces Google