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 2 4
4 2 1 3
4 1 2
3 2 1
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
e
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 2 4
4 2 1 3
4 1 2
3 2 1
~ 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
∑≠
=
−
=
>e
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
∑
≠
=
−
=
> e
SoitD la diagonale de la matriceA, etG le reste : A = D+G
1 , 1
, 1 1
,
, , 1 1
, 1
, 1 21
1 1
12 11
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
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
=
=
−
− +
−
−
−
L O M
M O L
O O
= +
+
−
= +
+
−
= +
+
−
=
− +
⇔
=
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 2 4
4 2 1 3
4 1 2
3 2 1
~ 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
∑
∑
+
=
−
=
−
−
=
>e
SoitE la triangulaire inférieure et Fla supérieure de la matriceA : 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
− +
=
⇔
−
= +
=
=
−
−
−
−
− +
−
L O M
M O L
L O M
M O L
La relaxation
( )
relaxation de
paramètre :
0
) 1 (
>
− +
=
=
w
w w
j
old new
rnew
old new
x x
x
x x
] [
] [
∈
=
∈
tion extrapolla :
2 , 1
quo status : 1
tion interpolla :
1 , 0
w w w
( ) ( ) ( )
( )
( )
( ) ( ) ( )
( ) (( ) ) 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 newr
rnew newr
w w w
w
w w
w w w
w w
−
− +
= +
− +
− +
=
−
− +
=
− +
−
=
−
( )
( )
−( )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
w w w w
w
w 1
1 old
1 new 1
old new
old new
old new
:
: elaxation
:
: Seidel Gauss
: ) (
: Jacobi
Convergence
Principes généraux
(I C)x d x
x C
d Cx x
x
k k
=
−
−
<
+
+ =
*
*
0 1
0
: de solution la
vers
pour tout converge
dessus ci
algorithme l'
Alors
1
que telle e subordonné e
matriciell norme
une existe il S' :
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 d Cx d e e C e
Cx x x e
n i i n
i i
n i
i p 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
∞ =
=
=
=
+
=
=
≥
=
=
=
+
≤ +
=
=
⇔
=
≥
→
∑
∑
∑
l
a l
Normes matricielles
Définition
SoitA une matricenxm, é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 cemax: ~ ~
~ =
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 Rn,x 1
max
=
= ∈
Illustration 2d
2 =1 x
x1
x2 x2
Ax x1 A2
à utiliser pour le calcul !
Calculez les valeurs propres de
−
−
1 1 1
1 1 0
2 0 1
Et ses vecteurs propresl1=1,l2?=1+i 3,l3=1−i 3,
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éelr(A) tel que :
( ) max ( )
,
1 A
A i
n
i l
r = =
Théorème: soit A une matricenxm, alors : (A A) A2F = r '
Corollaire: si A est une matrice carrée symétrique nxn, alors : ( )A
AF = r
Remarque: en général, le rayon spectrale n’est pas une norme : ( ) 0
, 0 1
, 0 0
1
0 = ≠ =
= A A
A F r
Convergence : le retour
Principes généraux
(I C)x d
x x
C d
Cx x
x
k k
=
−
−
<
+
+ =
*
*
0 1
0
: de solution la
vers
pour tout converge
dessus ci
algorithme l'
Alors
1
que telle e subordonné e
matriciell norme
une existe il S' :
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
•
<1 C
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
w w w w
w
w 1
1 old
1 new 1
old new
old new
old new
:
: elaxation
:
: Seidel Gauss
: ) (
: Jacobi
Convergence
Théorème: Si Aest 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 Aest 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
Théorème: Si Aest une matrice symétrique définie positive, A
la méthode de la relaxation converge pour :
k
1
k Nx b
Mx + = +
2 0<w<
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 pourw,
• on préfère les méthodes directes,
• voir les méthodes semi directes pour les problèmes de grande taille (cfles 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
y T x T
Deux vecteurs très différents donnent des solutions très proches x2
x 1
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
l l
d d d
d
( )
( )
( ) ( )
~
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
−
−
≤
−
⇒
=
−
⇔
−
=
+
=
−
=
+
−
=
d d
Conditionnement
Définition: on appelle conditionnement d’une matrice carrée A, relatif à une norme subordonnée, le nombre réelc(A) :
( )A = A A−1
c
Remarque:
( ) 1
1
1 ≤ ⇒ ≥
= AA− A A− A
I c
Théorème: Si Aest une matrice carrée, non singulière (régulière)
( )
( ) b A b x
x
b b x x A b Ax
c d d
d d
≤
+
= +
=
, ( )( )
( ) A A A x
x x
b x x A A b Ax
c d d d
d d
+ ≤
= + +
=
,
Perturbation du second membre Perturbation de la matrice Un problème est dit« bien conditionné » si c(A) est proche de 1, il est dit «mal conditionné» si c(A) est grand (et mal posé si c(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
d d
d d
d d
d d
1
1
) 2 ) 1
) 2
1 1
) 1
−
−
≤
⇒ +
≤
⇒
≤
⇒ +
= +
≤
⇒
≤
⇒
=
( )A = A A−1
c
Remarque: si Aest symétrique, si on note ses valeurs propres li
( )
1 2
2 2
1 1 2
1
donc et
1 , ,..., ,..., ,
l c l
l l l
l l l
n
n n
i
A
A A
=
=
= −
Dans l ’exemple, ( )
( ) 27.2(on a trouvé 22.5) de
ordre l' de est erreur l' de borne la
0037 . 0 ,
7363
2 2
=
=
=
b A b A
d c d c
Comment améliorer le conditionnement ?
Ajouter un « chouia » sur la diagonale
( )
m l
m m l
c +
= + +
1
2 n
I A
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
~ ~
~
~ ) ,
~ (
−
=
=
= +
−
=
=
=
d d
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 fonctioncputimeet flops
tril et triu pourraient vous simplifier la vie et diag(diag()) et eigaussi
(
1)
en fonction de wrM− N
Propriétés
Définition: on appelle quotient de Rayleigh la fonctionqA(x) x
x Ax x x
qA
' ) '
( =
Théorème: siA est symétrique,
) ( max
max qA x
i x
i l =
liest une valeur propre deA, viest un vecteur propre deA.
i i
i v
v Ar r
= l
Soit Aune matrice carrée, on appelle
polynôme caractéristique de Ale polynôme défini par : (A I)
p(l)=det −l
Les nracines lide ce polynôme sont les valeurs propres deA, viest un vecteur propre deA. Il existe nvecteurs vitels que :