ASI 3
Méthodes numériques pour 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
6 2
4 2
4 3
2
4 3
2 1
4 2
1
3 2
1
x x
x
x x
x x
x x
x
x x
x b
Ax
ii n
i j
j ij j
i
i a
x a b
x x
x x
x x
x x
x x x
x x x
A A dist b
x A x x x x
, 1
3 4 2
4 2
3 1
4 2 1
3 1 2
4 3 2 1
~ soit
1
2~
6 ~ 1
2~
~ 3~
8
3
~ 0 ~
2
2~ 4~
6
: essayait on
si
, ~ exemple
par
avec
~ ~ que ~
imaginons
solution presque"
"
~ une
~ ,
~ ,
~ , soit
Résoudre un système linéaire en itérant
ii n
i j
j ij j
i
i a
x a b
x x
x x
x x
x x
x x x
x x x
, 1
3 4 2
4 2
3 1
4 2 1
3 1 2
~ soit
1
2~
6 ~ 1
2~
~ 3~
8
3
~ 0 ~
2
2~ 4~
6
Si Ax n’est pas encore égale à b, on recommence !
fin
) 10
( )
, (
que tant
, 1
old new
12 -
ii n
i j
j ij j
i i
new
a
x a b
x
i.e.
b Ax
dist
Osons itérer ! méthode de Jacobi
fin
) 10
( )
, (
que tant
, 1
old new
12 -
ii n
i j
j ij j
i i
new
a
x a b
x
i.e.
b Ax
dist
Soit D la diagonale de la matrice A, et G le reste : A = D+G
old
1 new
old new
1 , 1
, 1 1
,
, ,
1 1
, 1
, 1 21
1 1
11 12
0 0
0 0
0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
Gx b
D x
Gx b
Dx
a a
a
a a
a a
a a
a a
a a
a G
a a
a D
n n ni
n
n n i
i
n i i
i i
i i
i i
n i
nn ii
6
2
8 2
3
0
3
6 2
4 2
4 3
2
4 3
2 1
4 2
1
3 2
1
x x
x
x x
x x
x x
x
x x
x b
Ax
ii
n i
j ij j
i
j ij j
i
i a
x a x
a b
x x
x x
x x
x x
x x x
x x x
1 1
1
3 4 2
4 2
3 1
4 2 1
3 1 2
~ soit
1
2
6 1
2~ 3
8
3
0 ~
2
2~ 4~
6
Gauss Seidel
méthode de Gauss-Seidel
fin
) 10
( )
, (
que tant
1 1 old
1
new new
12 -
ii
n i
j ij j
i
j ij j
i i
new
a
x a x
a b
x
i.e.
b Ax
dist
Soit E la triangulaire inférieure et F la supérieure de la matrice A : A = D+E+F
new old new 1
old
, 1 , ,
1 ,
1
1 1
12
1 , 1
1 , 1
, 1
21
0 0
0 0
0 0
0 0
0
0 0
0
0 0 0
0 0
0 0 0
0 0
0 0
Fx b
E D x
Fx b
x E D
a a a
a
a a
a F
a a
a
a a
a a E
n n
n i i
i i
i
n i
n n ni
n
i i i
i i
La relaxation
relaxation de
paramètre :
0
) 1
(
old new
rnew
old new
x x
x
x x
tion extrapolla
: 2 , 1
quo
status :
1
tion interpolla
: 1 , 0
old
old 1 old
old old 1 old
1
1 1
par t multiplian en
1
x F D
b x
E D
x Fx
b E
D x
x G D
b Dx
D
x Gx
b D
x
rnew rnew
rnew rnew
1
old
new
1 old new
: Seidel Gauss
) (
: Jacobi
Fx b
E D x
x F E b
D x
Résumé « algorithmique »
F D N
E D x M
F D b
x E D R
F N
E D Fx M
b x
E D
F E N
D x M
F E b
Dx
b Nx
Mx
1
1 1 old
1 new
old new
old new
old new
:
: elaxation
:
: Seidel Gauss
: )
(
: Jacobi
Convergence
Principes généraux
I C
x dx
x C
d Cx
x x
k k
*
*
0 1
0
: de solution la
vers
pour tout converge
dessus ci
algorithme l'
Alors
1
:S'il existe une norme matricielle subordonnée telle que
donné,
Théorème
Éléments de démonstration
- x* est un point fixe de l’algorithme -
0
, 1 si
*
C
*
*
0 0
1
0 1
1
k k
k k k
k
k k
k k
k k
C C
e C
e C
e
x x
C
e C e
e d
Cx d
Cx
x x
e
n i i n
i i
n i
p i p
p n
i i
n
x x
x x
p x
x x
x
R E
y n x
n y
x n
x n x
n
x x
n x n x
n x
R E
n
, 1 1 1
1 1
2 2
2 ; ( 1) ; ; sup
;
exemples ( ) ( ) ( ) ) ( )
(
0 0
) (
positivité
0 )
( iant
vérif )
(
: : norme
Normes matricielles
Définition
Soit A une matrice nxm, étant donnée une norme vectorielle, on appelle norme matricielle subordonnée, la norme matricielle définie par :
x A Ax
x R
x maxn, 0
x A x
A
x est ce max : ~ ~
~
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
1 1 1 1
1
1 2 1
2
A A
a A
a A
A'A a
A
m
j ij
n i n
i ij
m j
n
i ij
m F j
Ax A x maxRn, x 1
Illustration 2d
2 1 x
x1
x2 x2
Ax x1 A 2
à utiliser pour le calcul !
Calculez les valeurs propres de
1 1
1
1 1
0
2 0
1
Et ses vecteurs propres ?
, 3 1
, 3 1
,
1 2 3
1 i i
1
, 1
, 0
1 1
3 3 3
3 2
3 3 3 3
3 2
2 1
i i i
i
v v
v
Rayon spectrale d’une matrice
Définition : on appelle rayon spectrale d’une matrice carrée A, le nombre réel (A) tel que :
max ( ),
1 A
A i
n
i
Théorème : soit A une matrice nxm, alors :
A A
A 22 '
Corollaire : si A est une matrice carrée symétrique nxn, alors :
A A 2 Remarque : en général, le rayon spectrale n’est pas une norme :
0, 0 1
, 0 0
1 0
2
A A
A
Convergence : le retour
Principes généraux
I C
x dx
x C
d Cx
x x
k k
*
*
0 1
0
: de solution la
vers
pour tout converge
dessus ci
algorithme l'
Alors
1
:S'il existe une norme matricielle subordonnée telleque
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
• C 1
Résumé « algorithmique »
F D N
E D x M
F D b
x E D R
F N
E D Fx M
b x
E D
F E N
D x M
F E b
Dx
b Nx
Mx
1
1 1 old
1 new
old new
old new
old new
:
: elaxation
:
: Seidel Gauss
: )
(
: Jacobi
Convergence
Théorème : Si A est une matrice à diagonale strictement dominante, alors la méthode de Jacobi converge.
Démonstration
1 1 max )
(
, ) (
avec
) (
: Jacobi
, 1 1 1
1 1
k 1
k
1 k 1
k
n j ij n ii
i a
F a E D
C
b D d
F E D
C d
Cx x
x F E b
D x
Remarque : il en est de même pour la méthode de Gauss-Seidel
Convergence
Thé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
1 max
: donc a
on
' '
' '
' '
' '
' '
'
posons
'
positive définie
symétrique
1 1
, 2 1
1 2
2 2
2 2 2
1
1
1 2 1 2
1 2
2
x A A x
A A
A A
A A A
A A
A
A
Nx M
N M x
Ax M
x
y N M
y x
Ay y My y y M y x
Ay y Ax y Ay x x
A y x A y x y
x Ax
M x
Ax My
Ax M
y
Ax M
x x
A M
M Nx
M
Ax x x
A
A
Théorème : Si A est une matrice symétrique définie positive, la méthode de la relaxation converge pour :
k
1
k Nx b
Mx
2 0
0 2 1
rayon spectral
rayon 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
2 et
0002 .
0
0002 .
0 0
0
0 0
3 1 1
solutions deux
examinons
3 3 2
0001 .
1
2 1
2 1 2
1
2 1
y x
r r
b Ay r
b Ax r
y y y
x x x
x b x
Ax
y x
T y
T x
Deux vecteurs très différents donnent des solutions très proches x2
x1 1
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
comme admet
, 23 28 13 38 ,
7 1
8 7
7 4
10 7
1 6
5 1
10 10
10 8
4 1
3
A cond
x x b
x b x
b b
x b
A
~
singulière non
~
~
)
~ ( avec
~
1
1
r A
x x
A r
A x
x x
x A
x x
x x
A Ax
b b
b r
Conditionnement
Définition : on appelle conditionnement d’une matrice carrée A, relatif à une norme subordonnée, le nombre réel (A) :
A A A1
Remarque : I AA1 A A1
A 1Théorème : Si A est une matrice carrée, non singulière (régulière)
b A b xx
b b
x x
A b
Ax
,
AA A x
x x
b x
x A A
b Ax
,
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 A b
x A x
b A
x x
A b
b b
x x
A
A b x x
A b
b Ax
1
1
) 2 ) 1
) 2
1 1
) 1
A A A1
Remarque : si A est symétrique, si on note ses valeurs propres i
1 2
2 2
1 1
2 1
donc et
1 ,
,..., ,...,
,
n
n n
i
A
A A
Dans l ’exemple,
27.2 (on a trouvé 22.5) deordre l'
de est erreur l'
de borne la
0037 .
0 ,
7363
2 2
b A
b A
Comment améliorer le conditionnement ?
Ajouter un « chouia » sur la diagonale
1
2 A I n
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
x A b
b x
A
b x
x A
b x
A err
b A gauss x
b Ax
~ ~
~
~
) ,
~ (
TP - la relaxation
Le 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
1
en fonction de M N
Propriétés
Définition : on appelle quotient de Rayleigh la fonction qA(x) x
x Ax x x
qA
' ) '
(
Théorème : si A est symétrique,
) ( max
max qA x
i x
i
i est une valeur propre de A, vi est un vecteur propre de A.
i i
i v
v
A
Soit A une matrice carrée, on appelle
polynôme caractéristique de A le polynôme défini par :
A I
p() 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 :