Cours
Cours
L’objet de ce chapitre est le développement des méthodes numériques pour la résolution de systèmes linéaires.
Comme dans de nombreux phénomènes physiques on est amené à résoudre des systèmes linéaires de grandes tailles,
il faudrait développer des méthodes qui convergent rapidement et qui se rapprochent le plus possible de la solution.
Problème de réseaux : Soit un réseau fermé de
noeuds Pi et d’arêtes Eij reliant les noeuds Pi et
Pj . C’est le cas de canalisations d’eau, de lignes de
télécommunication, circuits électrique, etc.
A chaque noeud est associé un potentiel Ui et
dans chaque arête circule un fluide dont le débit
qij est proportionnel à la différence de potentiels
qij = kij (Ui − Uj ).
Le réseau est alimenté à partir de noeuds sources P ∗ et P ∗∗ de potentiels associés U ∗ et U ∗∗ donnés. XLa loi de
conservation impose que le débit total est nul si le noeud Pi est isolé du réseau avec ses voisins c.a.d qij = 0
j∈V (i)
X
avec V (i) les voisins de Pi (exemple V (4) = {3, 5, P ∗ }). Donc, on ∀i kij (Ui − Uj ) = 0. Pour simplifier on
j∈V (i)
prend kij = 1. Pour déterminer les potentiels Ui , nous avons à résoudre le système linéaire
(U1 − U2 ) + (U1 − U5 ) + (U1 − U9 ) = 0
3 · U2 − U3 − U1 − U5
= 0
.. .
. = ..
= U ∗∗
3 · U9 − U1 − U6
Ensuite il est facile d’écrire le système sous la forme A · U = b pour ensuite le résoudre c.a.d trouver U .
D’une manière générale, on note Mn (R) l’ensemble des matrices carrés d’ordre n. Soit A ∈ Mn (R) une matrice
inversible et b ∈ Rn . On cherche à résoudre le système linéaire ci-dessous c.a.d trouver x ∈ Rn tel que Ax = b avec
x = t (x1 , . . . , xn ) ; b = t (b1 , . . . , bn ) ; A = (aij )1≤i,j≤n
a11 x1 + · · · + a1n xn = b1
.. .
. = ..
an1 x1 + · · · + ann xn = bn
Remarque 1 : Comme A est inversible c.a.d aucune des équations n’est combinaison linéaire des n − 1 autres, il
existe un unique vecteur x solution de Ax = b.
Remarque 2 : Si A matrice de taille (n, m) avec n ̸= m • si n > m si les équations sont indépendantes entre
elles alors il n’y a pas de solution sinon on élimine les équations dépendantes une par une. • si n < m il existe une
infinité de solution. Pour résoudre Ax = b, on distingue deux types de méthodes :
Les méthodes directes : On obtient la solution en un nombre fini d’opérations. L’avantage c’est que nous avons
l’assurance de trouver une solution en un nombre fini d’opérations élémentaires par contre cette solution peut être
numériquement "mauvaise" à cause des erreurs d’arrondi.
Les méthodes itératives : On construit une suite qui tend vers la solution. Si on n’est pas satisfait du résultat,
on peut continuer les itérations pour l’améliorer et dans ce cas plus la précision de la solution est grande plus le
nombre d’itérations est important.
1 Introduction
Dans ce chapitre nous étudions certaines méthodes directes de résolution d’un système de n équations linéaires
à n inconnues Ax = b c.a.d. des méthodes qui mènent à la solution en un nombre fini d’opérations élémentaires
(X,+,-,/).
La méthode de Cramer en est une mais elle est numériquement inacceptable. Elle demande le calcul de (n + 1)
det(Ai )
déterminants puisque xi = ; ∀i = 1, . . . , n. Ai : matrice obtenue en remplaçant la ième colonne de A par
det(A)
le vecteur b.
Chaque déterminant requiert plus que n! opérations élémentaires (matrices de tailles n) donc la méthode requiert
plus que (n + 1)! opérations élémentaires. Pour un exemple de 50 équations et avec un ordianateur exécutant 108
opérations élémentaires par seconde cette méthode nécessitera un temps d’exécution énorme et aberrant ! !
Si on utilisait la méthode de Gauss pour calculer le déterminant, il en faudrait n + 1 application de cette méthode
autant l’appliquer une seule fois et trouver directement la solution.
2 Méthode de Gauss
L’idée étant de transformer la matrice A en
a11 . . . . . . . . . a1n
une matrice triangulaire supérieure ( ou infé- x1 b1
.. .. .. ..
rieure ) c.a.d avoir un système équivalent à ce
0 . .
. .
système ( ou un système avec une matrice tri-
.. ..
x
= bi
. . aii ain i
angulaire inférieure). Dans ce cas on trouve les
.. .. .. .. .. ..
. . .
. . .
xi par substitution arrière c.a.d, si on suppose
0 ... . . . 0 ann xn bn
les aii ̸= 0,
n
bn 1 X
on calcule xn puis xn−1 , . . . , x1 avec xn = et xi = bi − aij · xj ∀i = n − 1, . . . , 1.
ann aii
j=i+1
Dans le cas d’une matrice triangulaire inférieure, on retrouve les xi par substitution avant c.a.d on calcule x1 puis
x2 , . . . , xn . Pour transformer le système Ax = b en ce système équivalent, on peut faire des combinaisons linéaires
de lignes et⧸ou permuter des lignes ou des colonnes.
2.1 Description
On pose A(1) = A et b(1) = b et on construit une suite de matrices A(1) , . . . , A(k) , . . . , A(n) et de vecteurs
b(1) , . . . , b(k) , . . . , b(n) .
Première étape :
(1) (1) (1) (1) (1) (1)
a11 ... . . . a1j . . . a1n a11 ... . . . a1j . . . a1n
(1) (1)
a21 a22 . . . a(1) . . . a(1) (2) (2) (2)
2n
0 a22 . . . a2j . . . a2n
2j
.. .. .. .. .. ..
. . .
Soit A = A(1) si a(1) ̸= 0 ; A(2) = . . .
=
a(1) a(1) . . . a(1) . . . a(1) 11 0 (2) (2) (2)
i1 i2 ij in
ai2 . . . aij . . . ain
. .. .. . .. ..
.. . . .. . .
(1) (1) (1) (1) (2) (2) (2)
an1 an2 . . . anj . . . ann 0 an2 . . . anj . . . ann
avec
(1)
(2) (1) ai1 (1)
aij = aij − (1)
· a1j pour i = 2, . . . , n et j = 1, . . . , n
a11
(1)
(1) (2) (1) ai1 (1)
Les mêmes opérations doivent être effectués sur bi avec bi = bi − b .
(1) 1
a11
A la k ème étape :
(1) (1) (1) (1) (1) (1)
a11 . . . . . . a1k ... a1n a ... ... ... a1 k+1 ... a1n
11 (2) (2) (2)
0 a(2) (2) (2)
22 ... a2k ... a2n 0 a22 . . . . . . a2 k+1 ... a2n
.. ..
.. ..
. .
0 0 . 0 0 .
. . .. ..
. .. (k) (k) (k) (k) (k)
. akk ... akn . . akk ak k+1 ... akn
. .. . ..
A(k) = .. .
(k)
ak+1 k . . . ak+1
(k)
; A(k+1) = .. (k+1)
0 ak+1 k+1
(k+1)
. . . ak+1
n . n
. .. .. .. . .. .. .. ..
. .
. . . . . . . . .
. .. . ..
. (k) (k) . (k+1) (k+1)
. . aik ... ain . . 0 ai k+1 ... ain
. .. .. .. . .. .. .. ..
. .
. . . . . . . . .
(k) (k) (k+1) (k+1)
0 0 ank ... ann 0 0 0 an k+1 ... ann
(k)
pour akk ̸= 0 et k = 1, . . . n − 1 avec
(k)
(k+1) (k) aik (k)
aij = aij − (k)
· akj pour i = k + 1, . . . , n et j = k, . . . , n
akk
(k)
(k) (k+1) (k) aik (k)
Les mêmes opérations doivent être effectués sur bi avec bi = bi − b .
(k) k
Tant que le pivot ne s’annule pas
akk
on continu, à la fin on obtient un système triangulaires supérieur.
Appliquons maintenant la stratégie du pivot partiel. Dans ce cas on fera tout
d’abord
une permutation des deux
1 1 x 2
lignes et on prendra comme pivot 1. Le système est alors = . L2 ← L2 − ϵL1 donne
ϵ 1 y 1
1 1 x 2 1 − 2ϵ
= . Par substitution arrière, on calcule y = ce qui donne en A.N. y = 1 et
0 1−ϵ y 1 − 2ϵ 1−ϵ
ensuite x = 2 − y = 1. Donc la stratégie du pivot partiel donne (1, 1) comme solution du système ce qui représente
une solution acceptable.
Remarque
Tout échange ou modification de lignes doit se faire sur A(k) et b(k) . L’intérêt de la méthode suivante est qu’elle ne
modifie pas le second membre b. Elle est donc très avantageuse lorsqu’on doit résoudre plusieurs systèmes ayant
tous la même matrice A et des seconds membres différents. C’est la factorisation L · U
3 Factorisation L · U
Supposons que nous sommes capables d’écrire la matrice A sous la forme d’un produit de deux matrices : L(Lower)
triangulaire
inférieure et U (U pper) triangulaire supérieure, le système Ax = b peut s’écrire L · U x = L · (U x) = b
(1) Ly = b
⇔ .
(2) U x = y
Donc si on connaît L et U , (1) se résout facilement par substitution avant et (2) par substitution arrière.
Nous avons donc démontrer l’existence de L triangulaire inférieure avec des 1 sur la diagonale et U triangulaire
supérieure tels que A = L · U . Pour l’unicité (voir TD avec corrigé)
Maintenant regardons quand est ce que tous les pivots ne s’annulent pas et donc quand est ce qu’on peut utiliser
la factorisation LU pour une matrice.
Théorème 2
Tous les pivots de la méthode de Gauss ne s’annulent pas si et seulement si toutes les sous-matrices
principales
Ãk
a11 . . . a1k
de A ∀k = 1, . . . n sont inversibles. La k ème sous-matrice de A est de la forme Ãk = ... .. .. .
. .
ak1 . . . akk
En effet, à l’étape k de la méthode de Gauss, on a déjà construit L̃(k) et Ũ (k) tel que Ãk = L̃k · Ũk avec
(1) (1)
1 0 ... 0 a11 . . . . . . a1k
. .. ..
ℓ2;1 . . 0 a(2) (2) k
. . 22 . . . a2k Y (i)
L̃k = .
. .
et Ũk = .
. .. .. .. ; det(Ãk ) = det(L̃k ) · det(Ũk ) = 1 ·
aii .
.. .. .. . . . .
0 i=1
(k)
ℓk;1 . . . ℓk;k−1 1 0 . . . 0 akk
(k)
Donc Ãk inversible ⇔ det(Ãk ) ̸= 0 ⇔ tous les pivots akk des étapes précédentes sont non nuls.
4 Méthode de Cholesky
4.1 Matrice symétrique définie positive
• Une matrice A ∈ Mn (R) est symétrique si t A = A.
• Une matrice A ∈ Mn (R) est définie positive ssi < A · x, x >= t x · A · x > 0, ∀x ∈ R∗ n.
• Une matrice A ∈ Mn (R) est définie positive ssi les valeurs propres de A sont > 0.
• Les mineurs principaux dominants de A qui représentes les déterminants des sous-matrices principales Ãk sont
strictement positifs.