asi 3 méthodes numériques pour l’ingénieur résolution de systèmes linéaires par des...
TRANSCRIPT
![Page 1: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/1.jpg)
ASI 3
Méthodes numériquespour l’ingénieur
Résolution de systèmes linéaires par des méthodes directes :
Gauss, LU,
![Page 2: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/2.jpg)
Ax=b : un cas simpleA est une matrice diagonale
nia
bx
ii
ii ,1 ,
n
i
n
i
nn
ii
b
b
b
x
x
x
a
a
a
1111
000
00
0000
00
000
fait
àjusqu' 1pour
ii
ii a
bx
ni
Fonction x = diago(A,b)
problème
solution
Algorithme
![Page 3: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/3.jpg)
A est de forme triangulaire
1
1
1
1
11
i
jjiji
iii xab
ax
ab
x
n
i
n
i
nnnin
iii
b
b
b
x
x
x
aaa
aa
a
11
1
1
11
0
00
0
000
fait
omme
fait ommeomme
1 àjusqu' 1pour
omme
àjusqu' 2pour
11
11
iii
jij
i
as
x
xassij
bs
ni
ab
x
ommes
Fonction x = triang(A,b)
![Page 4: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/4.jpg)
Commentaires sur le programme « diago »
• Complexité ?
• Déterminant :
• que se passe t’il si A est triangulaire supérieure ?
• Exercice :
n
iiiaA
1)det(
Quels sont les âges d’Alice, de Louis, Sacha et Gaspar ?Sachant que trois fois la somme des âges des garçons est égale à la somme des âges des filles, que l’âge d’Alice moins trois fois la somme des âges de Louis et de Sacha est égal à moins neuf, que trois fois l’âge de Louis est égal à vingt sept, et que l’âge de Louis moins deux fois l’âge de Sacha est égal à 3.
![Page 5: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/5.jpg)
Pivot de Gauss4 principes fondamentaux
On ne change pas la solution lorsque l’on :
1. permute 2 lignes
2. permute 2 colonnes
3. divise par un même terme non nul les éléments d’une ligne
4. ajoute ou retranche à une ligne un certain nombre de fois une autre ligne
Stratégie : Transformer le système linéaire en un système équivalent … facile à résoudre
Triangulaire !
![Page 6: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/6.jpg)
Pivot de Gauss : un exemple
6 2
8 2 3
0 3
6242
432
4321
421
321
xxx
xxxx
xxx
xxx
pivot (1)
![Page 7: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/7.jpg)
Pivot de Gauss : un exemple
6 2
8 2 3
0 3
6242
432
4321
421
321
xxx
xxxx
xxx
xxx
(2) = (2)-a21/pivot (1)
![Page 8: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/8.jpg)
Pivot de Gauss : un exemple
6 2
8 2 3
0 3
6242
432
4321
421
321
xxx
xxxx
xxx
xxx
6 2
8 2 3
3 0
6242
432
4321
432
321
xxx
xxxx
xxx
xxx
(2) = (2)-a21/pivot (1)
![Page 9: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/9.jpg)
Pivot de Gauss : un exemple
6 2
8 2 3
0 3
6242
432
4321
421
321
xxx
xxxx
xxx
xxx
6 2
71 2 4 7 0
3 0
6242
432
432
432
321
xxx
xxx
xxx
xxx
(3) = (3)-a31/pivot (1)
Le première variable à été éliminée de toutes les équations sauf une
![Page 10: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/10.jpg)
1. Triangularisation
2. Résolution du système triangulaire
L’algorithme du pivot de Gauss
A x = b
fait problème""sinon fait
fait
àjusqu' 1pour
àjusqu' 1pour
alors 0 si
*)pivot de stratégie (*
1 àjusqu' 1pour
kjik
ijij
kik
ii
kk
apivot
aaa
nkj
bpivot
abb
nki
pivot
apivot
nk
Fonction A,b = descent(A,b)
![Page 11: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/11.jpg)
Gauss : résolution d’un système triangulaire
1
1
n
ijjiji
iii
n
nn
xaba
x
a
bx
n
i
n
i
nn
inii
ni
b
b
b
x
x
x
a
aa
aaa
111111
000
0
00
0
fait
omme
fait ommeomme
àjusqu' 1pour
omme
1 àjusqu' 1pour
iii
jij
i
nn
nn
as
x
xassnij
bs
ni
a
bx
ommes
Fonction x = triang(A,b)
![Page 12: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/12.jpg)
Gauss
U,c = descent(A,b)
x = triang(U,c)
Fonction x = Gauss(A,b)
![Page 13: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/13.jpg)
RemarquesChoix du pivot : minimiser les erreurs d’arrondis si un pivot est nul, on permute deux lignes si tous les pivots restant sont nuls la matrice est singulière (i.e. le système d’équations n’admet pas de solution unique)
pour minimiser les erreurs d’arrondis : on choisi le plus grand pivot possible (en valeur absolue) et donc on permute les lignes (voir les colonnes associées) c’est la stratégie du pivot maximal (partiel (lignes) ou total)
Comment inverser une matrice ? Avec l’algorithme de gauss on peu résoudre directement
déterminant d’une matrice = produit des pivots
IAAcbAzcAybAx
1 : doncet ; et
![Page 14: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/14.jpg)
Exemple
2
1
11
110 4
x
Trouver x en ne gardant que 4 chiffres significatifs après la virgule
44
44
102
1
1010
110 ,10: xpivot
edddd 10 .0 :tionreprésenta
1
0
10
1
100
11044
4
xx
Que se passe t’il si on prend le système à l’envers...
![Page 15: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/15.jpg)
Exemple
2
1
11
110 4
x
Trouver x en ne gardant que 4 chiffres significatifs après la virgule
44
44
102
1
1010
110 ,10: xpivot
edddd 10 .0 :tionreprésenta
1
0
10
1
100
11044
4
xx
Que se passe t’il si on prend le système à l’envers...
![Page 16: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/16.jpg)
; ; :ement matriciell
,...,1pour
,...,1pour
)()()1()()()1(
)()(
)()()1(
)()(
)()()1(
kkkkkk
kkk
kk
kikk
ik
i
kkjk
kk
kikk
ijk
ij
bMbAMA
ba
abb
nkjaa
aaa
nki
Représentation matricielle de l’élimination de Gauss
LcbLUA
LcUxbAx
et
: que telle matrice la rechercheon
A chaque étape de l’algorithme...
![Page 17: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/17.jpg)
Les cas du second membre b
; :ement matriciell )()()1(
)()(
)()()1(
)()(
)()()1(
)()(
)(,1)(
1)1(
1
)()1(
)(1
)1(1
kkk
kkk
kk
knkk
nk
n
kkk
kk
kikk
ik
i
kkk
kk
kkkk
kk
k
kk
kk
kk
bMb
ba
abb
ba
abb
ba
abb
bb
bb
1000
0
100
0010
0001
;
,
,1
)(
kn
kk
k
kk
ikik
m
m
M
a
am
M (k) ?
![Page 18: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/18.jpg)
Les cas du second membre b
; :ement matriciell )()()1(
)()(
)()()1(
)()(
)()()1(
)()(
)(,1)(
1)1(
1
)()1(
)(1
)1(1
kkk
kkk
kk
knkk
nk
n
kkk
kk
kikk
ik
i
kkk
kk
kkkk
kk
k
kk
kk
kk
bMb
ba
abb
ba
abb
ba
abb
bb
bb
1000
0
100
0010
0001
;
,
,1
)(
kn
kk
k
kk
ikik
m
m
M
a
am
![Page 19: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/19.jpg)
Factorisation
1000
0
100
0010
0001
;
; ; :ement matriciell
,
,1
)(
)()()1()()()1(
kn
kk
k
kk
ikik
kkkkkk
m
m
Ma
am
bMbAMA
LUAML
UMAAM
AMMMMAMM
AMAU
M
nn
nnn
nnn
aon posant en
...
1
1
)1()2()2()1(
)2()2()1(
)1()1()(
![Page 20: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/20.jpg)
LU : motivation
On connaît la matrice A
on ne connaît pas encore b
comment « préparer A » ?
![Page 21: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/21.jpg)
LU : principeIl est si facile le résoudre un système « triangulaire » !
)2(
)1(
yUx
bLybAx
LUA
L
U
A0
0Comment construire Let U ?
idée : reprendre l’étape de triangularisation de la méthode de Gauss
![Page 22: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/22.jpg)
De Gauss à LU
UAAAAMA nkkk )()1()()()1( et
Représentons une étape de la triangularisation par la multiplication de A par une matrice M(k)
kjkk
ikijij
kkk
ikii
aa
aaa
ba
abb
100
0100
0
001
,
,1
)(
,,
kn
kk
k
kikk
ikki
M
ma
a
1
1
)1()()1(
donc
......
ML
LUUMA
MAAMMMU kn
gauss
![Page 23: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/23.jpg)
LU : la décompositionLes matrices élémentaires M(k) sont inversibles et leurs inverses sont les matrices L(k) triangulaires inférieurestelles que :
,n kil
nil
l
L
ikik
ii
ijk
1 sauf
,1 1 sauf
0 )(
IMIL kk )()(
100
0100
0
001
,
,1
)(
kn
kk
kM
100
0100
0
001
,
,1
)(
kn
kk
kL
)1()()1( ...... LLLL kn C’est la matrice lik
![Page 24: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/24.jpg)
L’algorithme de décomposition
fait problème""sinon fait
fait
àjusqu' 1pour
àjusqu' 1pour 1
alors 0 si
*)pivot de stratégie (*
1 àjusqu' 1pour
kjikijij
ikik
kk
kk
aaankj
pivot
anki
pivot
apivot
nk
Fonction L,U = décompose(A)
![Page 25: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/25.jpg)
Exemple
2
1
2
1
12
121
11
12
1
111
122
121
Montrez que :
![Page 26: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/26.jpg)
LU : l’algorithme
L,U = decompose(A)
y = triang(L,b)
x = triang(U,y)
Fonction x = LU(A,b)
![Page 27: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/27.jpg)
A=LU
n
ii
n
iiiuUULLUA
11pivot)det()det()det()det()det(
Théorème : Si au cours de l’élimination de Gauss sur la matrice A, les pivots sont non nuls,
alors il existe une matrice triangulaire inférieure L et une matrice triangulaire supérieure U, telle que :
A = LUsi de plus on impose à L d’avoir les éléments diagonaux égaux à un alors la factorisation est unique
LUUMA
MAAMMMU kn
1
)1()()1(
......Démonstration : (éléments)
unicité : par l’absurde
Remarque : (déterminent)
![Page 28: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/28.jpg)
A=LUThéorème : Si au cours de l’élimination de Gauss sur la matrice A, les pivots sont non nuls,
alors il existe une matrice triangulaire inférieure L et une matrice triangulaire supérieure U, telle que :
A = LUsi de plus on impose à L d’avoir les éléments diagonaux égaux à un alors la factorisation est unique
11
20A
Contre exemple trivial :
Réorganisation du système linéaire : permutation des lignes et des colonnes
RECHERCHE DU MEILLEUR PIVOT
![Page 29: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/29.jpg)
La factorisation PA=LU
Définition : Si la matrice A, est non singulière alors il existe une matrice de permutation P telle que les pivots de PA sont non nuls. (TL chapitre 4)
)2(
)1(
yUx
PbLybAx
LUPAL,U,P = decompose(A)
y = triang(L,P*b)
x = triang(U,y)
Fonction x = LU(A,b)
Si est égal à zéro,on échange (permute) deux lignes
kka
Matlab !
![Page 30: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/30.jpg)
PA=LU : étape k
UAAAAPMA
Ankkkk
k
)()1()()()()1(
)(
et avec
matrice la permuteon étape chaqueAvant
Théorème : Si la matrice P (k), est la matrice de permutation des colonnes p et q
alors
10000
0
1
00
1
10
00
0001
~
1000
0
1
10
0
001avec ~ encoreou
~~ ;
)()(
)()()()(
)()()()(
a
bL
b
aL
LPPLPLPLki
ii
ikki
kiki
q
p
k
![Page 31: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/31.jpg)
PA=LU
ULPA
ULPA
PPLPPL
ULLLPPPULPLPLPA
APMPMPMAU
APMA
A
kkk
nknk
nnkk
kknnn
kkkk
k
~et
~ :oud'
~posant en
~~~
: algorithmel'pour tout soit
matrice la permuteon étape chaqueAvant
)1()()()()1(
)1()()1()1()()1(
)1()1()()()1()1(
)1()1()()()1()1()(
)()()()1(
)(
A expliquer !
![Page 32: ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes directes : Gauss, LU,](https://reader036.vdocuments.fr/reader036/viewer/2022062303/551d9dd8497959293b8e7017/html5/thumbnails/32.jpg)
• Si on a pas besoin de permutation : – on peut faire plus « efficace »
• sinon– pivot partiel :
permutation de colonnes
– pivot total : permutation de ligne et de colonnes (plus cher)
• préconditionnement ou Equilibrage d’un système linéaire– Modifier le système d’équations pour diminuer les risques
d’erreurs
• Amélioration itérative
Choix du pivot
~ alors ~~
~ ; \ ; \
rrxAbr
exxrAeAxbrbAx