ASI 3 Méthodes numériques pour l’ingénieur
description
Transcript of ASI 3 Méthodes numériques pour l’ingénieur
ASI 3
Méthodes numériquespour l’ingénieur
Résolution de systèmes linéaires par des méthodes itératives :
Jacobi, Gauss Seidel, relaxation
Résoudre un système linéaire
6 2
8 2 3
0 3
6242
432
4321
421
321
xxx
xxxx
xxx
xxx
bAx
ii
n
ijjjiji
i a
xab
x
xxx
xxxx
xxx
xxx
AAdistbxA
xxxx
,1
324
4213
412
321
4321
~
soit
1
~2~61
~2~~38
3
~~0
2
~2~46
:essayait on si
~, exemplepar avec
~~~ que imaginons
solution presque"" une ~,~,~,~soit
Résoudre un système linéaire en itérant
ii
n
ijjjiji
i a
xab
x
xxx
xxxx
xxx
xxx
,1
324
4213
412
321
~
soit
1
~2~61
~2~~38
3
~~0
2
~2~46
Si Ax n’est pas encore égale à b, on recommence !
fin
)10 ( ),( quetant
,1
old
new
12-
ii
n
ijjjiji
i
new
a
xab
x
i.e.bAxdist
Osons itérer ! méthode de Jacobi
fin
)10 ( ),( quetant
,1
old
new
12-
ii
n
ijjjiji
i
new
a
xab
x
i.e.bAxdist
Soit D la diagonale de la matrice A, et G le reste :A = D+G
old1newoldnew
1,1
,11,
,,11,1
,121
111211
0
0
0
0
0
0000
0000
0000
0000
0000
GxbDxGxbDx
aaa
aa
aaaa
aa
aaa
G
a
a
a
D
nnnin
nnii
niiiiii
ii
ni
nn
ii
6 2
8 2 3
0 3
6242
432
4321
421
321
xxx
xxxx
xxx
xxx
bAx
ii
n
ijjij
i
jjiji
i a
xaxab
x
xxx
xxxx
xxx
xxx
1
1
1
324
4213
412
321
~
soit
1
261
~238
3
~0
2
~2~46
Gauss Seidel
méthode de Gauss-Seidel
fin
)10 ( ),( quetant
1
old1
1
new
new
12-
ii
n
ijjij
i
jjiji
i
new
a
xaxab
x
i.e.bAxdist
Soit E la triangulaire inférieure et F la supérieure de la matrice A :A = D+E+F
old1newoldnew
,1
,,1
,1
1112
1,1
1,
1,1
21
0000
00
000
00
0
0
00
000
00
0000
FxbEDxFxbxED
a
aa
a
aaa
F
aaa
a
aa
a
E
nn
niii
ii
ni
nnnin
ii
iii
La relaxation
relaxation de paramètre:0
)1(
oldnewnew
r
oldnew
xxx
xx
tionextrapolla :2,1
quo status :1
tioninterpolla :1,0
old
oldold1
old
oldold1
1
1
1
par t multiplianen
1
xFDbxED
xFxbEDx
xGDbDx
D
xGxbDx
newr
newr
newr
newr
old1new
old1new
: SeidelGauss
)( :Jacobi
FxbEDx
xFEbDx
Résumé « algorithmique »
FDN
EDMxFDbxED
R
FN
EDMFxbxED
FEN
DMxFEbDx
bNxMx
1
1old1new1
oldnew
oldnew
oldnew
:
:elaxation
:
: SeidelGauss
:)(
:Jacobi
ConvergencePrincipes généraux
dxCI
xx
C
dCxx
xkk
*
*
0
1
0
: desolution la vers pour tout converge dessusci algorithmel' Alors
1 que telleesubordonné ematriciell norme une existe ilS':
donné,
Théorème
Éléments de démonstration- x* est un point fixe de l’algorithme-
0 ,1 si
* C *
*
00
1
011
k
kkkk
k
kkkk
kk
CCeCeCexxC
eCeedCxdCxxxe
ini
n
ii
n
i
pi
pp
n
ii
n
xxxxpxxxx
REynxnyxn
xnxn
xxn
xn
xnx
REn
,111
11
222
sup ; ; )1( ;
; exemples
)()()(
)()(
00)(
positivité 0)(
iant vérif)(
::norme
Normes matricielles
DéfinitionSoit A une matrice nxm, étant donnée une norme vectorielle,on appelle norme matricielle subordonnée, la norme matricielledéfinie par :
x
AxA
xRx n 0,max
xAxAx ~ ~:max ceest ~ Conséquence :
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
Ax
Exemples
'
; max ; max
; tr :Frobénius de norme
1
11111
1
2
1
2
AA
aAaA
A'AaA
m
jij
ni
n
iij
mj
n
iij
m
jF
AxAxRx n 1,
max
Illustration 2d
12 x
x1
x2 x2
Ax
x1
2A
à utiliser pour le calcul !
Calculez les valeurs propres de
111
110
201
Et ses vecteurs propres ?
,31,31,1 321 ii
1
,
1
,
0
1
1
3
33
32
33
33
32
21
i
i
i
i
vvv
Rayon spectrale d’une matriceDéfinition : on appelle rayon spectrale d’une matrice carrée A, le nombre réel (A) tel que :
)(max,1
AA ini
Théorème : soit A une matrice nxm, alors :
AAA '22
Corollaire : si A est une matrice carrée symétrique nxn, alors :
AA 2
Remarque : en général, le rayon spectrale n’est pas une norme :
0,01 , 00
102
AAA
Convergence : le retourPrincipes généraux
dxCI
xx
C
dCxx
xkk
*
*
0
1
0
: desolution la vers pour tout converge dessusci algorithmel' Alors
1 que telleesubordonné ematriciell norme une existe ilS':
donné,
Théorème
Théorème : les points suivants sont équivalents : • C est une matrice convergente, (i.e. Ck tend vers 0)• (C)<1• 1C
Résumé « algorithmique »
FDN
EDMxFDbxED
R
FN
EDMFxbxED
FEN
DMxFEbDx
bNxMx
1
1old1new1
oldnew
oldnew
oldnew
:
:elaxation
:
: SeidelGauss
:)(
:Jacobi
Convergence
Théorème : Si A est une matrice à diagonale strictement dominante, alors la méthode de Jacobi converge.
Démonstration
11
max)(
, )( avec
)( :Jacobi
1,1
1
11k1k
k11k
n
jij
iinia
aFEDC
bDdFEDCdCxx
xFEbDx
Remarque : il en est de même pour la méthode de Gauss-Seidel
ConvergenceThéorème : soit une méthode itérative : Si A est une matrice symétrique définie positive telle que si A = M-N alors M+N’ est définie positive
Alors la méthode itérative est convergente
Démonstration
1max : donc aon
''''''
'''''
posons
' positive définie symétrique
1
1,
1221
22
2221
1
212121
2
AxxAAA
AA
AAA
AAA
A
NxMNMxAxMx
yNMyxAyyMyyyMyx
AyyAxyAyxxAyxAyxyxAxMx
AxMyAxMy
AxMxxAMMNxM
AxxxA
A
Théorème : Si A est une matrice symétrique définie positive, la méthode de la relaxation converge pour :
k1k bNxMx
20
0 2
1
rayo
n sp
ectr
alrayon spectral de la matrice M-1N
Influence de w
Remarques
pratique :
• pas de preuve de convergence généralisée,
• on préfère la relaxation avec différents tests pour
• on préfère les méthodes directes,
• voir les méthodes semi directes pour les problèmes de grande taille (cf les méthodes « multigrilles »),
Conditionnement d’un système linéaire
2et 0002.0
0002.0 0
00
0
3
1
1
solutionsdeux examinons
3
3
20001.1
21
2
1
2
1
2
1
yxrr
bAyr
bAxr
y
yy
x
xx
x
xbAx
yx
Ty
Tx
Deux vecteurs très différents donnent des solutions très proches
x2
x11
1
3
Conditionnement : influence du second membre
7363)(:007.0,1.24
6.22 10 7.3 :
0.26
6.5
0.11
5.34
,
9.22
1.28
9.12
1.38
1
1
1
1
solution commeadmet ,
23
28
13
38
,
7187
74107
1651
1010108
41
3
Acond
x
x
b
bxxbb
xbA
~
singulièrenon ~ ~
)(~ avec ~
1
1
rAxx
ArAxxxxA
xxxxAAx
bbbr
ConditionnementDéfinition : on appelle conditionnement d’une matrice carrée A, relatif à une norme subordonnée, le nombre réel (A) :
1 AAA
Remarque : 1 11 AAAAAI
Théorème : Si A est une matrice carrée, non singulière (régulière)
b
bA
x
x
bbxxAbAx
,
A
AA
xx
x
bxxAAbAx
,
Perturbation du second membre Perturbation de la matrice
Un problème est dit « bien conditionné » si (A) est proche de 1,
il est dit « mal conditionné » si (A) est grand (et mal posé si (A) est infini)
Conditionnement
b
bAA
x
x
bAxxAbbbxxA
bA
xxAbbAx
1
1
)2 )1
)2
11
)1
1 AAA
Remarque : si A est symétrique, si on note ses valeurs propres i
1
2
22
1
121
doncet
1
,,...,,...,,
n
nni
A
AA
Dans l ’exemple, 22.5) trouvéa(on 2.27 de ordrel' deest erreur l' de borne la
0037.0,7363
2
2
bA
bA
Comment améliorer le conditionnement ?
Ajouter un « chouia » sur la diagonale
1
2 nIA
Itérations !A = randn(n);b= ones(n,1);x = A\b;err = A*x-b; norm(err)
ans = 2.8246e-013
dx = A\err;
err2 = A*(x-dx)-b;norm(err2)
ans = 6.4789e-014
xAbbxA
bxxA
bxAerr
bAgaussx
bAx
~~
~
~),(~
TP - la relaxationLe but du TP est d’écrire un programme matlab résolvant un système linéaire par la méthode de la relaxation
x = relax(A,b,w,nite,err)
Pour ce faire, il faut étudier l’évolution du rayon spectal
- mettez vous par binôme- rédigez une page : recto : ce que vous avez fait verso ce que vous en pensez- a rendre pour le 8 décembre à 17h30 (publication du corrigé)
Indices : créer un problème test,
les fonction cputime et flops tril et triu pourraient vous simplifier la vie et diag(diag()) et eig aussi
defonction en 1 NM
PropriétésDéfinition : on appelle quotient de Rayleigh la fonction qA(x)
xxAxx
xqA ''
)(
Théorème : si A est symétrique,
)(maxmax xqAx
ii
i est une valeur propre de A, vi est un vecteur propre de A.
iii vvA
Soit A une matrice carrée, on appelle polynôme caractéristique de A le polynôme défini par :
IAp det)(
Les n racines i de ce polynôme sont les valeurs propres de A, vi est un vecteur propre de A. Il existe n vecteurs vi tels que :