Sûreté et validation des calculs numériques

Slides:



Advertisements
Présentations similaires
Reconstitution de l’état d’un micro drone par fusion de données
Advertisements

LES NOMBRES PREMIERS ET COMPOSÉS
La Méthode de Simplexe Standardisation
Fabrice Lauri, François Charpillet, Daniel Szer
Licence pro MPCQ : Cours
Non linéarités liées à la thermique
Distance inter-locuteur
Résolution de problèmes et logiciel de calcul symbolique
Classification des signaux exemples de signaux réels
Analyse temps-fréquence
1/30 Rendu par tracé de chemins ESSI2 George Drettakis http: //www-sop.imag.fr/reves/George.Drettakis/cours/ESSI2/index.html.
Un exemple de système EDA d'index supérieur distillation réactive avec réactions chimiques instantanément équilibrées Dr. Karim Alloula (ingénieur informatique.
Calculs de complexité d'algorithmes
LE CALCUL LITTÉRAL AU COLLÈGE
Les Prepositions.
Unité #1 Analyse numérique matricielle Giansalvo EXIN Cirrincione.
1. Les caractéristiques de dispersion. 11. Utilité.
1 Intégration numérique garantie de systèmes décrits par des équations différentielles non-linéaires Application à l'estimation garantie d'état et de paramètres.
Estimation ellipsoïdale des paramètres dynamiques d'un robot
et évaluation des compétences
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
1 Efficient Data and Program Integration Using Binding Patterns Ioana Manolescu, Luc Bouganim, Francoise Fabret, Eric Simon INRIA.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Estimation ensembliste ellisoïdale : formulation factorisée
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Etienne Bertaud du Chazaud
MODÉLISATION DU TRANSPORT RÉACTIF EN MILIEU POREUX
Des RRA à la diagnosticabilité
Application des algorithmes génétiques
ASI 3 Méthodes numériques pour l’ingénieur
Classification Multi Source En Intégrant La Texture
Mise en situation... m g l = 1 m l2 = 1 Positions: Vitesses:
Pourquoi les réseaux de neurones de type « perceptron multicouche » conviennent-ils à l’apprentissage Stéphane Canu, INSA de Rouen , PSI André Elisseeff,
Cours de physique générale I Ph 11
ASI 3 Méthodes numériques pour l’ingénieur
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
Cours Corporate finance Eléments de théorie du portefeuille Le Medaf
Titre : Implémentation des éléments finis sous Matlab
Régression linéaire simple
LES NOMBRES PREMIERS ET COMPOSÉS
Réseaux de neurones.
1 Enseigner les mathématiques grâce à lenvironnement Cabri UREM UNIVERSITE LIBRE DE BRUXELLES 18 Avril 2007 Enseigner les mathématiques grâce à lenvironnement.
RACINES CARREES Définition Développer avec la distributivité Produit 1
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Génération d’un segment de droite
Les modèles linéaires (Generalized Linear Models, GLM)
Corrélation Principe fondamental d’une analyse de corrélation
Notre calendrier français MARS 2014
Titre : Implémentation des éléments finis en Matlab
3ème partie: les filtres
C'est pour bientôt.....
SUJET D’ENTRAINEMENT n°4
ASI 3 Méthodes numériques pour l’ingénieur
La régression multiple
ASI 3 Méthodes numériques pour l’ingénieur
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Equation différentielle
Equation différentielle de 2ème ordre
CALENDRIER-PLAYBOY 2020.
Suites numériques Définitions.
1 Une méthode itérative pour l'unfolding des données expérimentales, stabilisée dynamiquement(*) Bogdan MALAESCU LAL LLR 28/09/2009 (*arxiv: )
Les Chiffres Prêts?
Chapitre 3 :Algèbre de Boole
Rappels de statistiques descriptives
Transcription de la présentation:

Sûreté et validation des calculs numériques 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 UJF UMR 5528

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

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

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.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 !!!

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

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 !

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

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 » (+, -, , /, ) 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  2.2 10-16 =   10308 Fonctions « élémentaires » sin, cos, exp, log ? Exemple (thèse D. Dufour, Laboratoire de l'Informatique du Parallélisme) 1 1+

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

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é

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

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+000 9.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

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] =

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 1.654789032457434 e-12 2.456893256787654 e3 ??? … Autres approches ?

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

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

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 ^

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 %

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 ? Inst. I+1 Inst. II1 Inst. I Test i OUI NON

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

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

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

Bibliographie