Analyse Numérique Matricielle ENSAH
Analyse Numérique Matricielle ENSAH
Préparatoire II
Mohamed ADDAM
Professeur de Mathématiques
c Mohamed ADDAM.
21 février 2022
2
Table des matières
Définition 1.1.1 On appelle le rayon spectral de la matrice A, noté %(A), le nombre réel positif
%(A) = max{|λi | : 1 ≤ i ≤ n}
Propriété 1.1.1 Si A et B sont deux matrices inversibles, alors (AB)−1 = B −1 A−1 , (AT )−1 = (A−1 )T ,
(A∗ )−1 = (A−1 )∗ .
5
6 CHAPITRE 1. ANALYSE NUMÉRIQUE MATRICIELLE
Exemple 1.1.1 On peut se demander si l’inverse de Moore-Penrose peut être utilisée dans des cas pratique.
On cherche à estimer une valeur en x0 à partir de deux valeurs situées au même point x1 . On considère le
système simple
a a w1 b
=
a a w2 b
où a et b sont des données réelles.
La matrice A étant singulière, on va recourir à l’inverse généralisée de Moore-Penrose. Soit
2
T T 2a 2a2
AA = A A = =C
2a2 2a2
On a
dét(C) = 0 ⇒ λ2 = 0;
tr(C) = 4a2 ⇒ λ1 = 4a2 ,
et une matrice de vecteurs propres normés
!
√1 − √12
Q= 2
√1 √1
2 2
Définition 1.2.1 Une norme matricielle est une application k . k : K(m×n) −→ [0, +∞[ telle que :
i) kAk ≥ 0, ∀A ∈ K(m×n) et kAk = 0 si et seulement si A = 0 ;
ii) kαAk = |α|kAk, ∀A ∈ K(m×n) , ∀α ∈ K (Propriété d’homogénéité) ;
iii) kA + Bk ≤ kAk + kBk, ∀A, B ∈ K(m×n) (Inégalité triangulaire).
8 CHAPITRE 1. ANALYSE NUMÉRIQUE MATRICIELLE
Définition 1.2.2 On dit que la norme matricielle k . k est compatible ou consistante avec la norme vecto-
rielle k · k si
kAxk ≤ kAkkxk, ∀A ∈ K(m×n) ∀x ∈ Kn .
Plus généralement, on dit que trois normes, toutes notées k . k et respectivement définies sur Km , Kn , et
K(m×n) , sont consistantes si ∀x ∈ Kn , ∀y ∈ Km et A ∈ K(m×n) tels que Ax = y, on a kyk ≤ kAkkxk.
Pour qu’une norme matricielle soit intéressante dans la pratique, on demande généralement qu’elle
possède la propriété suivante :
Norme de Frobenius
La norme !1/2
m X
X n
p
kAkF = |aij |2 = tr(A∗ A)
j=1 i=1
est une norme matricielle appelée norme de Frobenius (ou norme euclidienne dans C(n×n) et elle est
compatible avec la norme vectorielle euclidienne k . k2. En effet,
m X n 2 m n n
!
X X X 2
X 2
kAxk22 = aij xj ≤ |aij | |xj | = kAk2F kxk22 .
i=1 j=1 i=1 j=1 j=1
√
On peut remarquer que pour cette norme, on a kIn kF = n.
x
Pour tout x 6= 0, on peut définir un vecteur unitaire u = kxk
, de sorte que (0.5) s’écrive
cela étant, vérifions que (0.5) est effectivement une norme, en utilisant les conditions d’une norme matri-
cielle de la définition (1.2.1).
D’autres exemples de normes remarquables, il s’agit de normes matricielles subordonnées fournies par
les p-normes :
kAxkp
kAkp = sup (0.7)
x6=0 kxkp
n
X
kAk∞ = max |aij |, (0.9)
1≤i≤m
j=1
kAk2 = %(A),
Démonstration. Puisque A∗ A est hermitienne, alors il existe une matrice unitaire U telle que
U ∗ A∗ AU = diag(µ1 , µ2, . . . , µn )
10 CHAPITRE 1. ANALYSE NUMÉRIQUE MATRICIELLE
Si A est hermitienne, les mêmes considérations s’appliquent directement à A. En fin si A est unitaire
Exercice 1.2.1 1. Soit B une matrice carrée. Montrer que les conditions suivantes sont équivalentes :
(a) lim B k = 0 ;
k→+∞
1.3 Conditionnement
Les sources des erreurs numériques sont :
1. Erreur d’arrondi dues à la représentation des réels sur la machine,
2. Erreur sur les données (données qui proviennent d’autres calculs)
3. Erreur de troncature (faites dans les méthodes itératives : on remplace la valeur exacte par une valeur
approchée)
Soit a ∈ N,
n−1
X
a= ai 2i , avec ai ∈ {0, 1}
i=0
la représentation binaire (représentation en base 2) de a est
a = an−1 an−2 . . . a2 a1 a0 .
Exemple 1.3.1 1. a = 13 = 23 + 22 + 20 = 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20
a est représenté sur la machine par (1101)
13 = (1101)
1.3. CONDITIONNEMENT 11
2. 226 = 27 + 26 + 25 + 0 × 24 + 0 × 23 + 0 × 22 + 21 + 0 × 20
donc 226 = (11100010)
Exemple 1.3.2 Sur l’ordinateur, les entiers sont représentés par un ensemble de bits.
a = (0000000011100010)
a = (1000000011100010)
le plus grand entier qu’on peut représenter sur la machine avec 16 bits est :
Remarque 1.3.1 La somme de deux entiers sur la machine peut donner un nombre négatif
32767 = 0111111111111111
+
1 = 0000000000000001
32768 = 1000000000000000
Représentation en vergule flottantes : une opération élémentaire sur des réels est appelée flop où floaling
point.
soit x ∈ R, x est représenté par
x = m × bp
où m est la montisse, b est la base et p est l’exposant, avec la condition
1
≤ |m| < 1
b
donc m = 0.d1 d2 . . . dt avec 0 ≤ di < b et d1 6= 0.
t désigne la précision (le nombre des chiffres après la vergule)
t
X
m= di b−i .
i=1
x
e = 0.455321 |{z}
e3
103
Exercice 1.3.1 Supposons que ` ≤ p ≤ u. Calculer le plus grand et le plus petit réel.
Erreurs de représentation
(e
x + ye) + ze 6= x
e + (e
y + ze).
1.3.2 Effet de la représentation des réels et les erreurs d’arrondi sur la résolution
de Ax = b
3x − 7.0001y = 0.9998,
Exemple 1.3.9 soit le système suivant : admet la solution unique
3x − 7y = 1
x = 31 ,
y = 1−0.9998
0.0001
3 −7.0001 0.9998
A= , b=
3 −7 1
supposons qu’on travaille sur une machine avec t = 4, alors 7.0001 sera représentée par 0.70001e1 →
0.7e1.
sur la machine, on a à résoudre le système suivant qui est singulier
0.3e1x − 0.7e1y = 0.9998,
0.3e1x − 0.7e1y = 1
ceci montre qu’une perturbation sur la matrice A induit une matrice A e où le système n’a pas de solution.
Perturbation sur b : Une perturbation sur b peut conduire à des résultats qui ne sont pas justes :
3 −7.0001 1
A= , eb =
3 −7 1
3x − 7.0001y = 1, x = 31 ,
le système suivant admet la solution unique mais elle n’est pas une
3x − 7y = 1 y = 0
solution juste.
Les mauvais résultats obtenus sont dûs au fait que la matrice A est mal conditionnée.
Définition 1.3.1 une matrice est mal conditionnée si une petite perturbation (modification des données)
conduit à des résultats différents.
1er cas : Soit à résoudre le système Ax = b. Soit 4b la perturbation sur b, on résout donc le système
A(x + 4x) = b + 4b,
4x : perturbation sur x
A(x + 4x) = b + 4b
Ax + A4x = b + 4b ⇒ A4x = 4b
⇒ 4x = A−1 4b
d’autre part, on a
1 kAk
kbk = kAxk ≤ kAkkxk ⇒ ≤
kxk kbk
on déduit que
k4xk k4bk
≤ kAkkA−1 k
kxk | {z } kbk
| {z } κ(A)=cond(A) | {z }
erreur relative sur x erreur relative sur b
Si κ(A) est plus proche de 1, alors une petite perturbation sur A entraine des petites perturbations sur
le résultat x.
Exemple 1.3.10
3 −7.0001 −1 1 −7 7.0001
A= , A =
3 −7 3.10−4 −3 3
10.0001×14.0001
On a κ∞ (A) = kAk∞ kA−1 k∞ = 3
× 104 qui est très grand.
Chapitre 2
Soit A une matrice carrée d’ordre n, inversibles à coefficients dans R et soit b un vecteur à n compo-
santes. l’objectif de ce chapitre est de résoudre le système linéaire Ax = b à n équations.
On appelle méthode directe de résolution du système linéaire Ax = b, toute méthode permettant d’ob-
tenir la solution en un nombre fini d’opérations arithmitiques élémentaires sur des nombres réels (additions,
soustractions, multiplications, divisions ) et éventuellement l’extraction des racines carrées.
opérations.
MAx = Mb = c,
– 1er -étape : élimination de x1 des équations (2) jusqu’à (n). On suppose que a1,1 6= 0 (sinon on
permute l’équation (1) avec une équation (i) du système tel que ai,1 6= 0).
Puisque a est inversible, alors il existe i tel que ai,1 6= 0 et pour éliminer x1 de l’équation (i) (2 ≤ i ≤
n), on effectue la combinaison linéaire suivante entre l’équation (1) et l’équation (i) : on remplace
l’équation (i) par l’équation
2.1. MÉTHODES DIRECTES 17
équation(1)
équation(i) − . ai,1 ,
a11
Donc l’équation (i) devient sous la forme suivante
a1,1 a1,2 a1,j
ai,1 − ai,1 x1 + ai,2 − ai,1 x2 + . . . + ai,j − ai,1 xj
a1,1 a1,1 a1,1
a1,n b1
+ ai,n − ai,1 xn = bi − ai,1
a1,1 a1,1
Posons
ai,1 (2) (2)
`i,1 = , ai,j = ai,j − `i,1 a1,j et bi = bi − `i,1 b1
a1,1
alors le système devient :
a1,1 x1 + a1,2 x2 + . . . + a1,n xn = b1 ,
(2) (2) (2)
(2)
(S ) : 0 x1 + a2,2 x2 + . . . + a2,n xn = b2 ,
.. .
. = ..
(2) (2) (2)
0 x1 + an,2 x2 + . . . + an,n xn = bn ,
A(1) = A, b(1) = b
A(2) = L1 A,
le système (S (2) ) équivalent à
équation(2) (2)
équation(i) − (2)
. ai,2
a2,2
Posons
(2)
ai,2 (3) (2) (2) (3) (2) (2)
`i,2 = (2)
, ai,j = ai,j − `i,2 a2,j et bi = bi − `i,2 b2
a2,2
alors le système devient :
a1,1 x1 + a1,2 x2 + . . . + . . . + a1,n xn = b1 ,
(2) (2) (2)
0 x1 + a2,2 x2 + . . . + . . . + a2,n xn = b2 ,
(S (3) ) :
(3) (3)
0 x1 + 0 x2 + a3,3 x3 + . . . + a3,n xn = b3 ,
(3)
.. .
. = ..
(3) (3) (3)
0 x1 + 0 x2 + an,3 x3 + . . . + an,n xn = bn ,
A(1) = A, b(1) = b
A(2) = L1 A, et A(3) = L2 A(2) = L2 L1 A,
le système (S (3) ) équivalent à
équation(k) (k)
équation(i) − (k)
. ai,k
ak,k
Posons
(k)
ai,k (k+1) (k) (k) (k+1) (k) (k)
`i,k = (k)
, ai,j = ai,j − `i,k ak,j et bi = bi − `i,k bk
ak,k
alors le système devient :
a1,1 x1 + a1,2 x2 + . . . + . . . + . . . + a1,n xn = b1 ,
(2) (2) (2)
0 x1 + a2,2 x2 + . . . + . . . + . . . + a2,n xn = b2 ,
(3) (3) (3)
(S (k+1)
): 0 x1 + 0 x2 + a3,3 x3 + . . . + . . . + a3,n xn = b3 ,
.. .
. = ..
(k) (k) (k)
0 x1 + 0 x2 + . . . + ak,k xk + . . . + ak,n xn = bk ,
.. .
. = ..
0 x + 0 x + . . . + a(k) x + . . . + a(k) x (k)
1 2 n,k k n,n n = bn ,
A(1) = A, b(1) = b
A(2) = L1 A, ... , A(k+1) = Lk A(k) = Lk . . . L2 L1 A,
le système (S (k+1) ) équivalent à
A(1) = A, b(1) = b
et
c = b(n) = Ln−1 Ln−2 . . . L2 L1 b = M b où M = Ln−1 Ln−2 . . . L2 L1 .
Dans la pratique : On ne calcule pas le produit Ln−1 Ln−2 . . . L2 L1 mais plutot R = Ln−1 Ln−2 . . . L2 L1 .
Le calcul de R se fait par étape (où bien selon plusieurs algorithmes).
On ne stocke que la matrice A (n2 éléments de type réel) à la fin de la triangularisation on n’aura plus besoin
de la matrice A, mais, plutot on travaillera sur la matrice R. Donc A sera stochée dans la partie mémoire
resrvée pour le stockage de A.
L’algorithme (étapes de calcul) est donné dans un language naturel. Pour pouvoir le mettre en œuvre sur un
ordinateur il faut le traduire en un language de programmation tel que : Matlab, C, C++, Fortron, Java, . . ..
1. Algorithme 1 :
Pour chaque étape k : k = 1, . . . , n − 1
Lk A(k) : A(k+1) ← Lk A(k) ,
on calcule
Lk b(k) : b(k+1) ← Lk b(k) ,
fin pour.
Pour pouvoir traduire l’algorithme 1 en language de programmation, on doit l’affiner, c’est-à-dire
l’écrire à l’aide des opérations élémentaires, soit l’algorithme 2 obtenu après avoir affiné l’algorithme 1.
2. Algorithme 2 : On considère les deux phrases mathématiques suivantes :
(k)
(k+1) (k) ai,k (k)
(∗) ai,j ← ai,j − (k)
.ak,j
ak,k
(k)
(k+1) (k) ai,k (k)
(∗∗) bi ← bi − (k)
.bk
ak,k
Po u r k = 1 . . . n −1 , f a i r e
Po u r c h a q u e l i g n e i ( k< i <= n ) , f a i r e
p o u r c h a q u e i n d i c e j de l a l i g n e i , f a i r e
é c r i r e i c i l a phrase mathématique ( ∗ )
Fin pour j
é c r i r e i c i l a phrase mathématique (∗∗)
Fin pour i
Fin pour k
en réalité, les instructions
(k) (k)
(k+1) (k) ai,k (k) (k+1) (k) ai,k (k)
ai,j ← ai,j − .a
(k) k,j
et bi ← bi − (k)
.bk
ak,k ak,k
seront remplacées par les instructions (affectation)
ai,k ai,k
ai,j ← ai,j − .ak,j et bi ← bi − .bk
ak,k ak,k
2.1. MÉTHODES DIRECTES 21
(k)
(k+1) (k) ai,k (k)
Le signe ← où bien := veut dire que x = ai,j sera remplacé par y = ai,j − (k) .ak,j Autrement
ak,k
dit : dans la zone mémoire qui représente x on met la valeur de y.
Po u r k = 1 . . . n −1 , f a i r e
Po u r c h a q u e l i g n e i ( k< i <= n ) , f a i r e
p o u r c h a q u e i n d i c e j de l a l i g n e i , f a i r e
a [ i , j ] : = a [ i , j ]− a [ i , k ] / a [ k , k ] ∗ a [ k , j ]
Fin pour j
b [ i ] : = b [ i ]− a [ i , k ] / a [ k , k ] ∗ b [ k ]
Fin pour i
Fin pour k
3. Algorithme 3 :
Fo r k = 1 . . n −1 ,
Fo r i =k + 1 . . n ,
Fo r j =k + 1 . . n ,
a [ i , j ] : = a [ i , j ]− a [ i , k ] / a [ k , k ] ∗ a [ k , j ]
End j
b [ i ] : = b [ i ]− a [ i , k ] / a [ k , k ] ∗ b [ k ]
End i
End k
(k)
Supposons qu’à chaque étape k de la méthode de Gauss ak,k 6= 0. Dans ce cas, on a montré qu’il existe
une matrice M telle que :
MA = R
Qn−1
1. M est inversible puisque det(M) = k=1 det(Lk ) = 1 car det(Lk ) = 1 6= 0.
22 CHAPITRE 2. RÉSOLUTION DE SYSTÈMES LINÉAIRES
En effet, M −1 = L−1 −1 −1 −1
1 L2 . . . Ln−2 Ln−1 avec
1 0 ... ... ... ... ... 0
. ..
0 .. 0 .
. . ..
.. . . . . . ..
. .
. .. ..
.. 0 1 . .
−1
Lk = .
.. .. ..
.. . `k+1,k 1 . .
. .. ..
.. . . . . ..
. . 0 . . .
. . . .. .. ..
.. .. .. . . . 0
0 ... 0 `n,k 0 ... 0 1
Théorème 2.1.2 Si A est inversible, alors il existe une matrice de permutation P telle que P A = L U où L
est une matrice triangulaire inférieur L et U une matrice triangulaire supérieure U avec L est une matrice
à diagonale unitée `i,i = 1.
Théorème 2.1.4 Si une A est inversible et possède la factorisation A = L U, où L est une matrice triangu-
laire inférieure et U une matrice triangulaire supérieure avec L est une matrice à diagonale unitée `i,i = 1,
alors cette factorisation est unique.
2.1. MÉTHODES DIRECTES 23
Lemme 2.1.1 Si A est une matrice symétrique définie positive, alors A possède la factorisation L U.
Démonstration. Montrons que toutes les matrices principales d’ordre 1 ≤ k ≤ n sont inversible
A11 A12
A=
A21 A22
xT Ax = xT B B T x = (B T x)T B T x = (B T x, B T x) = kB T xk ≥ 0
(B T x)T B T x = (B T x, B T x) = kB T xk > 0
A = LDR
24 CHAPITRE 2. RÉSOLUTION DE SYSTÈMES LINÉAIRES
L D R = A = AT = RT D T LT = RT D LT
A = L D LT
√ √
Posons Λ = diag( µ11 , . . . , µnn ), alors
– Pour j = 1 :
√
a11 = b211 ⇒ b11 = a11
a21
a21 = b21 b11 ⇒ b21 =√
a11
..
.
ai1
ai1 = bi1 b11 ⇒ bi1 = √
a11
..
.
an1
an1 = bn1 b11 ⇒ bn1 = √
a11
– Pour j = 2
q
a22 = b21 b21 + b22 b22 ⇒ b22 = a22 − b221
a32 − b31 b21
a32 = b31 b21 + b32 b22 ⇒ b32 =
b22
d’une manière générale, on trouve la relation
– Pour j > 1, la j eme colonne est calculée à partir des colonnes 1, . . . , (j − 1) de la façon suivante :
v
u j−1
u X
bjj = t ajj − b2jk
k=1
j−1
X
aij − bjk bik
k=1
bij = pour i ≥ j + 1.
bjj
n3 n2 5n
+ − (+, −, /) et n racines carrées.
3 2 6
2.2.1 Généralités
Soit A ∈ K(n×n) et b ∈ Kn . On veut résoudre le système linéaire Ax = b où A est une matrice inversible.
Résoudre le système linéaire Ax = b par une méthode itérative consiste à construire une suite de vecteurs
(xk )k∈N où xk ∈ Kn tel que
lim xk = x = A−1 b.
k→+∞
Définition 2.2.1 Une méthode itérative est dite convergente si pour toute valeur initiale xO , on a
lim xk = x = A−1 b.
k→+∞
Définition 2.2.2 Une méthode itérative est dite consistante si la limite de la suite xk lorsqu’elle existe, est
solution du système linéaire Ax = b.
Définition 2.2.3 Une méthode itérative classique de la forme xk+1 = B xk + c est consistante si et seule-
ment si
c = (I − B)A−1 b,
I − B inversible.
26 CHAPITRE 2. RÉSOLUTION DE SYSTÈMES LINÉAIRES
Remarque 2.2.1 Une méthode itérative consistante n’est pas toujours convergente.
Exemple 2.2.1 Soit à résoudre le système Ax = b avec a = 21 I par la méthode itérative xk+1 = B xk + c
avec
c = −b,
B = I + A.
– cette méthode est consistante car B = I + A ⇒ I − B = −A qui est inversible et c =
(I − B)A−1 b = −b.
– cette méthode n’est pas convergente car :
3
xk+1 − x = B(xk − x) = (xk − x)
2
Par itération du schéma on obtient
k+1
k+1 3
x −x= (xO − x) qui diverge
2
Théorème 2.2.1 On considère une méthode itérative consistante xk+1 = B xk + c. Le système linéaire
Ax = b admet une solution unique si les assertions suivantes sont équivalentes :
1. %(B) < 1,
2. lim B k x = 0 pour tout vecteur x,
k→+∞
3. La méthode itérative est convergente.
Démonstration. 1) ⇒ 2) : %(B) < 1 ⇒ il existe au moins une norme matricielle telle que kBk < 1, car
%(B) = inf{kBk / k · k est une norme matricielle induite}
⇒ limk→+∞ kB k k = 0 car kB k k ≤ kBkk ,
⇒ limk→+∞ B k = 0.
2) ⇒ 3) :
ek = xk − x = B xk−1 − x + c
= B xk−1 − x + (I − B)A−1 b
= B xk−1 − x + (I − B)x
= B(xk−1 − x)
= Bek−1
⇒ ek = B k e0 (e0 donnée)
⇒ lim ek = lim (B k e0 ) = 0 (car lim B k = 0
k→+∞ k→+inf ty k→+∞
d’où limk→+∞ xk = x,
en suite la méthode itérative est convergente.
3) ⇒ 1) : Pour tout x0 donnée, on a limk→+∞ xk − x = 0,
d’où pour tout x0 , limk→+∞ ek = 0 avec ek = xk − x.
Soit λ ∈ Sp(B) associée au vecteur propre v.
alors Bv = λv ⇒ B k v = λk v
pour x0 = x − v, on obtient
B k (x − x0 ) = λk (x − x0 ) ⇒ B k e0 = λk e0
or B k e0 = ek , on en déduit que limk→+∞ B k = 0 car limk→+∞ ek = 0,
comme B k e0 = λk e0 , on déduit que limk→+∞ λk = 0
ce qui prouve que |λ| < 1, ∀λ ∈ Sp(B), d’où %(B) < 1.
2.2. MÉTHODES ITÉRATIVES 27
Il est important de pouvoir estimer le nombre d’itérations (vitesse de convergence) nécessaires à l’obtention
d’une approximation acceptable de la solution.
kk
Problème : Trouver k tel que ke ke0 k
≤ ε : erreur permise. Il suffit que : kB k k ≤ ε, c’est-à-dire :
ln(kB k k) ≤ ln(ε)
k ln(kB k k1/k ) ≤ ln(ε)
ln(ε)
k ≥ , car kBk < 1
ln(kB k k1/k )
1. On appelle le taux moyen de convergence pour la k ième itérative, d’une méthode itérative conver-
gente, le nombre
Rk (B) = − ln(kB k k1/k ).
Théorème 2.2.2 Soit B une matrice carrée. Pour toute norme matricielle, on a :
Démonstration.
28 CHAPITRE 2. RÉSOLUTION DE SYSTÈMES LINÉAIRES
– Montrons que ∀ε > 0, ∃kε tel que : ∀k ≥ kε , on a |kB k k1/k − %(B)| < ε ?
Soit λ ∈ Sp(B) une valeur propre associée à un vecteur propre x 6= 0, alors an a
Bx = λx implique B k x = λk x,
%(B)
%(Bε ) ≤ <1 ⇔ lim Bεk = 0
%(B) + ε k→+∞
kB k k
kBεk k = ⇒ kBεk k1/k < %(B) + ε
(%(B) + ε)k
d’où ∀ε > 0, ∃k0 , ∀k ≥ k0 , on a
Ax = b ⇔ Mx = Nx + b
⇔ x = M −1 Nx + M −1 b
⇔ x = Bx + c avec B = M −1 N et c = M −1 b
%(B) < 1.
2.2. MÉTHODES ITÉRATIVES 29
A= D−E −F =M −N
avec M = D et N = E + F Où
a11 0 . . . 0 0 a12 . . . a1n 0 0 ... 0
.. .. .. .. .. .. .. .. ..
0 . . . 0 . . . a . . .
D= . . . , −F = . .. .. , −E = .21 .. ..
.. .. .. 0 .. . . a(n−1)n .. . . 0
0 . . . 0 ann 0 ... 0 0 an1 . . . an(n−1) 0
On suppose que aii 6= 0, pour tout 1 ≤ i ≤ n ; dans ce cas la matrice M serait inversible.
La méthode itérative s’écrit
xk+1 = B xk + c = D −1 (E + F )xk + D −1 b.
Comme A = D − E − F alors E + F = D − A.
La méthode itérative peut aussi s’écrire
À partir de x ∈ Kn , on construit la suite (xk ) par ses composantes : les composantes de (xk ) sont données
par :
n
X
1
xk+1
i = bi − aij xkj
aii j=1
j6=i
où rik est la ieme composante du vecteur r k défini par : r k = b − Axk appelé vecteur résidu à la k eme
itération.
Méthode de Gauss-Seidel : Elle consiste à prendre M = D − E (M est triangulaire inférieure) et N = F :
A= M −N =D−E−F
La matrice M est inversible si aii 6= 0, ∀1 ≤ i ≤ n.
La méthode itérative s’écrit
Théorème 2.2.3 Si A est à diagonale strictement dominante, alors la méthode de Jacobi converge.
On déduit que !
n
X
max |Jij | = kJk∞ < 1
1≤i≤n
j=1
Théorème 2.2.4 Soit A une matrice hermitienne (resp. symétrique) et définie positive.
Considérons la décomposition A = M − N avec M inversible.
Si la matrice M ∗ + N (resp. la matrice M T + N) est définie positive, alors %(M −1 N) < 1.
De plus, le schéma itératif classique xk+1 = B xk + c avecB = M −1 N et c = M −1 b est convergente.
Démonstration.
1. D’abord on a M ∗ + N = M ∗ + M − A.
2.2. MÉTHODES ITÉRATIVES 31
kx − M −1 Axk2A = kx − yk2A
= (x − y)∗ A(x − y)
= x∗ Ax − x∗ Ay − y ∗ Ax + y ∗ Ay
= kxk2A − y ∗M ∗ y − y ∗My + y ∗ Ay
= 1 − y ∗(M ∗ + M − A)y
= 1 − y ∗(M ∗ + N)y
Corollaire 2.2.1 Soit A une matrice hermitienne (resp. A une matrice symétrique).
Si la matrice 2D − A est définie positive, alors la méthode de Jacobi converge si et seulement si la matrice
A est définie positive.
car “det((D − E)−1 )det(D) = 1” puisque (D − E) est triangulaire inférieure et D est diagonale, ces deux
matrices ont la même diagonale, dans ce cas on a : det(D − E) = det(D).
ceci montre que λ est une valeur propre de L1 , avec λ 6= 0 alors {λ1/2 , −λ1/2 } ⊂ Sp(J).
Réciproquement : Si β 6= 0 est une valeur propre de J, alors β 2 est une valeur propre de L1 . D’où, on en
déduit que %(L1 ) = (%(J))2 .
Corollaire 2.2.2 On a
%(J) < 1 ⇔ %(L1 ) < 1.
alors les méthodes de Jacobi et de Gauss-Seidel convergent où divergent simultanément.
Lorsque les deux méthodes convergent, alors la méthode de Gauss-Seidel converge deux fois plus vite que
la méthode de Jacobi : 2 ln(%(J)) = ln(%(L1 )) ce qui est équivalent : 2 v(J) = v(L1 ).
34 CHAPITRE 2. RÉSOLUTION DE SYSTÈMES LINÉAIRES
Chapitre 3
3.1 Introduction
Ce chapitre traite de l’approximation d’une fonction dont on ne connaît les valeurs qu’en certains points.
Plus précisément, étant donné n + 1 couples (xi , yi ), le problème consiste à trouver une fonction Φ =
Φ(x) telle que Φ(xi ) = yi pour i = 0, . . . , m, où les yi sont des valeurs données.
Définition 3.1.1 On dit alors que Φ interpole {yi } aux nœuds {xi }.
On parle d’interpolation polynomiale quand Φ est un polynôme, d’approximation trigonométrique
quand Φ est un polynôme trigonométrique et d’interpolation polynomiale par morceaux (ou d’interpolation
par fonctions splines ou d’interpolation par fonctions à base radiales) si Φ est polynomiale par mor-
ceaux.
Les quantités yi peuvent, par exemple, représenter les valeurs aux nœuds xi d’une fonction f connue ana-
lytiquement ou des données expérimentales. Dans le premier cas, l’approximation a pour but de remplacer
f par une fonction plus simple en vue d’un calcul numérique d’intégrale ou de dérivée. Dans l’autre cas,
le but est d’avoir une représentation synthétique de données expérimentales dont le nombre peut être très
élevé. Nous étudions dans ce chapitre l’interpolation polynomiale, polynomiale par morceaux et les splines
paramétriques. Nous aborderons aussi les interpolations trigonométriques et interpolations basées sur les
polynômes orthogonaux.
Soient [a, b] un intervalle de R, S = (xi )0≤i≤n une subdivision de [a, b] et f : [a, b] → R une fonction
connue aux (n + 1) points xi (i = 0, . . . , n) de la subdivision S, c’est-à- dire qu’on connaît les valeurs
yi = f (xi ), pour i = 0, . . . , n.
Définition 3.1.2 On dit qu’un polynôme P de degrée inférieur ou égal à n (i.e., deg(P) ≤ n) interpole f
(ou encore interpole les valeurs y0 , . . . , yn aux (n + 1) points x0 , . . . , xn s’il vérifie les conditions d’inter-
polation suivantes :
P(xi ) = f (xi ), (où encore yi = P(xi ) i = 0, . . . , n
35
36 CHAPITRE 3. INTERPOLATION ET APPROXIMATION POLYNÔMIALE
d’où n
X
Pn (xi ) = cj `j (xi ) = yi , i = 0, . . . , n
j=0
Pour montrer l’unicité, supposons qu’il existe un autre polynôme Ψm de degré m ≤ n tel que Ψm (xi ) = yi
pour i = 0, . . . , n. La différence Pn − Ψm s’annule alors en n + 1 points distincts xi , elle est donc nulle.
Ainsi, Pn = Ψm .
1. [Link] est un mathématicien Franco-Italien(1736 − 1813)
3.3. DÉTERMINATION DU POLYNÔME D’INTERPOLATION 37
Corollaire 3.2.1 On a n
X ωn+1 (x)
Pn (x) = 0
yi
i=0
(x − xi )ωn+1 (xi )
où ωn+1 est le polynôme nodal de degré n + 1 défini par
n
Y
ωn+1 (x) = (x − xi ).
i=0
la relation (0.1) est appelée formule d’interpolation de Lagrange, et les polynômes `i (x) sont les poly-
nômes caractéristiques (de Lagrange).
Y4
x − xj x − x0 x − x2 x − x3 x − x4
`1 (x) = = ,
j=0
x1 − xj x1 − x0 x1 − x2 x1 − x3 x1 − x4
j6=2
Yn
x − xj x − x0 x − x1 x − x3 x − x4
`2 (x) = = ,
j=0
x2 − xj x2 − x0 x2 − x1 x2 − x3 x2 − x4
j6=3
Y4
x − xj x − x0 x − x1 x − x2 x − x4
`3 (x) = = ,
j=0
x3 − xj x3 − x0 x3 − x1 x3 − x2 x3 − x4
j6=4
Y4
x − xj x − x0 x − x1 x − x2 x − x3
`4 (x) = = .
j=0
x4 − xj x4 − x0 x4 − x1 x4 − x2 x4 − x3
j6=4
3.3.1 Cas où n = 2
Il s’agit de déterminer une polynôme d’interpolation P de degré n = 2, c’est-à-dire P ∈ P2 . On écrit
P(x) = a0 + a1 x + a2 x2 .
0.8
0.6
0.4
li(x)
0.2
−0.2
−0.4
−0.6
−1 −0.5 0 0.5 1
x
Ce système admet une unique solution si dét(A) 6= 0 (c’est-à-dire le discriminant ∆ 6= 0). On obtient un
système matricielle Ax = b à résoudre dont l’inconnu est le vecteur x, on a
−1
a0 1 x0 x20 y0
a1 = 1 x1 x21 y1 .
a2 1 x2 x22 y2
Le discriminant ∆ = dét(A) qu’on calcule selon
1 x0 x20
dét(A) = 1 x1 x21 = (x2 − x1 )(x2 − x0 )(x1 − x0 ).
1 x2 x22
Une fois les coefficients a0 , a1 et a2 sont calculés, on a :
P(x) = a0 + a1 x + a2 x2
a0
= (1 x x2 ) a1
a2
−1
1 x0 x20 y0
= (1 x x2 ) 1 x1 x21 y1
1 x2 x22 y2
y0
= (ξ0 ξ1 ξ2 ) y1
y2
3.3. DÉTERMINATION DU POLYNÔME D’INTERPOLATION 39
−1
1 x0 x20
avec (ξ0 ξ1 ξ2 ) = (1 x x2 ) 1 x1 x21 . D’après le technique de transposition, on obtient le
1 x2 x22
système matricielle suivant :
−1
ξ0 1 1 1 1
ξ1 = x0 x1 x2 x
ξ2 x20 x21 x22 x2
(x − x1 )(x − x2 )
ξ0 =
(x0 − x1 )(x0 − x2 )
(x − x0 )(x − x2 )
ξ1 =
(x1 − x0 )(x1 − x2 )
(x − x0 )(x − x1 )
ξ2 = .
(x2 − x0 )(x2 − x1 )
On pose `0 (x) = ξ0 , `1 (x) = ξ1 et `2 (x) = ξ2 qui sont respectivement les polynômes de Lagrange associés
à x0 , x1 et x2 . Dans ce cas, on a :
Exemple 3.3.1 Pour des valeurs données, de la fonction x 7→ f (x), aux points x = x0 , x2 et x2 , on exprime
le polynôme d’interpolation par
Après simplification, on a
1
P2 (x) = 5x2 + 9x − 14 .
6
On a bien P2 (1) = 0, P2 (−1) = −3 et P2 (2) = 4.
Cette formule consiste à écrire les valeurs f (xi ) sous la forme d’une combinaison linéaire
Exemple 3.4.1 Pour n = 2, on a
f (x0 ) f (x1 ) f (x2 )
f [x0 , x1 , x2 ] = + +
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
Est-ce qu’on peut écrire l’expression f [x0 , x1 , x2 , x3 ] sous une forme plus ssimple ? Trouver α et β tels que
f [x0 , x1 , x2 , x3 ] = αf [x0 , x1 , x2 ] + βf [x1 , x2 , x3 ].
Par comparaison des deux termes, on obtient
1 1
α= et β=
x0 − x3 x3 − x0
f [x1 , x2 , x3 ] − f [x0 , x1 , x2 ]
f [x0 , x1 , x2 , x3 ] = .
x3 − x0
42 CHAPITRE 3. INTERPOLATION ET APPROXIMATION POLYNÔMIALE
La formule générale des différences divisées est donnée par l’expression récurrente :
f [x1 , . . . , xn ] − f [x0 , . . . , xn−1 ]
f [x0 , x1 , . . . , xn ] =
xn − x0
Nous avons écris f [xi ] au lieu de f (xi ). D’où, par exemple, on calcule f [x2 , x3 ] par
x0 f [x0 ]
f [x0 , x1 ]
x1 f [x1 ] f [x0 , x1 , x2 ]
f [x1 , x2 ] f [x0 , x1 , x2 , x3 ]
x2 f [x2 ] f [x1 , x2 , x3 ]
f [x2 , x3 ]
x3 f [x3 ]
TABLE 3.1 – Schéma pour le calcul des différences divisées
f [x3 ] − f [x2 ]
f [x2 , x3 ] =
x3 − x2
et pour f [x1 , x2 , x3 ] par
f [x2 , x3 ] − f [x1 , x2 ]
f [x1 , x2 , x3 ] = .
x3 − x1
D’après l’expression générale du polynôme d’interpolation de Newton, on obtient
Pn (x) = f [x0 ] + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 ) + . . .
+f [x0 , . . . , xn ](x − x0 )(x − x1 ) . . . (x − xn−1 ).
Exemple 3.4.2 En utilisant le principe des différences divisées pour obtenir le polynôme d’interpolation
tel que
f (1) = 0, f (−1) = −3, f (2) = 4
Comme l’ulistre le tableau, on remarque
x f (x) Différences divisées
1 0
−3 − 0 3
=
−1 − 1 2
7
3
− 23 5
−1 −3 =
2−1 6
4 − (−3) 7
=
2 − (−1) 3
2 4
TABLE 3.2 – Schéma pour le calcul des différences divisées
3 7 f [x1 , x2 ] − f [x0 , x1 ] 5
f [x0 , x1 ] = , f [x1 , x2 ] = , f [x0 , x1 , x2 ] = = .
2 3 x2 − x0 6
Ainsi, on obtient
P2 (x) = f [x0 ] + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 )
3 5
= 0 + (x − 1) + (x − 1)(x + 1)
2 6
1
= 5x2 + 9x − 14 .
6
3.5. ERREUR D’INTERPOLATION 43
Dans cette section, nous évaluons l’erreur d’interpolation faite quand on remplace une fonction f donnée
par un polynôme Pn qui l’interpole aux nœuds x0 , x1 , . . . , xn .
Théorème 3.5.1 Soient x0 , x1 , . . . , xn , (n+1) nœuds distincts et soit x un point appartenant au domaine de
définition de f . On suppose que f esst de classe C n+1 sur le plus petit intervalle Ix contenant x0 , x1 , . . . , xn
et x. L’erreur d’interpolation au point x est donnée par
n
f (n+1) (ξ) Y
En (x) = f (x) − Pn (x) = (x − xi ),
(n + 1)! i=0
où ξ ∈ Ix .
Démonstration. Comme f (xi ) = Pn (xi ) pour i = 0, 1, . . . , n, alors il existe une fonction réelle φ telle que
n
Y
f (x) − Pn (x) = φ(x) (x − xi ),
i=0
Q
Pour x fixé et x 6= xi (i = 0, 1, . . . , n), posons g(t) = f (t) − Pn (t) − c ni=0 (x − xi ) où c est un paramètre
réel choisi tel que g(x) = 0. Dans ce cas, la condition g(x) = 0 entraîne
f (x) − Pn (x)
c= n .
Y
(x − xi )
i=0
Maintenant, remarquons que la fonction g est de classe C n+1 sur [a, b] et de plus
g(x) = 0,
g(xi ) = 0, pour i = 0, . . . , n,
c’est à dire que g admet n + 2 racines distinctes deux à deux et est de de classe C n+1 sur [a, b]. Cela entraîne
que g 00 admet n + 1 racines distinctes deux à deux et est de de classe C n sur [a, b].
Et en réitérant, on a g 00 admet n racines distinctes deux à deux et est de de classe C n−1 sur [a, b] et finalement,
on arrive à vérifier que g (n+1) admet une racine sur ]a, b[. Ainsi,
Remarque 3.5.1 La majoration de l’erreur d’interpolation donnée ci-dessus peut laisser croire que si le
nombre d’abscisses d’in- terpolation n est grand, alors le polynôme d’interpolation Pn de f aux points
d’interpolation x0 , x1 , . . . , xn tend vers f . En fait, on n’a pas nécessairement lim f (x) − Pn (x) = 0 pour
n→+∞
tout x ∈ [a, b] car cette limite dépend aussi de la façon dont la quantité Mn se comporte lorsque la valeur
de n devient large. L’exemple ci-dessous permet d’illustrer cette remarque.
Définition 4.2.1 On appelle formule de quadrature ou formule d’intégration numérique toute formule
permettant de calculer une approximation de I(f ).
Définition 4.2.2 Soit I =]a, b[ un intervalle avec −∞ ≤ a < b ≤ +∞. On appelle formule (ou méthode)
de quadrature à n+1 points sur C(I) la donnée d’une forme linéaire ϕn définie sur C(I) par :
n
X
∀f ∈ C(I), ϕn = λn,k f (xn , k)
k=0
où n est un entier naturel non nul, (xn,k )0≤k≤n une suite de points deux à deux distincts dans l’intervalle I
et (yn,k )0≤k≤n une suite de réels non tous nuls.
Rb
Si π ∈ C(I, R+∗ ) et f ∈ C(I) telle que a f (x)π(x)dx soit convergente, on cherche des formules de
quadrature, avec des coefficients xn,k et λn,k indépendants de f, permettant d’approximer une telle intégrale.
On écrira : Z b n
X
f (x)π(x)dx ' ϕn (f ) = λn,k f (xn , k)
a k=0
45
46 CHAPITRE 4. INTÉGRATION ET DÉRIVATION NUMÉRIQUE
Définition 4.2.3 Une formule de qudrature à n+1 points sur C(I) est dite d’ordre p si elle est exacte sur
Rp [x] et iinexacte pour au moins un polynôme de Rp+1[x].
Définition 4.2.4 On dit qu’une méthode de quadrature définie par une suite de formes linéaires (ϕn )n est
convergente si pour toute fonction f ∈ C(I) la suite réelles (ϕn (f ))n converge vers ϕ(f ).
Une possibilité consiste à remplacer f par une approximation fn , où n est un entier positif, et calculer
I(fn ) au lieu de I(f ). En posant In (f ) = I(fn ), on a
Z b
In (f ) = fn (x)dx, n ≥ 1. (0.1)
a
L’approximation fn doit être facilement intégrable, ce qui est le cas si, par exemple, fn ∈ Pn . Une
méthode naturelle consiste à prendre fn = Πn f , le polynôme d’interpolation de Lagrange de f sur un
ensemble de n + 1 nœuds distincts {xi , i = 0, . . . , n}. Ainsi, on définit de (0.1) que
n
X Z b
In (f ) = f (xi ) `i (x)dx, n ≥ 1. (0.2)
i=0 a
où `i est le polynôme caractéristique de Lagrange de degré n associé au nœuds xi . On note que (0.2) est un
cas particulier de la formule de quadrature suivante :
n
X
In (f ) = αi f (xi ), n ≥ 1. (0.3)
i=0
Rb
où les coefficients αi de la combinaison linéaire sont donnés par αi = a
`i (x)dx.
Le système {(f (x1 ), α1 ), . . . , (f (xn ), αn )} est un système pondéré de somme In (f ). On dit aussi que
la formule (0.3) est une somme pondérée des valeurs de f aux points xi , pour i = 0, . . . , n. On dit que
ces points sont les nœuds de la formule de quadrature et que les nombres αi ∈ R sont ses coefficients ou
encore ses poids. Les poids est les nœuds dépendent en général de n.
Définition 4.2.5 On appelle le degré d’exactitude d’une formule de quadrature, le plus grand entier r ≥ 1
pour lequel
In (f ) = I(f ), ∀fn ∈ Pr
Exercice 1
Montrer que l’ordre maximum d’une formule de quadrature à n+1 points est 2n+1.
4.3. QUADRATURES INTERPOLATOIRES 47
Theorem 4.4.1 Soit f une fonction de classe C 1 sur [a,b] et n un vecteur naturel non nul. Avec les notations
qui précèdent, il existe un réel cn ∈ [a, b] tel que :
Z b
(b − a)2 0
f (x)dx − Rn (f ) = f (cn )
a 2n
et on a : Z b
kf 0 k∞ (b − a)2
f (x)dx − Rn (f ) ≤
a 2n
h3 00 b−a
E0 (f ) = f (ξ), h= , (1.2)
3 2
où ξ ∈]a, b[. En effet, le développement de Taylor au second ordre de f en c = (a + b)/2 s’écrit
Exemple 4.4.1 On considère la fonction f : x 7→ f (x) = sin(x), on veut intégrer cette fonction sur
l’intervalle [1, 1.2].
La formule du point milieu implique
Z 1.2
sin(x)dx = (1.2 − 1) sin((1 + 1.2)/2) ≈ 0.2 × 0.8912 = 0.1782.
1
48 CHAPITRE 4. INTÉGRATION ET DÉRIVATION NUMÉRIQUE
*Formule composite du rectangle : Supposons maintenant qu’on approche l’intégrale I(f ) en remplaçant
f par son interpolation polynomiale composite de degré 0 sur [a, b], construite sur m sous-intervalles de
largeur h = (b − a)/m, avec m ≥ 1. En introduisant les nœuds de quadrature xk = a + (2k + 1)h/2, pour
k = 0, . . . , m − 1, on obtient la formule composite du point milieu :
m−1
X
Im = h f (xk ), m ≥ 1. (1.4)
k=0
Cette formule est obtenue en remplaçant f par Π1 f , son polynôme d’interpolation de Lagrange de
degrée 1 aux noeuds x0 = a et x1 = b. Les noeuds de la formule de quadrature sont alors x0 = a, x1 = b et
ses poids α0 = α1 = (b − a)/2 :
Z b
b−a
I1 (f ) = f (x)dx = [f (a) + f (b)].
a 2
En effet, soit A(a, f (a)) et B(b, f (b)) les deux points dont les abscisses respectifs a et b. Les points
M(x, y) du segment [AB] ont une abscisse x ∈ [a, b] et une ordonnée
f (b) − f (a)
y(x) = f (a) + (x − a)
b−a
L’approximation par la méthode des trapèze implique
Z b Z b
f (x)dx ≈ y(x)dx
a a
Analytiquement, on obtient
Z b Z b
f (b) − f (a) b−a
y(x)dx = f (a) + (x − a) dx = (f (a) + f (b)) .
a a b−a 2
Cette formule est exacte pour les polynômes de degré 1 mais pas pour x2 , elle est donc d’ordre 1.
Si f ∈ C 2 ([a, b]), l’erreur de quadrature est donnée par
h3 00
E1 (f ) = − f (ξ), h = b − a,
12
où ξ est un point de l’intervalle d’intégration. C’est-à-dire que
I(f ) = I1 (f ) + E1 (f ).
Comme ω2 (x) = (x − a)(x − b) < 0 sur ]a, b[, alors d’après le théorème de la moyenne on a
Z b
1 (b − a)3
E1 (f ) = f 00 (ξ) ω2 (x)dx = f 00 (ξ) ,
2 a 12
Exemple 4.4.2 On considère la fonction f : x 7→ f (x) = ex , on veut intégrer cette fonction sur l’intervalle
[1, 2]. La valeur théorique de cette intégrale est
Z 2
ex dx = e2 − e1 = e(e − 1) ≈ 4.6708.
1
50 CHAPITRE 4. INTÉGRATION ET DÉRIVATION NUMÉRIQUE
Exemple 4.4.3 On considère la fonction f : x 7→ f (x) = sin(x), on veut intégrer cette fonction sur
l’intervalle [1, 1.2].
La formule des trapèze implique
Z 1.2
sin(x)dx = (1.2 − 1)/2(sin(1) + sin(1.2)) ≈ 0.1 × 1.7735 = 0.1774.
1
On peut observer que par la relation de Chasles pour les intégrales, on a [a, b] = [a, c]∪[c, b] où c = (a+b)/2,
et on a Z Z Z b c b
f (x)dx = f (x)dx + f (x)dx.
a a c
Alors on a
Z b Z x1 Z x2 Z xn n−1 Z
X xi+1
f (x)dx = f (x)dx + f (x)dx + . . . + f (x)dx = f (x)dx
a x0 x1 xn−1 i=0 xi
4.4. LA MÉTHODE DES RECTANGLES À GAUCHE 51
où bien " #
Z b n−1
X
h b − a 2 00
f (x)dx = f (a) + 2 f (xi ) + f (b) − h f (ξ),
a 2 i=1
12
où ξ ∈]a, b[. Le degré d’exactitude est à nouveau égal à 1.
La méthode composée est la méthode des trapèzes définie par :
n−1
!
b−a f (a) + f (b) X
Tn (f ) = + f (xi )
n 2
k=1
Theorem 4.4.2 Soit f une fonction de classe C 2 sur [a, b] et n un entier naturel non nul. Avec les notations
qui précèdent, il existe un réel x i ∈ [a, b] tel que :
Z b
(b − a)3 00
f (x)dx − Tn (f ) = − f (ξ)
a 12n2
et on a : Z b
(b − a)3 00
f (x)dx − Tn (f ) ≤ kf k∞
a 12n2
p2 (x) = A + Bx + Cx2 ,
n−1 n−1
!
h X X
= f (a) + 2 f (x2i ) + 4 f (x2i+1 ) + f (b) .
6 i=1 i=0
4
Theorem 4.4.3 Soit f une fonction de classe C sur [a, b] et n un entier naturel non nul. Avec les notations
qui précèdent, il existe un réel ξ ∈ [a, b] tel que :
Z b
(b − a)5 (4)
f (x)dx − Sn (f ) = − f (ξ)
a 2880n4
et on a : Z b
(b − a)5 (4)
f (x)dx − Sn (f ) ≤ f ∞
a 2880n4
Chapitre 5
Nous nous intéresserons dans cette partie au problème de maximisation ou minimisation des fonctions
de plusieurs variables. Commençons par les fonctions de deux variables. Nous rappelons ici un théorème
fondamental, qui va servir dans ce chapitre
Théorème 5.0.2 Une matrice symétrique A est définie positive si et seulement si det(Ak ) > 0 pour toutes
les sous-matrices principales Ak de A.
Définition 5.1.1 On appelle matrice hessienne de f au point X0 , noté Hf (X0 ), la matrice de taille (n×n)
définie par ∂2f
∂2f ∂2f
2
∂x1
(X 0 ) ∂x1 ∂x2
(X 0 ) . . . ∂x1 ∂xn
(X 0 )
∂2f 2
∂ f ∂f2
∂x2 ∂x1 (X0 ) 2 (X0 ) . . . ∂x2 ∂xn (X0 )
Hf (X0 ) =
..
∂x 2
.. .. ..
. . . .
∂2f ∂2f ∂2f
∂xn ∂x1
(X0 ) ∂xn ∂x2 (X0 ) . . . ∂x2
(X0 )
n
f (X) = f (x1 , . . . , xn )
Définition 5.1.2 On dit que (x0 , y0 ) est un point critique de f si fx (x0 , y0) = 0 et fy (x0 , y0 ) = 0 où fx et
fy dénotent les dérivées partielles de f par rapport à x et y respectivement.
est définie positive,un maximum local si elle est définie négative ou un point selle si elle est indéfinie. La
forme quadratique s’écrit
fxx (X0 ) fxy (X0 ) h
q(h, k) = (h, k)
fyx (X0 ) fyy (X0 ) k
La matrice précédente
fxx (X0 ) fxy (X0 )
H(X0 ) =
fyx (X0 ) fyy (X0 )
définissant la forme quadratique est appelée la matrice hessienne de f en X0 . Soient λ1 et λ2 les valeurs
propres de H(X0). On déduit du théorème 5.0.2 :
1. (x0 , y0) est un minimum local si λ1 > 0 et λ2 > 0.
2. (x0 , y0) est un maximum local si λ1 < 0 et λ2 < 0.
3. (x0 , y0) est un point selle si λ1 λ2 < 0.
Comme on l’a vu au théorème 5.0.2, la matrice hessienne H(X0 ) est définie positive si ses déterminants
principaux fxx (X0 ) et ∆ = det(H(X0 )) = fxx (X0 )fyy (X0 ) − (fxy (X0 )))2 sont > 0.
La matrice hessienne est définie négative si −H(X0 ) est définie positive, ce qui sera le cas si ses détermi-
nants principaux −fxx (X0 ) et det(−H(X0 )) = det(H(X0 )) = ∆ sont > 0, c’est-à-dire fxx (X0 ) < 0 et
∆ > 0. Il résulte de ce qui précède que H(X0 ) est indéfinie si ∆ < 0. Ainsi, on obtient :
1. Si ∆ > 0 et fxx (X0 ) > 0, alors X0 = (x0 , y0) est un minimum local.
2. Si ∆ > 0 et fxx (X0 ) < 0, alors X0 = (x0 , y0) est un maximum local.
3. Si ∆ < 0, alors X0 = (x0 , y0 ) est un point selle.
On a ∂F
fx (x, y) = ∂x
(x, y) = x2 + y 2 − 4y
∂F
fy (x, y) = ∂y
(x, y) = 2xy − 4x
On obtient les quatre points critiques : X1 = (0, 0), X2 = (0, 4), X3 = (2, 2) et X4 = (−2, 2). La matrice
hessienne de f est
∂2F 2x 2y − 4
H(x, y) = (x, y) = .
∂x∂y 2y − 4 2x
56 CHAPITRE 5. MÉTHODE DES MOINDRES CARRÉS ET OPTIMISATION QUADRATIQUE
Considérons une fonctions de n variables définie par F (x) = F (x1 , . . . , xn ). Un point a = (a1 , . . . , an )
∂F
est un point critique si Fxi (a) = 0 pour i = 1, . . . , n, où Fxi = ∂x i
désigne la dérivée partielle par rapport à
xi .
C’est-à-dire que Les points critiques de l’application F : (x1 , . . . , xn ) 7−→ F (x1 , . . . , xn ) sont les solutions
de l’équation vectorielle suivante :
∇F (x1 , . . . , xn ) = 0
ce qui équivalent au système d’équations suivant
∂F
∂x1
(x1 , . . . , xn ) = 0
∂F
∂x2
(x1 , . . . , xn ) = 0
..
.
∂F
∂xn
(x1 , . . . , xn ) = 0
Utilisant, comme pour les fonctions de deux variables, la formule de Taylor on montre qu’un point critique
X
1. est un minimum local si la matrice hessienne H(X) est définie positive,
2. est un maximum local si H(X) est définie négative
3. est un point selle si H(X) est indéfinie.
Ici, la matrice hessienne est la matrice symétrique n × n définie par
∂2F
H(X) = (Fxi xj (X)) = (x1 , . . . , xn ) ,
∂xi ∂xj
où i = 1, . . . , n et j = 1, . . . , n.
5.2. FONCTIONS QUADRATIQUES 57
F (x, y, z) = x2 + xz − 3 cos(y) + z 2 .
Il en résulte que les points critiques sont les points Xk = (0, kπ, 0), k ∈ Z. La matrice hessienne au point
Xk est
2 0 1
H(Xk ) = 0 3(−1)k 0 .
1 0 2
– Si k est pair, les valeurs propres de H(Xk ) sont 3, 3 et 1. Ainsi, H(Xk ) est définie positive si k est
pair.D’où il s’ensuit que Xk est un minimum local si k pair.
– si k est impair, les valeurs propres sont 3, −3 et 1. Ainsi, H(Xk ) est indéfinie si k est impair. D’où
Xk est un point selle si k est impair.
Si E est dimension finie n, (e1 , . . . , en ) sa base canonique et L = (`(e1 ), . . . , `(en )) le vecteur ligne des
images de ` dans la base (e1 , . . . , en ). Soit x = x1 e1 + . . . + xn en un vecteur dans E et X = (x1 , . . . , xn ),
alors
`(x) = (L, X)
En dimension finie, toute forme linéaire est représentée par un produit scalaire.
Définition 5.2.2 Une forme bilinéaire a sur un espace vectoriel réel E est une application de E × E dans
R, linéaire par rapport à chacune de ses deux arguments.
Soit a la forme bilinéaire, on a donc :
Représentation matricielle
Toute forme bilinéaire sur un espace E de dimension finie n se représente, dans une basee (e1 , . . . , en )
par une matrice carrée d’ordre n. Les coefficients Aij de la matrice A représentant l’application a sont
donnés par
Aij = a(ei , ej )
Soit u = u1 e1 + . . . + un en et v = v1 e1 + . . . + vn en on a
où U = (u1 , . . . , un )T et V = (v1 , . . . , vn )T .
Si (·, ·) représente le produit scaalaire usuel de Rn et AT est la matrice transposée de A définie par
Définition 5.2.3 1. Une forme bilinéaire a sur un espace vectoriel réel E est symétrique si :
2. Une forme bilinéaire a sur un espace vectoriel réel E est définie positive si :
∀u ∈ E, a(u, u) ≥ 0 et a(u, u) = 0 ⇔ u = 0
Les formes bilinéaires symétriques sont représentées par des matrices symétriques Aij = Aji .
Les formes bilinéaires symétriques définies positives sont représentées par des matrices symétriques définies
positives, qui vérifient donc
(AU, U) ≥ 0, ∀U ∈ Rn et (AU, U) = 0 ⇒ U = 0
Théorème 5.2.2 Si A est une matrice symétrique définie positive, il y a équivalence entre les trois pro-
blèmes suivants :
trouver X ∈ Rn tel que
(1)
AX = b
trouver X ∈ Rn tel que
(2)
(AX, Y ) = (b, Y ), ∀Y ∈ Rn
trouver X ∈ Rn tel que
(3)
J(X) = 21 (AX, X) − (b, X) soit minimale.
1
J(X + λY ) = J(X) + λ ((AX, Y ) − (b, Y )) + λ2 (AY, Y )
2
en utilisant la symétrie de la matrice A.
On en déduit, si (AX, Y ) − (b, Y ) = 0 que J(X + λY ) = J(X) + 21 λ2 (AY, Y )
d’où en utilisant le fait que A est définie positive :
1
λ ((AX, Y ) − (b, Y )) + λ2 (AY, Y ) ≥ 0, ∀λ, ∀Y
2
le trinôme en λ ci-dessus doit être toujours positif. Ceci entraîne que son discriminant soit toujours négatif
ou nul. Or ce discriminant est
4 = ((AX, Y ) − (b, Y ))2
ceci implique (2).
min J(X)
X∈Rm
60 CHAPITRE 5. MÉTHODE DES MOINDRES CARRÉS ET OPTIMISATION QUADRATIQUE
en minimisant la norme euclidienne de leur différence, ou ce qui revient au même le carré de cette norme.
On utilise les propriétés classiques du produit scalaire (AU, V ) = (U, AT V ) pour obtenir :
la matrice AT A est une matrice carrée (m × m) symétrique définie positivedès lors que la matrice rectan-
gulaire A est de rang m. Le théorème (5.2.2) nous donne l’équivalence de ce problème de moindre carrés
avec la résolution du système linééaire
AT AX = AT b
On retrouve ainsi le système carré de m équations à m inconnues, dit “système des équations normales”.
y = α + βx
qui représente “au mieux” une collection de n valeurs yi associées aux n abscisses xi . Au sens des moindres
carrés , ceci revient à minimiser la somme
n
X
(yi − (α + βxi ))2
i=1
On peut interpréter ce problème comme celui de la recherche du vecteur de la forme Ax le plus proche au
sens de la norme euclidienne d’un vecteur b donné dans Rn .
Les vecteurs de la forme Ax sont une combinaison linéaire des m vecteurs colonnes de la matrice A. Ces
5.3. APPLICATION AUX MOINDRES CARRÉS 61
(Ax − b, V ) = 0, ∀V ∈ F
(Ax − b, Aj ) = 0, ∀j = 1, . . . , n
AT Ax = AT b.