sûreté et validation des calculs numériques gt identification 18/09/2003 suzanne lesecq...

33
Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire d’Automatique de Grenoble [email protected] GT identification UJF UMR 5528

Upload: gilberte-tanguy

Post on 03-Apr-2015

107 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

Sûreté et validation des calculs numériques

GT identification 18/09/2003

Suzanne LESECQ

Laboratoire d’Automatique de Grenoble

[email protected]

GT identification

UJF UMR 5528

Page 2: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

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

Page 3: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

3

Analyse de la sensibilité et de la précision

1.654789032457434 e-122.456893256787654e3…

???

Page 4: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

4

Numérique classique Théorique

x1 0 -9.31322574615478516432793566942...e-10

x2 -1.07374182400000+009 -1073741823.99999999906867742539

Numérique stable Théorique

x1 -9.313225746154785e-010 -9.31322574615478516432793566942...e-10

x2 -1.07374182400000+009 -1073741823.99999999906867742539

• Équation 2nd degré

si b>0, x₂=((-b-√(b²-4ac))/(2a)) sinon x₂=((-b+√(b²-4ac))/(2a))x₁=(c/(ax₂))

Quelques exemples simples … (Algorithme instable)

Page 5: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

5

Quelques exemples simples … (Algorithme instable)

• Intégration

11 1

1

algorithme instable : 1 ,

1algorithme stable : , 0,

n n

nn m

I nI I e

II I m n

n

11

0

n tnI t e dt Démo

Page 6: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

6

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

y x

0 x y x y

Page 7: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

7

0 2 4 6 8 10 12 1410

-10

10-5

100

105

1010

1015

1020

1025

valeurs singulières de la matrice d'observabilité

Quelques exemples simples …

• Observabilité– bioprocédé, benchmark COST624

– matrice A(13*13) matrice C(2*13)

– Matrice d’observabilité

min max

6.1 7

min( ( )) 0

max( ( )) 1.0 3

( ) 2.7 5 ( )

A e

abs A

abs A e

svd A e svd A

1

( , ) ( , )

( , ) 5

n

C

CAO A Cobs A

CA

rank O A

C

C

Max(size(O(C,A))*Max(svd)*eps

Nature cyclique naturellement mal conditionnée

Page 8: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

8

Quelques exemples simples …

– Matrice de Rosenbrock

0 20 40 60 80 100 120 140 160 18010

-15

10-10

10-5

100

105

valeurs singulières de la matrice de Rosenbrock

(169*182)R

T

T

T

T

T T

I 0 C

-A I

-A

I C

0 -A C 0

167 (167 /1( 3 12) ).8rank R

Max(size(R))*Max(svd)*eps

( ) 168rank R

Max(svd)*eps ?Formes canoniques

12 00no

oo

A AA C C

A

Non décidable !

( R )Véritable difficulté

à observer…

Page 9: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

9

L’ensemble des flottants

• Raisonnement – En précision infinie ( ou )– En base = 10

• Calcul– en précision finie (ensemble )– En base = 2

– Propriétés non conservées

associativité, distributivité

Exemple : 1 22

1 ... 2 , 2, 3, 1 32 2 2

s ett

dd dy t e

1 1 3Nombres positifs 0, , , , ,6,7

16 8 16y

0 1 2 3 4 5 6 7

1.5 3 ?0.75 5 ?

?, sin ?

?

Page 10: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

10

L’ensemble des flottants

– Hiérarchie de type

– Clôture des opérations (1 résultat pour chaque opération)

– Reproductibilité des calculs et « arrondi exact » (+, -, , /, )

type taille mantisse exposant Précision machine Domaine de variation

simple 32 23+1 8 2-24 1038

double 64 52+1 11 2-52 2.2 10-16 = 10308

s exposant mantisse

(a b)th

fl(a b) fl(a b)a, b

Norme IEEE 754 -1985

1 1+

– Fonctions « élémentaires » sin, cos, exp, log ?• Exemple (thèse D. Dufour, Laboratoire de l'Informatique du

Parallélisme)

Page 11: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

11

Stabilité de l’algorithme

algorithme inverse-stable :

x̂ x x f y y

Erreur inverse

y+y

y x=f(y)

Erreur directe

f

f f ̂

x=f(y+y) ^

Conditionnement du problème

2

Hypothèses : , 0, dérivable

ˆ, 0

x y f

x x yf y y

x y

Précision d’un résultat … (1/4)

Précision du résultat numérique ?

Stabilité numérique

Conditionnement

Page 12: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

12

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

Erreur « inverse »

Erreur « directe »

y

y + y

x = f(y)

x̂ f y y

Calculé

Précision d’un résultat … (2/4)

Résout le “presque problème”posé

“Presque résolu”le problème posé

Page 13: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

13

• Stabilité Numérique– Algorithme déjà étudié ?

– Problèmes potentiels simples

– « Bonnes » bibliothèques, formulations

Filtre de KalmanIntégration

a+b ? a-b ? …Sommes, Produits scalaires

– Outils spécifiques : PRECISE, CADNA

Précision d’un résultat … (3/4)

Page 14: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

14

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

Précision d’un résultat … (4/4)

Page 15: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

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

Page 16: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

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

1 1

2ˆ arg min ( )

0

T T

xx Ax b A A A b U c

U cA b

d

H

36 -630 3360 -7560

-630 14700 -88200 211680

3360 -88200 564480 -1411200 A=

-7560 211680 -1411200

3396

-88830

567840;

3628800 -1418760

7560 -220500 1512000 -3969000 1519560

-2772 83160 -582120 1552320 -584892

b

= 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

= 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

Page 17: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

17

0

AA AZ

Q

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

0

BB BZ

Q

0

A R

Q

Page 18: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

18

• Filtre de Kalman– Forme factorisée

• Approches ensembliste ellipsoïdale[Durieu et al., 1996]

Amélioration de la stabilité des algorithmes (4/4)

t+1

t

1 1

11 1 1

21 1 1

1

ˆ ˆ ˆ1 , 0,1

ˆ ˆ1

ˆ ˆ ˆ1

ˆ1

Tt t t

t t t t t

T Tt t t t t t

t

N M d d

c N M c d y

c M c y c Nc

M N

Forme factorisée[Lesecq et al., 2002]

=ˆ tM TtX tX

Page 19: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

19

précision

Majorant

eps

eps

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-122.456893256787654 e3

???

…• Autres approches ?

Page 20: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

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

maxmin

min

( ) 0

A

cond A avec

x b

Page 21: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

21

Précision : Sylvester (3/9)

4

0 1 1 10 1 1

0 10 0

2 0 0 01 2 0 01 1 2 01 1 1 2

(4) exactement représentable en machine

T

k

kT

k

k

A Q Q

B Q Q

C onesX

Pessimisme

Moyenne sur les différentes composantes

Obtenu à partir de (Ghavimi-Laub) (1995)

Page 22: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

22

Précision : approche probabiliste – 1 (4/9)

• Pourquoi ?

• Idée sous-jacente

• Chiffres significatifs exacts

(Chiffres/bits)

Qualité du résultat numériqueEstimation de l’erreur, pas de majorantMéthode indépendante de l’algorithme

1974……1992…

1,...,ˆ Calculer par un programme

( )

Comparer les résultats

i

Pour i Nx

FinPourN

propagation des erreurs

x2

x1

x

86321.

67321.

75321.^

^

Page 23: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

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 :

1

ˆ 2n

pi i

i

x x g d

Résultat informatique

Dépend des données

Perdu lors des arrondis

Nombre de bits de la mantisse

3Pr Pr 1

5%1

t t s Nx x x x

N N

10logx

NC

t

x

Moyenne

Écart type

Optimisme 1 chiffre = 0.54 ‰Pessimisme de 1 chiffre = 29 %

Page 24: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

24

ˆix

ˆ jx

• Programmation des tests ? Même séquence de calculs– Arithmétique stochastique, zéro informatique (cf. déterminant)

Précision : approche probabiliste – 3 (6/9)

• 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

Page 25: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

25

4

0 1 1 10 1 1

0 10 0

2 0 0 01 2 0 01 1 2 01 1 1 2

(4) exactement représentable en machine

T

k

kT

k

k

A Q Q

B Q Q

C onesX

Précision : approche probabiliste – 4 (7/9)

• Application : équation de Sylvester AX+XB=C

Moyenne sur les différentes composantes

Page 26: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

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 »

Page 27: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

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 »

Page 28: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

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

Ax br b x A

1

j n

i i ij jj

r b A x

AXB CXD E A XA X CT A X XA CT

AX XB C

Page 29: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

29

Améliorer la précision (2/3)

C alcu le r le rés idu en p réc isio n é tend uer(i)=b -Ax(i)

R éso ud reA d (i)= r(i) --> d (i)

x (i+ 1)= x (i)+ d (i)i= i+1

co nd itio ns d 'a rrê t?

C a lcu le r le rés idu en p réc isio n é tend uer(0 )= b-A x(0)

R éso ud reA x(0)= b --> x (0)

nonoui

Eliminer lescas triviaux

FINfullp

X

Page 30: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

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

Page 31: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

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

Page 32: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

32

Bibliographie

Page 33: Sûreté et validation des calculs numériques GT identification 18/09/2003 Suzanne LESECQ Laboratoire dAutomatique de Grenoble Suzanne.lesecq@inpg.fr GT

33