330 likes | 514 Views
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 …
E N D
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 … • 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
Analyse de la sensibilité et de la précision 1.654789032457434 e-12 2.456893256787654e3 … ???
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é
Quelques exemples simples … (Algorithme instable) • Intégration Démo
Quelques exemples simples … • 2 difficultés fondamentales • Somme de 2 nombres d’ordre de grandeur très différent : « absorption » Exemple : 1.0100 + 1.01020 = 1.01020 • 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 !!!
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
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 !
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
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)
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 ?
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é
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
… 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 ?
… 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
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
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
= 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
??? 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
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 !!!
Moyenne sur les différentes composantes Obtenu à partir de (Ghavimi-Laub) (1995) Pessimisme Précision : Sylvester (3/9)
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…
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 :
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 ?
Moyenne sur les différentes composantes Précision : approche probabiliste – 4 (7/9) • Application : équation de Sylvester AX+XB=C
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 »
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 »
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
Améliorer la précision (2/3) Eliminer les cas triviaux oui non FIN fullp X
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” ?
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