Académique Documents
Professionnel Documents
Culture Documents
2022–2023
Table des matières
i
Chapitre 1
1.1 Introduction
Pour des systèmes linéaires de grande taille, les méthodes directes de factorisations (de type LU
ou de Cholesky) deviennent couteuses en temps de calcul ou en place mémoire. L’idée alors de ne
plus chercher à résoudre exactement le système linéaire Ax = b, mais d’approcher sa solution x par
une suite de vecteurs (x(k) ) vérifiant
lim kx(k) − xk = 0.
k→+∞
Dans ce chapitre, la suite (x(k) ) est construite à l’aide d’une relation de récurrence simple de type
x(k+1) = F (x(k) ), pour une application affine F (x) = Bx + c où B dépend de A et c dépend de A et
b.
Dans ce chapitre, on note par Mn (K) l’espace vectoriel des matrices carrées d’ordre n à coeffi-
cients dans K où K = R ou C. On rappelle que pour x = (xi )1≤i≤n ∈ Kn on a les normes vectorielles
suivantes :
1
1.2 Rappels sur les normes matricielles
n
X 1
• kxkp = ( |xi |p ) p , pour p ∈ [1, +∞[ ; norme de Hölder d’indice p.
i=1
• kxk∞ = max |xi |, norme infinie.
1≤i≤n
kAxk
∀A ∈ Mn (K), kAk = sup = sup kAxk = sup kAxk,
x∈Kn , x6=0 kxk kxk≤1 kxk=1
Exemple 1.2.1 La norme (dite de Frobenius) définie, pour A = (aij )1≤i,j≤n ∈ Mn (K), par
n
1
X
kAk = ( |aij |2 ) 2 ,
i,j=1
√
n’est pas subordonnée puisque kIn k = n 6= 1.
On a alors :
Proposition 1.2.1 Les normes matricielles subordonnées aux normes vectorielles k · k1 , k · k2 et
k · k∞ sont données, pour une matrice A = (aij )1≤i,j≤n , par :
2
1.2 Rappels sur les normes matricielles
(p p
ρ(AT A) = ρ(AAT ) = kAT k2 si A est une matrice réelle,
— kAk2 = p p
ρ(A∗ A) = ρ(AA∗ ) = kA∗ k2 si A est une matrice complexe,
∗ T
où pour A = (aij )1≤i,j≤n ∈ Mn (C), A = Ā = (āji )1≤i,j≤n la matrice adjointe de A.
X n
— kAk1 = max |aij |,
1≤j≤n
i=1
Xn
— kAk∞ = max |aij |.
1≤i≤n
j=1
Preuve.
1. Soit A = (aij )1≤i,j≤n une matrice non nulle de Mn (R).
D’autre part, si x est un vecteur propre de B = AT A associé à la valeur propre ρ(AT A), alors
donc
kAxk2 p
= ρ(AT A) ≤ kAk2 ,
kxk2
et finalement p
kAk2 = ρ(AT A).
Le cas d’une matrice complexe se fait de la même manière quitte à remplacer R par C et AT
par A∗ .
2. A faire en exercice.
3. Soit x = (xi )1≤i≤n ∈ Cn . On a alors,
n
X n
X n
X
kAxk∞ = max |(Ax)i | = max | aij xj | ≤ max |aij | |xj | ≤ ( max |aij |)kxk∞ ,
1≤i≤n 1≤i≤n 1≤i≤n 1≤i≤n
j=1 j=1 j=1
n
X
et par conséquent kAk∞ ≤ max |aij |. D’autre part, si i0 est tel que
1≤i≤n
j=1
n
X n
X
|ai0 j | = max |aij |.
1≤i≤n
j=1 j=1
3
1.2 Rappels sur les normes matricielles
Comme A 6= 0, alors sa i0 -ème colonne est non nulle et il existe au moins j tel que ai0 j 6= 0.
Posons, pour j = 1, . . . , n,
āi0 j
6 0
si ai0 j =
xj = |ai0 j | .
0 sinon
Alors kxk∞ = 1 et
n n n
X āi0 j X X
|(Ax)i0 | = | ai 0 j |= |ai0 j | = max |aij |.
j=1
|a i 0 j | j=1
1≤i≤n
j=1
n
X
Par suite kAk∞ = max |aij |.
1≤i≤n
j=1
Car les valeurs propres de A2 sont les carrées des valeurs propres de A lorsque cette dernière est
diagonalisable et donc
ρ(A2 ) = ρ(A)2 .
La relation (1.1) devient une inégalité pour une matrice quelconque et pour les autres normes.
Plus précisément :
Proposition 1.2.2 On a :
1. Pour toute matrice A et pour toute norme matricielle k · k, subordonnée ou non, on a :
ρ(A) ≤ kAk.
2. Pour tout > 0 et pour toute matrice A ∈ Mn (C), il existe une norme matricielle subor-
donnée notée k · kA, telle que
kAkA, ≤ ρ(A) + .
Preuve.
1. Soient A ∈ Mn (C), λ une valeur propore de A telle que |λ| = ρ(A) et x ∈ Cn , x 6= 0 un
vecteur propore associé à la valeur propre λ. Alors Ax = λx.
La matrice de taille n définie par xx∗ = (xi x¯j )1≤i,j≤n est une matrice non nulle puisque x est
un vecteur non nul. Alors Axx∗ = λxx∗ et par suite
4
1.2 Rappels sur les normes matricielles
2. Soit A ∈ Mn (C), on sait que A est semblable à une matrice triangulaire supérieure com-
plexe, il existe donc (f1 , . . . , fn ) une base de Cn et une matrice triangulaire supérieure
T = (λij )1≤i,j≤n telles que X
Afi = λij fj ,
j≥i
−1
avec, si P = (f1 , . . . , fn ), alors P AP = T .
Pour un réel η ∈]0, 1[, on définit B = (ẽ1 , ẽ2 , . . . , ẽn ) la base de l’espace vectoriel Cn par,
kAk ≤ ρ(A) + .
Donc X
Aẽi = η i−j λij ẽj .
1≤i≤j
n
X
Si x = αi ẽi , alors
i=1
n
X X n X
X n
i−j
Ax = αi η λij ẽj = ( η i−j λij αi )ẽj .
i=1 1≤i≤j j=1 i=j
n
" n
#
X X
kAxk = max | η i−j λij αi | ≤ max |λjj kαj | + η |λij kαi |
1≤j≤n 1≤j≤n
i=j i=1
n
X
≤ ρ(A)kxk + η max |λij |kxk.
1≤j≤n
i=1
Par conséquent
kAxk
≤ ρ(A) + ηkTA k1 ,
kxk
5
1.3 Méthodes itératives
donc
kAk ≤ ρ(A) + ηkTA k1 .
Pour η ∈]0, 1[ tel que ηkTA k1 ≤ , on a bien
Proposition 1.2.3 Soit B une matrice carrée de Mn (C). Les conditions suivantes sont équivalentes :
i) lim B k x = 0 pour tout vecteur x de Cn ,
k→+∞
Preuve.
i) ⇒ ii) Soit λ une valeur propre de B telle que ρ(B) = |λ| et soit x un vecteur propre associé
à la valeur propre λ de B. On a Bx = λx, donc B k x = λk x et par conséquent kB k xk =
ρ(B)k kxk → 0 quand k → +∞ si et seulement si ρ(B) < 1.
1 − ρ(B)
ii) ⇒ iii) Pour = , il existe une norme matricielle subordonnée k · k telle que
2
1 − ρ(B) ρ(B) + 1
kBk ≤ ρ(B) + = ρ(B) + = < 1.
2 2
Remarques 1.3.1
1. On n’a pas toujours besoin de calculer M −1 , mais il faut savoir calculer la solution de
M x(k+1) = N x(k) + b, pour x(0) donnée.
6
1.3 Méthodes itératives
2. Il est clair que si la suite (x(k) ) converge, elle converge vers la solution unique x de Ax = b. On
dit dans ce cas que la méthode itérative correspondante est convergente pour la résolution
de système Ax = b.
3. Si on considère e(k) l’erreur à l’étape k, e(k) = x(k) − x, alors M x(k+1) = b + N x(k) et
M x = b + N x et par conséquent e(k+1) = M −1 N e(k) = · · · = (M −1 N )k e(0) . La matrice
M −1 N = B est appelée matrice d’itération de la méthode. La suite (x(k) ) vérifie donc
x(k+1) = Bx(k) + c, pour c = M −1 b.
En général on a :
converge vers x la solution unique de x = Bx+c, pour tout choix de x(0) , si et seulement si la matrice
d’itération B vérifie ρ(B) < 1.
Preuve. La suite donnée par x(0) et x(k+1) = Bx(k) + c converge vers x pour tout choix de x(0) si et
seulement si (B k e(0) ) → 0 quand k → +∞ pour tout e(0) = x(0) − x. Ceci étant vrai si et seulement
si ρ(B) < 1.
Remarque 1.3.1 Ainsi, pour montrer que la suite générée par la méthode itérative (1.2) est conver-
gente, il suffit de vérifier que le rayon spectral de sa matrice d’itération B est plus petit que 1 ou
encore que pour au moins une norme quelconque k · k, (subordonnée ou non) kBk < 1.
Un premier résultat de convergence d’une méthode itérative concerne les matrices symétriques
définies positives.
(M T + N )T = M + N T = (A + N ) + N T = AT + N T + N = (A + N )T + N = M T + N.
ρ(M −1 N ) < 1.
7
1.3 Méthodes itératives
Par suite
(N x, x) = λ(M x, x).
Comme A = M − N , donc A = M (I − M −1 N ) et par conséquent
Ax = M (x − M −1 N x) = M (x − λx) = (1 − λ)M x.
D’où
(Ax, x) = (Ay, y) + (Az, z) = (1 − λ)(M x, x) > 0,
et donc λ 6= 1. De plus on a
(N x, x) = λ(M x, x) et (M T y, y) = (y, M y) = (M y, y)
impliquant
8
1.3 Méthodes itératives
(k+1)
Il est bien de noter que les composantes xi de x(k+1) sont calculées les uns indépendamment des
autres et dépendent seulement de l’itéré précédent x(k) .
Exemple 1.3.1 Etudier la convergence de la méthode de Jacobi pour résoudre le système Ax = b,
pour
1 2 −2
A = 1 1 1 et b ∈ R3 .
2 2 1
Dans ce cas
0 0 0 0 −2 2
D = I3 , E = −1 0 0 et F = 0 0 −1 .
−2 −2 0 0 0 0
0 −2 2
La matrice d’itération est J = D−1 (E + F ) = D − A = −1 0 −1 . Le polynôme ca-
−2 −2 0
ractéristique de J est
PJ (λ) = det(J − λI3 ) = −λ3 .
Donc ρ(J) = 0 < 1 et par conséquent
laméthode de Jacobi est convergente pour résoudre le système
1
Ax = b. Par exemple, pour b = 3 , la suite (x(k) ) ∈ R3 construite par la méthode de Jacobi
5
1
converge vers le vecteur 1 solution unique système Ax = b pour tout choix de x(0) ∈ R3 .
1
9
1.3 Méthodes itératives
Proposition 1.3.3 Soit A une matrice à diagonale strictement dominante. Alors A est inversible
et la méthode de Jacobi converge pour résoudre le système Ax = b, pour tout b ∈ Rn .
Preuve. Montrons que A est inversible. Soit x = (xi )1≤i≤n ∈ Cn tel que Ax = 0. Alors, pour tout
i = 1, . . . , n,
X n
aij xj = 0.
j=1
Ou encore n
X
aii xi = aij xj .
j6=i
Par conséquent
n
X
|aii kxi | ≤ |aij kxj |.
j6=i
Ainsi
X |xj | X
|ai0 i0 | ≤ |ai0 j | ≤ |ai0 j | < 1.
j6=i0
|xi0 | j6=i
0
10
1.3 Méthodes itératives
Preuve. On a
det(Lω ) = det(In − ωD−1 E)−1 det((1 − ω)In + ωD−1 F ).
La matrice (In − ωD−1 E) est triangulaire inférieure dont les coefficients diagonaux sont égaux à
1, donc (In − ωD−1 E)−1 est aussi triangulaire inférieure à coefficients diagonaux sont aussi 1. La
matrice (1 − ω)In + ωD−1 F est triangulaire supérieure ayant 1 − ω comme termes diagonaux. Ainsi
det(Lω ) = (1 − ω)n . Comme |1 − ω|n = | det(Lω )| ≤ ρ(Lω )n , donc |1 − ω| ≤ ρ(Lω ) et si ω ∈ R \ [0, 2],
alors |1 − ω| > 1. Par conséquent ρ(Lω ) > 1 et la méthode de relaxation diverge.
Ainsi, la méthode de relaxation n’est intéressante que pour 0 < ω < 2.
Proposition 1.3.5 Soit A ∈ Mn (R) une matrice symétrique définie positive. Alors la méthode de
relaxation converge si et seulement ω ∈]0, 2[.
11
1.3 Méthodes itératives
A. Donc N = F qui est une matrice triangulaire supérieure à diagonale nulle. On suppose que M est
inversible (aii 6= 0 pour tout i = 1, . . . , n). Dans ce cas la matrice d’itération est
L1 = (D − E)−1 F,
(k+1)
La i-ème composante de x(k+1) est donnée en fonction des composantes xj , j < i de x(k+1)
(k)
et des composantes xj , j > i de x(k) par
" #
(k+1) 1 X (k+1)
X (k)
xi = bi − aij xj − aij xj , i = 1, . . . , n.
aii j<i j>i
(k+1)
Contrairement à la méthode de Jacobi, le calcul des composantes xi de x(k+1) doit s’effectuer
dans l’ordre i = 1, . . . , n.
1 2 −2
Exemple 1.3.2 Reprenons le système de l’exemple (1.3.1) où la matrice A = 1 1 1 . La
2 2 1
matrice d’itération de la méthode de Gauss-Seidel est
−1
1 0 0 0 −2 2 0 −2 2
L1 = (D − E)−1 F = 1 1 0 0 0 −1 = 0 2 −3 .
2 2 1 0 0 0 0 0 2
Les valeurs propres de la matrice tridiagonale L1 sont donc 0 et 2 et par conséquent ρ(L1 ) = 2 > 1.
La méthode de Gauss-Seidel est divergente pour résoudre le système Ax = b.
On sait déja que si A est une matrice symétrique définie positive, alors la méthode de Gauss-Seidel
est convergente (ω = 1 ∈]0, 2[). On montre aussi que
Proposition 1.3.6 Si A ∈ Mn (R) une matrice à diagonale strictement dominante, alors, la méthode
de Gauss-Seidel pour la résolution de système Ax = b est convergente.
Preuve. Montrons que si A est à diagonale strictement dominante, alors ρ(L1 ) < 1.
Soit x = (xi )1≤i≤n un vecteur propre de L1 pour une valeur propre λ de L1 = (D − E)−1 F . Alors
L1 x = λx et donc λ(D − E)x = F x.
12
1.3 Méthodes itératives
Par conséquent X X
λ(aii xi + aij xj ) = aij xj ∀i ∈ {1, . . . , n}.
j<i j>i
X |xj |
|ai0 j |
j>i0
|xi0 |
|λ| ≤ < 1.
X |xj |
|ai0 i0 | − |ai0 j |
j<i0
|xi0 |
13
1.3 Méthodes itératives
Définition 1.3.2 Pour la recherche d’une solution x d’un système Ax = b, une méthode itérative
de matrice d’itération B est dite plus rapide qu’une autre de matrice d’itération B̃, si ρ(B) < ρ(B̃).
En général, on ne peut rien dire sur la convergence d’une de deux méthodes de Jacobi et de Gauss-
seidel connaissant la nature de convergence de l’autre. Cependant, pour une matrice tridiagonale on
a:
Preuve. A = D − E − F , avec
a11 a12 a11
.. .. ..
a
. . .
A = 21 . , D = ,
.. .. ..
. an−1n .
ann−1 ann ann
−a12
0 0
. .. ..
−a21 . . 0 . .
E= et F = .
... ... ... ...
−an−1n
−ann−1 0 0
Montrons que pour tout α, µ ∈ C∗ , det(µD − E − F ) = det(µD − αE − α−1 F ). On pose
µa11 a12
.. ..
a21
. .
Aµ := µD − E − F =
. .. ..
. an−1n
ann−1 µann
et
µa11 α−1 a12
... ...
αa21
−1
Aα,µ := µD − αE − α F = .
.. ..
. . α−1 an−1n
αann−1 µann
14
1.3 Méthodes itératives
En effet, sachant que D − E est triangulaire supérieure de diagonale celle de la matrice inversible D,
donc elle est aussi inversible et on a, pour λ ∈ C∗ ,
15
1.4 Conditionnement
calcul donc devrait être interrompu dès qu’on obtient une solution approchée à ε prés, vérifiant par
exemple kAx(k) − bk ≤ ε si x̄ est aussi solution de Ax = b, ou kx(k+1) − x(k) k ≤ ε dans le cas général,
pour une tolérance ε donnée et une norme vectorielle k · k choisie. Il existe aussi d’autres critères
d’arrêt comme
kAx(k) − bk
≤ε
kbk
ou
kx(k) − x(k−1) k
≤ε
kx(k) k
pour les algorithmes de résolution des systèmes linéaires.
1.4 Conditionnement
La notion du conditionnent d’une matrice peut servir à établir des majorations des erreurs
d’arrondi dues au erreurs sur les données. En pratique, par exemple pour un système linéaire Ax = b,
les données A et b ne sont données qu’à une erreur près. Cette perturbation des données peut
engendrer une grande erreur de la solution. C’est le cas de l’exemple suivant :
Soit le système linéaire Ax = b, pour
1 2 3
A= et b = .
2 4 + 10−6 6 + 10−6
1
Ce système admet une solution unique x = .
1
3
Si on change légèrement b par b̃, avec b̃ = , la solution du système Ax = b̃ est
6 − 10−6
5
x̃ = . Ainsi une petite perturbation de la donnée b implique une grande modification de la
−1
solution.
En général, si x est tel que Ax = b et x + δx vérifiant A(x + δx) = b + δb, alors Aδx = δb ou encore
δx = A−1 b. Par conséquent
kδxk ≤ kA−1 kkδbk, (1.4)
pour k · k une norme matricielle subordonnée.
D’autre part kbk = kAxk ≤ kAkkxk et donc
1 kAk
≤ . (1.5)
kxk kbk
De (1.4) et (1.5), on déduit la majoration d’erreur suivante :
kδxk kδbk
≤ kAkkA−1 k . (1.6)
kxk kbk
On remarque que pour kδxk soit assez petit pour une petite perturbation de b, il suffit que le terme
kAkkA−1 k soit aussi assez petit,
16
1.4 Conditionnement
Définition 1.4.1 On appelle conditionnement d’une matrice inversible A relatif à une norme ma-
tricielle subordonnée k · k, le réel positif, qu’on note Cond(A)
Cond(A) = kAkkA−1 k.
17