Upload
gilberte-tanguy
View
107
Download
2
Embed Size (px)
Citation preview
Sûreté et validation des calculs numériques
GT identification 18/09/2003
Suzanne LESECQ
Laboratoire d’Automatique de Grenoble
GT identification
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
1.654789032457434 e-122.456893256787654e3…
???
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)
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
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
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
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…
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 ?
?
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)
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
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é
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)
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)
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
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
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
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
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 ?
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
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)
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.^
^
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 %
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
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
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
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
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
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
33