Vous êtes sur la page 1sur 82

NOTE DE COURS SUR LES INTERPOLATIONS ET

SYSTÈMES LINÉAIRES
Enseignants : Dr. Jamal ADETOLA et Uriel AGUEMON

December 8, 2020
Contents

1 Rappels : Formules de Taylor 3


1.1 Formule de Taylor avec reste intégrale . . . . . . . . . . . . . . . 3
1.2 Formule de Taylor avec reste de Lagrange . . . . . . . . . . . . . 5
1.3 Formule de Taylor Young . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1 Comment evaluer le polynôme a0 + a1x + a2x2 + · · · + anxn 8

2 Représentation des nombres et notion d'erreurs 10


2.1 Représentation d'un réel . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.1 Numération à base β . . . . . . . . . . . . . . . . . . . . 11
2.1.2 Changement de base de numération . . . . . . . . . . . . . 12
2.1.3 Arithmétique à précision nie . . . . . . . . . . . . . . . 14
2.1.4 La norme IEEE . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.5 Opérations élémentaires . . . . . . . . . . . . . . . . . . . 17
2.1.6 La perte de chires signicatifs . . . . . . . . . . . . . . . 18
2.1.7 Comment corriger la perte de précision dans une soustraction 19
2.2 Notion d'erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1 Erreurs de modélisation . . . . . . . . . . . . . . . . . . . 21
2.2.2 Erreurs de Troncature . . . . . . . . . . . . . . . . . . . . 22

3 Interpolation polynomiale 23
3.1 Interpolation polynomiale de Lagrange . . . . . . . . . . . . . . . 23
3.1.1 Algorithme de Neville . . . . . . . . . . . . . . . . . . . . 26
3.1.2 Méthode de Newton . . . . . . . . . . . . . . . . . . . . . 28
3.1.3 Méthode progressive de Newton . . . . . . . . . . . . . . . 31

1
3.1.4 Méthode regressive de Newton . . . . . . . . . . . . . . . 31
3.2 Interpolation inverse de Lagrange . . . . . . . . . . . . . . . . . . 33
3.3 Estimation d'erreur d'interpolation de Lagrange . . . . . . . . . . 35
3.3.1 Polynômes de CHEBYCHEV . . . . . . . . . . . . . . . . 37
3.4 Interpolation de Hermite . . . . . . . . . . . . . . . . . . . . . . 38
3.4.1 Interpolation par les fonctions Splines . . . . . . . . . . . 41
3.4.2 Spline d'ordre 2 . . . . . . . . . . . . . . . . . . . . . . . 42
3.4.3 Comment faire de l'interpolation par les splines . . . . . . 45

4 Résolution des systèmes linéaires 50


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2 Méthodes directes de résolution de systèmes linéaires Au = b . . 51
4.2.1 Systèmes triangulaires . . . . . . . . . . . . . . . . . . . 51
4.2.2 Elimination naïve de Gauss . . . . . . . . . . . . . . . . . 54
4.2.3 Triangularisation . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.4 Factorisation LU . . . . . . . . . . . . . . . . . . . . . . 59
4.2.5 Elimination de Gauss avec stratégie de pivot . . . . . . . 62
4.2.6 Système linéaires spéciaux : factorisations de Cholesky,
LDM t ... . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.7 Analyse d'erreur d'arrondi . . . . . . . . . . . . . . . . . 72
4.3 Méthodes itératives de résolution de systèmes linéaires Au = b . . 72
4.3.1 Méthodes itératives standard : Jacobi, Gauss Seidel, méth-
odes de relaxation . . . . . . . . . . . . . . . . . . . . . . 75
4.3.2 Convergence des méthodes . . . . . . . . . . . . . . . . . 80
4.4 Accélération de convergence . . . . . . . . . . . . . . . . . . . . 80

2
Chapter 1

Rappels : Formules de Taylor

1.1 Formule de Taylor avec reste intégrale


Propriété 1 Soit I un intervalle ouvert non vide. Soit f ∈ C n(I), x0 ∈ ∀x ∈ I
n x
(x − x0)
Z
X 1
f (x) = f (x0) + f (i)(x0) + f (n)(t)(x − t)n−1dt
i=1
i! (n − 1)! x0

Indication de Preuve Z x
f (x) − f (x0) = f 0(t)dt
x0
u = f 0 u0 = f 00
v 0 = 1 v = (x − t)
donc Z x Z x
0 0
f (t)dt = −f (t)(t − x0)]xx0 + f 00(t)(x − t)dt
x0 x0
et on prouve facilement le théorème.
Remarque Z x
1
Rn−1(x0, x) = f (n)(t)(x − t)n−1dt
(n − 1)! x0
R x (n) n−1
R x (n) (n) n−1
x f (t)(x − t) dt = x {f (t) − f (x 0 )}(x − t) dt +
R x0 (n) 0

x0 f (x0)(x − t)n−1dt
Z x Z x
= f (n)(x0) (x − t)n−1dt + {f (n)(t) − f (n)(x0)}(x − t)n−1dt
x0 x0

3
donc Z x
1 1
Rn−1 = f (n)(x0)(x − x0) + f (n)(t)(x − t)n−1dt
n! (n − 1)! x0

f (n) étant continue en x0 alors ∀ ε > 0, ∃δ > 0 tel que


|t − x0| < δ =⇒ |f (n)(t) − f (n)(x0)| < ε. Ainsi,
Z x Z x
| {f (n)(t) − f (n)(x0)}(x − t)n−1dt| ≤ |f (n)(t) − f (n)(x0)||x − t|n−1dt
x0 x0
Z x
≤ε |x − t|n−1dt
x0
Donc n
X f (i)(x0)
f (x) = f (x0) + (x − x0)i + o(x − x0)n
i=1
i!
Car
|f (n)(t) − f (n)(x0)}(x − t)n−1dt| ε
<
|x − x0|n n
∀t ∈ I vériant |t − x0| < δ .
Par ailleurs f (n) continue sur I, donc elle est continue sur [x; x0] par conséquent
∃M > 0 tel que |f (n)(t)| ≤ M ∀t ∈ [x; x0]
Z x
1
|Rn−1| ≤ |f (n)(t)||(x − t)|n−1dt
(n − 1)! x0
M
≤ |x − x0|n
n!
et on a n
X f (n)(x0)
f (x) = f (x0) + (x − x0)i + O((x − x0)n)
i=1
i!
car
|Rn−1| M
≤ sur [x; x0]
|x − x0| n!

4
1.2 Formule de Taylor avec reste de Lagrange
Théorème 1.2.1 (Formule de Taylor avec reste de Lagrange) Soit f : I −→
R
I, une fonction de classe C n+1(I) et soit a, x deux éléments de I. Alors il exste
un réel c entre a et x tel que :

f 0(a) f 00(a) 2 f (n)(a) n f


(n+1)
(c)
f (x) = f (a)+ (x−a)+ (x−a) +· · ·+ (x−a) + (x−a)n+1.
1! 2! n! (n + 1)!
(1.1)
Nous noterons Tn(x) la partie polynomiale de la formule de Taylor (elle dépend
de n mais aussi de f et a) :
f 0(a) f 00(a) 2 f (n)(a)
Tn(x) = f (a) + (x − a) + (x − a) + · · · + (x − a)n
1! 2! n!
Dans la plupart des cas on ne connaîtra pas ce c. Mais ce théorème permet
d'encadrer le reste. Ceci s'exprime par la proposition suivante :
Proposition 1.2.1 Si de plus la fonction |f (n + 1)| est majorée sur I par un réel
M, alors pour tout a, x ∈ I , on a :

|x − a|n+1
|f (x) − Tn(x)| ≤ M . (1.2)
(n + 1)!
Remarque 1 1. Dans ce théorème l'hypothèse f de classe C n+1 peut-être af-
faiblie en f est n + 1 fois dérivable sur I.

2. Le réel c est entre a et x signie  c ∈]a, x[ ou c ∈]x, a[.


3. Pour n = 0 c'est exactement l'énoncé du théorème des accroissements nis :
0
il existe c ∈]a, b[ tel que f (b) = f (a) + f (c)(b − a).

4. Si I est un intervalle fermé borné et f de classe C n+1 , alors f (n+1) est


(n+1)
continue sur I donc il existe un M tel que |f (x)| ≤ M pour tout x ∈ I .
Ce qui permet toujours d'appliquer la proposition.

5
5. Elle n'est valable si f est réel , ∃ ξ ∈]x0, x[ telque :

n
X f (i)(x0) if (n)(ξ)
f (x) = f (x0) + (x − x0) + (x − x0)n
i=1
i! | n! {z }
Reste de Lagrange

Exemple 1 f (t) = eit = cos t + i sin t t ∈ [0, 2π]. Si la formule avec reste de
Lagrange est vraie , ∃c ∈]0; 2π[ tel que :

f (2π) − f (0) = f 0(c)(2π − 0)


Or f 0(t) = ieit et |f 0(t)| = 1 ∀ t contradiction.

Exemple 2 f (x) = ex ∀i, f i(x) = ex et on a

n
X f (i)(x0) f (n+1)(ξ)
i
f (x) = f (x0) + (x − x0) + (x − x0)(n+1)
i=1
i! (n + 1)!
n
x0
X ex0 eξ i
=e + (x − x0) + (x − x0)(n+1)
i=1
i! (n + 1)!
n
x0
X (x − x0)i eξ
= e [1 + ]+ (x − x0)(n+1)
i=1
i! (n + 1)!
Posons h = x − x0 , on a:

n
x0
X hi eξ
f (x0 + h) = e [1 + ]+ h(n+1)
i=1
i! (n + 1)!

Pour x0 = 0 , On a

n
X hi eξ
f (h) = [1 + ]+ h(n+1)] 0 < ξ < h
i=1
i! (n + 1)!

eξ (n+1) eξ
|Rn| = | h |≤ |h|(n+1)
(n + 1)! (n + 1)!
6
eξ (n+1)
Si on veut avoir |Rn| <  on a
(n+1)! |h| ≤  , 0 < h < 1 , 0 <  < 1
1 < eξ < e < 3.
Il sut que (n + 1)! ≥
3
 pour  = 10−6 on a (n + 1)! ≥ 310−6 on prend n=9
On peut utiliser les formules de Taylor pour prouver certaines inégalités.
Exemple 1.2.1 Prouver que pour tout nombre réel positif x,
x2 x2 x3
x− ≤ ln(x + 1) ≤ x − + . (1.3)
2 2 3
Exemple 1.2.2 Prouver que pour tout nombre réel x ∈ [0, π2 ],
x3 x3 x5
x− ≤ sin x ≤ x − + . (1.4)
6 6 120

1.3 Formule de Taylor Young


Proposition 1.3.1 (Formule de Taylor-Young) Soient f une application déni
sur un intervalle ouvert I, I∗
n ∈N et a ∈ I. On suppose que f est (n − 1) fois
dérivable sur I et admet une dérivée n-ième en a. Pour tout x ∈ I on a,
n
f k (a)
(1.5)
X
f (x) = (x − a)k + (x − a)n(x − a)
k!
k=0

avec lim (x − a) = 0


x→a
Cette formule permet de justier l'existence d'un développement limité. Elle
a donc un int'erêt théorique. Pour calculer eectivement les coecients de ce
DL à l'aide de cette formule, il faut pouvoir calculer les dérivées successives de
la fonction en 0 ce qui n'est possible que pour des fonctions simples.
Remarque 2 La réciproque du théorème précédent est fausse comme le montre
l'exemple fondamental suivant. Soit
 n ≥ 2. Considérons la fonction
RI −→ 
R
I
f: xn+1 sin x1n si x 6= 0
 x 7−→
0 si x=0
7
Cette fonction admet un développement limité à l'ordre n en 0 puisque f (x) =
0 + 0x + · · · + 0xn + xn(x) où (x) = x sin x1n et pour x 6= 0 |(x)| ≤ |x| → 0. La
fonction f est bien continue en 0 puisque lim f (x) = f (0) = 0. Elle est également
x→0
f (x) n
x ≤ |x| −→ 0 quand x −→ 0. Elle est dérivable en
dérivable en 0 puisque

x 6= 0 avec f 0(x) = (n + 1)xn sin x1n − n cos( x1n ). La fonction x 7−→ f 0(x) n'est
pas dérivable en 0.

1.3.1 Comment evaluer le polynôme a0 + a1x + a2x2 + · · · + anxn


Méthode de Horner

P (x) = (((anx + an−1)x + an−2)x + · · · )x + a0


Algorithmique

P ←− an
P ←− P x + an−1
...
P ←− P x + a1
P ←− P x + a0
Exemple
n
h
X hi
e =1+ + Rn
i=1
i!
Pour n connu on a:
P ←− nh
h
P ←− (P + 1) n−1
...
P ←− (P + 1) i!h
P ←− (P + 1) h1
P ←− (P + 1)

8
Exercice : Donner une approximation de ln 2 en utilisant le développement de
Taylor à l'ordre 5 de f (x) = ln(x + 1) au voisinage de 0 puis majoré l'erreur
commise.

9
Chapter 2

Représentation des nombres et notion d'erreurs

2.1 Représentation d'un réel


Dans le système de numération décimale traditionnelle qui est une numération
de position, nous utilisons dix symboles ou chires qui sont 0, 1, 2, 3, 4, 5, 6, 7,
8, 9.
La suite de chires anan−1 . . . a2a1a0 représente le nombre entier
anan−1 . . . a2a1a0 = a0 × 100 + a1 × 101 + a2 × 102 + . . . + an−1 × 10n−1 + an × 1
Pn
= k=0 ak 10k
Exemple
37294 = 30000 + 7000 + 200 + 90 + 4
= 3 × 104 + 7 × 103 + 2 × 102 + 9 × 101 + 4 × 100
La suite de chires 0.b1b2b3 . . . représente le nombre décimal
0.b1b2b3 . . . = b1 × 10−1 + b2 × 10−2 + b3 × 10−3 + . . .
= ∞ −k
P
k=1 bk 10
Exemple
7 2 1 5
0.7215 = 10 + 100 + 1000 + 10000
= 7 × 10−1 + 2 × 10−2 + 1 × 10−3 + 5 × 10−4
De façon générale, en numération décimale, un nombre réel est de la forme
n
X ∞
X
(anan−1 . . . a2a1a0.b1b2b3 . . .)10 = ak 10k + bk 10−k
k=0 k=1

10
où k=0 ak 10 est dite partie et est dite partie fractionnaire
Pn k
P∞ −k
entière k=1 bk 10

2.1.1 Numération à base β


Bien que le système décimal soit le système de numération traditionnelle, l'essor
de l'informatique a permis la vulgarisation des systèmes binaire (base 2), octal
(base 8) et hexadécimal (base 16).
Dans un système à base β , les chires utilisés sont 0, 1, . . . , β − 1. Lorsque
β > 10 il est alors nécessaire d'introduire des symboles pour représenter les
chires 10, 11, . . . , β − 1. On utilise un point comme séparateur de la partie
entière de la partie fractionnaire. Ainsi dans le système à base β un nombre est
représenté comme suit
n
X ∞
X
(anan−1 . . . a2a1a0.b1b2b3 . . .)β = ak β + k
bk β −k
k=0 k=1

Exemple
(21467)8 = 2 × 84 + 1 × 83 + 4 × 82 + 6 × 8 + 7
= 7 + 8(6 + 8(4 + 8(1 + 8(2)))) = 9015
Exemple
(0.36207)8 = 3 × 8−1 + 6 × 8−2 + 2 × 8−3 + 0 × 8−4 + 7 × 8−5
= 8−5(7 + 8(0 + 8(2 + 8(6 + 8(3))))) = 15495
32768
= 0.47226987 . . .
Remarque :
Dans ces deux exemples on voit le rôle que peut jouer l'algorithme de Horner pour
l'évaluation d'un polynôme. Cet algorithme consiste à transformer un polynôme
en une suite emboîtée de produit de la forme :
p(x) = a0 + a1x + a2x2 + . . . + an−1xn−1 + anxn
= a0 + x(a1 + x(a2 + . . . + x(an−1 + x(an))))
Cet algorithme se traduit par le pseudocode :
11
real array (ai)0:n
integer i, n
real p, x
p ← an
for i = n − 1 to 0 step -1 do
p ← ai + x . p
end for

2.1.2 Changement de base de numération


Regardons maintenant le passage d'une base à une autre.
Soit x = (anan−1 . . . a2a1a0.b1b2b3 . . .)α = I(x) + F(x) avec
Pn k
I(x) = (anan−1 . . . a2a1a0)α = k=0 ak α
et P∞ −k
F(x) = (0.b1b2b3 . . .)α = k=1 bk α

Soit β une autre base. Nous recherchons N = I(x) et F = F(x) sous la forme
N = (cmcm−1 . . . c2c1c0)β = c0 + β(c1 + β(c2 + . . . + β(cm−1 + β(cm))))
F = (0.d1d2 . . . dl . . .)β = β −1(d1 + β −1(d2 + . . . + β −1(dl−1 + β −1(dl + . . .))))

Conversion de la partie entière

On observe que les Ci sont obtenus comme reste de division euclidienne répétée
par β .
Dividende Quotient Reste
N q0 = c1 + β(c2 + . . . + β(cm−1 + β(cm))) c0
q0 q1 = (c2 + . . . + β(cm−1 + β(cm)) c1
q1 q2 = (c3 + . . . + β(cm−1 + β(cm)) c2
... ... ...
qm−2 qm−1 = cm cm−1
qm−1 qm = 0 cm

12
Conversion de la partie fractionnaire

On observe que les di sont obtenus par un processus de multiplication par β . En


eet :

F0 = F F1 = F(βF0) d1 = I(βF0)
F1 F2 = F(βF1) d2 = I(βF1)
F2 F3 = F(βF2) d2 = I(βF2)
... ... ...
Fl−2 Fl−1 = F(βFl−2) dl−1 = I(βFl−2)
Fl−1 Fl = F(βFl−1) dl = I(βFl−1)
... ... ...

Conversion base 10 ↔ 8 ↔ 2

Le passage du système décimal au sytème octal utilise les processus décrits plus
haut. Les conversions du système octal au binaire et vice-versa et du système
hexadécimaal au binaire et vice-versa se font de façon beaucoup plus simple et
par substitution suivant des tableau de correspondance.
En eet
P3m+2
(c3m+2c3m+1c3m . . . c2c1c0)2 = k=0 c k 2k
Pm 3i+2 3i+1 3i

= i=0 c3i+22 + c3i+12 + c3i2
Pm 
= i=0 c3i+22 + c3i+12 + c3i2 23i
2 1 0

Pm 
= i=0 c3i+22 + c3i+12 + c3i2 8i
2 1 0

Pm i
= i=0 di 8

avec di = c3i+222 + c3i+121 + c3i20 ∈ {0, 1, 2, . . . , 7}


et
13
P4m+3
(c4m+3c4m+2c4m+1c4m . . . c3c2c1c0)2 = k=0 c k 2k
Pm 4i+3 4i+2 4i+1 4i

= i=0 c4i+32 + c4i+22 + c4i+12 + c4i2
Pm 
= i=0 c4i+32 + c4i+22 + c4i+12 + c4i2 24i
3 2 1 0

Pm i
= i=0 di 16

avec di = c4i+323 + c4i+222 + c4i+121 + c4i20 ∈ {0, 1, 2, . . . , 9, A, B, . . . , F }


Les tables de correspondance sont :
Octal/binaire
Octal 0 1 2 3 4 5 6 7
binaire 000 001 010 011 100 101 110 111
Hexadécimal/binaire
hexadécimal 0 1 2 3 4 5 6 7
binaire 0000 0001 0010 0011 0100 0101 0110 0111
hexadécimal 8 9 A B C D D F
binaire 1000 1001 1010 1011 1100 1101 1110 1111
Exemple

2.1.3 Arithmétique à précision nie


Du fait de l' arithmétique à précision nie ou arithmétique ottante, une machine
ne peut représenter qu'une partie F de R I . Cette partie F est caractérisé par qua-
tre entiers : la base β , la précision t, la limite inférieure L et la limite supérieure
U . En représentation scientique normalisée on a G = F ∪ {0} avec

I , |f | = 0.d1d2 . . . dt × β e,
F = {f ∈ R di ∈ {0, 1, . . . β − 1}, d1 6= 0, L ≤ e ≤ U }

14
Remarque :
Les éléments non nul de G (ensemble des nombres-machine) sont de la forme :
f = ∓0.d1d2 . . . dt × β e, 0 ≤ di < β, d1 6= 0, L≤e≤U
Remarque :
si 0 6= f ∈ G alors m ≤ |f | ≤ M avec m = β L−1 et M = β U (1 − β −t)
Pour tout x ∈ F il existe r > 0 et e ∈ Z tel que |x| = rβ e avec ≤ r < 1 − β −t
Soit Ĝ le sous ensemble de R
I déni par
Ĝ = {x ∈ R
I , m ≤ |x| ≤ M }
Le processeur arithmétique est la donnée de Ĝ et de l'opérateur f l : R
I →G
deni par
 c ∈ G tel que |c − x| minimal: arithmétique arrondie

f l(x) = ou
c ∈ G tel que |c − x| minimal et |c| ≤ |x| : arithmétique tronqué

Ainsi
f l(x) = x(1 + ) , || ≤ u
avec u la précision machine c'est à dire la plus grande erreur relative que l'on
puisse commettre en représentant un nombre réel sur un ordinateur.
Théorème 2.1.1 Dans une représentation en base β , la précision machine vérie
en arithmétique arrondie
 1 1−t
 2β
u≤ ou
β 1−t en arithmétique tronquée

t étant le nombre de chires de la mantisse.


Preuve
Soit x un nombre quelconque. Sa représentation exacte en base β est de la forme
:
x = 0, d1d2d3 . . . dtdt+1dt+2 × β e
15
Par troncature l'erreur absolue est :
∆x = 0, 000 . . . dtdt+1dt+2 . . . × β e
= 0, dt+1dt+2 . . . × β e−t
≤ 0, (β − 1)(β − 1)(β − 1) . . . × β e−t
L'erreur relative satisfait donc :
|∆x| 0,(β−1)(β−1)(β−1)...×β e−t
Er (x) = |x| ≤ 0,d1 d2 d3 ...dt dt+1 dt+2 ×β e

0,(β−1)(β−1)(β−1)...×β e−t
≤ 0,1000...×β e

≤ 1 × β 1−t

2.1.4 La norme IEEE


Selon le standard IEEE (Institut for Electrical and Electronic Engeineers), tous
les construiteurs d'ordinateurs utilisent depuis 1985 les mêmes formats de représen-
tation binaire. Par exemple les coprocesseurs arithmétiques implémentent un réel
sur un mot de 32 bits en simple précision et un mot de 64 bits en double précision.
ˆ Le premier bits indique le signe et est noté s
ˆ les 8 bits suivants en simple précision (les 11 bits suivants en double préci-
sion), indiquent l'exposant et est noté c et dénommé caractéristique
ˆ les 23 bits restants en simple précision (les 52 bits restants en double préci-
sion), indiquent la partie fractionnaire ou mantisse et est noté f .
La base utilisé par le format IEEE est la base 2. Ainsi en double précision
ce système à virgule ottante a une partie fractionnaire f d'une précision d'au
moins 16 chires décimaux pendant que l'exposant c va de 0 à 2047. An de
représenter les nombres de petite valeur absolue on procède à une normalisation
des exposants pour aller de −1023 à 1024. Dans ce système un nombre à virgule
ottante est sous la forme normalisée:
(−1)s ∗ 2c−1023 ∗ (1 + f )
16
En simple précision on a la forme normalisée est donnée par :
(−1)s ∗ 2c−127 ∗ (1 + f )
avec 0 < c < 255 et 1 ≤ (1.f )2 = (1 + f )2 = 2 − 223
Exemple
Considérons le nombre machine :
0 10000000011 10111001000100000000000000000000000000000000000
On a
s=0
c = 1. 210 + 1. 21 + 1. 20 = 1024 + 2 + 1 = 1027
1 3 4 5 8 1 12
f = 1. 12 + 1. 12 + 1. 12 + 1. 12 + 1. 12 + 1.

2
Ce nombre machine représente alors le nombre décimal
(−1)s ∗ 2c−1023 ∗ (1 + f ) = 27.56640625
Il est à remarquer que ce nombre machine ne représente pas que le décimal
27.56640625. Il représente également tout un intervalle centré sur le décimal
27.56640625.

2.1.5 Opérations élémentaires


Les opérations élémentaires sont l'addition, la soustraction, la multiplication et
la division. En Arithmétique ottante elles s'eectuent de la façon suivante :
x+y → f l(f l(x) + f l(y))
x−y → f l(f l(x) − f l(y))
x×y → f l(f l(x) × f l(y))
x÷y → f l(f l(x) ÷ f l(y))
Exemple

17
Si l'on prend la précision t = 4 et la base β = 10, alors on a
1
3 ×3 → f l(f l( 13 ) × f l(3))
= f l((0.3333 × 100) × (0.3000 × 101))
= f l(0.09999000 × 101)
= f l(0.9999 × 100)
On a une légère perte de précision. Mais la multiplication et la division sont
simples
Exercice 1 Eectuer les opérations suivantes a) (0.4035 × 106) × (0.1978 × 10−1)
b) (0.56789 × 104) ÷ (0.1234321 × 10−3)

Pour l'addition et la soustraction il faut être particulièrement attentif. Ici il


y a lieu de transformer la mantisse du nombre ayant le plus petit exposant de
manière à opérer avec le plus grand exposant.
Exercice 2 Eectuer les opérations suivantes

2.1.6 La perte de chires signicatifs


Nous allons observer le phénomène à partir d'un exemple.
Considérons les deux réels suivants :
x = 0.3721448693
y = 0.3720214371
alculons l'erreur relative commise lors de l'évaluation de x − y avec une arithmé-
tique décimale tronquée précise à 5 chires.
En eet, on a

x̃ = f l(x) = 0.37214
ỹ = f l(y) = 0.37202
x̃ − ỹ = 0.00012

18
Comme x − y = 0.0001234322 on a
|(x − y) − (x̃ − ỹ)| 0.0000034322 34322
= = = 3 10−2
|x − y| 0.0001234322 1234322
Sachant que
x̃ ỹ
≤ 0.5 10−4
x et ≤ 0.5 10−4
y
alors on observe une perte de précision.
Dans le calcul de f l(x − y) = (x − y)(1 + δ) nous n'avons que 2 chires
signicatifs or on en espérait jusqu'à 5 dans notre machine.
Par ailleurs on peut corriger cette perte de précision en changeant la précision
de calcul, mais cela coûtera inutilement cher.
Théorème 2.1.2 Soit x et y deux réels ottants normalisés vériant
0 < y < x.
Si 2
−p
≤ 1 − xy ≤ 2−q pour des entiers p et q , alors au plus p chires et au
moins q chires signicatifs binaires sont perdus lors de la soustraction x − y .

Preuve

2.1.7 Comment corriger la perte de précision dans une soustraction


On a diverses techniques qui vont de la rationnalisation au développement de
Taylor en passant par d'éventuels changements de de domaine en cas de péricidité.
La stratégie de toutes ces techniques consiste à mettre en ÷uvre des mécanismes
permettant d'éviter la soustraction.
Nous allons illustration ces mécanismes par des exemples.
Exemple : Rationnalisation


Evaluons au voisinage de 0, f (x) = x 2 + 1 − 1.
Il sut d'observer que
x2
f (x) = √
x2 + 1 + 1
19
Ce qui éclipse la soustraction.
Exemple : Déleveloppement de Taylor

Considérons f (x) = x − sin x au voisinage de 0.


On observe que limx→0 sinx x = 1. Ainsi la meilleure forme réduisant la perte de
précision lors de l'évaluation ded f (x) fait appel à un déleveloppement de Taylor
et on a 3 5 7
x x x
f (x) = x − sin x = − + ...
3! 5! 7!
Lors du calcul de fonctions périodiques, les machines utilisent des changements
de domaine de manière à se ramener au domaine de manipulation qui leur est
assigné. Il peut en résulter une perte de chires signicatifs dans d'éventuelle
soustraction.
Exemple : Changement de domaine

Considérons f (x) = sin x pour x ≥ 2π . Soit n ∈ N


I tel que 0 ≥ x − nπ ≥ 2π .
On utilisera alors f (x) = f (x − 2 nπ)

2.2 Notion d'erreur


Il est rare que le traitement numérique d'un problème par exemple la résolution
de Ax = b ne donne une solution non entachée d'erreurs.
Une partie importante de l'analyse numérque consiste à contenir les eets des
erreurs ainsi introduites. Ces erreurs ont diverses origines qui vont des incerti-
tudes sur les données à la représentation machine de ces données et proviennent
de trois source essentielles :
ˆ Erreurs de modélisation;
ˆ Erreurs de représentation sur ordinateur;
ˆ Erreurs de troncature;

20
En eet, mises à part les erreurs d'acquisition des données réelles du problème, la
représentation machine d'un nombre réel n'utilise qu'un nombre limité de chires
signicatifs. On dit qu'on a une arithmétique à précision limitée et l'erreur com-
mise est dite erreur d'arrondi.
La prise en compte de toutes ces altérations dans le traitement de la recherche
de solution du problème Ax = b nous amème en réalité à obtenir la solution du
problème perturbé (A + ∆A)y = (b + ∆b).
En général les perturbations ∆A et ∆b ne sont connues que par leurs majo-
rations. Et comme pour un algorithme particulier, l'analyse de l'accumulation
d'erreurs d'arrondi commises à chaque étape permet de majorer l'erreur nale,
on va se focaliser un peu sur les erreurs d'arrondi avant de regarder les problème
de conditionnemnt.

2.2.1 Erreurs de modélisation


Bien que ne faisant spéciquement pas l'objet de ce cours, la première étape de la
résolution d'un problème et peut être la plus délicate, consiste en la modélisation
du phénomène observé. On identie tous les facteurs internes et externes qui
inuencent la description du phénomène; dans le cas d'un phénomène physique,
on fait un inventaire des forces en présence. Cet eort conduit en général à des
systèmes d'équations complexes comprennant un grand nombre de paramàtres
inconnus. Il faut alors simplier certaines composantes et négliger les moins
importantes. On fait alors une première erreur de modélisation. Du fait des
dicultés de mise en équation des phénomènes physiques, on introduit un modèle
qui décrit le mieux son inuence tout en demeurant une approximation de la
réalité.
Exemple Le pendule pesant

21
2.2.2 Erreurs de Troncature
Elles constituent une catégorie très importante surtout liée à l'utilisation des
développements de Taylor. Nous reviendrons plus en détail sur ce type d'erreurs
quand le besoin se fera sentir dans le déroulement de ce cours.
Nous devons simplement faire remarquer qu'il est très important de ne pas con-
fondre les erreurs de troncature avec la troncature utilisée pour la représentation
des nombres sur un ordinateur.
Exemple Le pendule pesant en faible amplitude

22
Chapter 3

Interpolation polynomiale

3.1 Interpolation polynomiale de Lagrange


Théorème
Soit (xi, yi)ni=0 , n + 1 couples de réels tels que xi 6= xj si i 6= j alors il existe un
polynôme Pn et un seul de dégre ≤ n tel que Pn(xi) = yi et on a
n
X
Pn(x) = yiLi(x)
i=0
avec n
Y x − xj
Li(x) = ( )
xi − xj
j=1,j6=i

(Li)ni=0 est la base de Lagrange et Pn est dit polynôme d'interpolation de Lagrange


relatif aux donées (xi, yi)ni=0.
Si f est la fonction qui x 7−→ y = f (x), on dit que Pn est le polynôme
d'interpolation de la fonction f relativement aux n+1 n÷uds distints (x0, · · · , xn)
Démonstration 1 n
Y x − xj
Li(x) = ( ) ∈ Pn
xi − xj
j=1,j6=i
avec Pn : est l'ensemble des polynômes de dégre inférieur ou égal à n.

23
n
Y xk − xj
Li(xk ) = ( )
xi − xj
j=1,j6=i


1 si k=i
= = δij ∀k ∈ {0, 1, · · · , n}
0 si k 6= i
n
X n
X n
X
P (x) = yiLi(x) =⇒ P (xk ) = yiLi(xk ) = δik = yk δkk = yk
i=0 i=0 i=0
n
X
donc P = y i Li est une solution du problème d'interpolation.
i=0
Unicité : Soit p, q ∈ Pn tel que p(xi) = q(xi) = yi avec p 6= q alors r =
p − q ∈ Pn et r 6= OPn
∀i ∈ {0, 1, · · · , n} , r(xi) = p(xi) − q(xi) = 0 =⇒ r admet n + 1 zéros distincts.
Comme r ∈ R alors c'est absurde car d'après le théorème de d'Alembert : tout
polynòme de dégre ≤ n admet au plus n zéros dans C d'où p = q et on a l'unicité.

Remarque p ∈ Pn ⇐⇒ ∃(a0, a1, · · · , an) ∈ Rn+1 tel que :


n
X
p(x) = aixi
i=0

Le problème d'interpolation de Lagrange se ramène à chercher


(a0, a1, · · · , an) ∈ Rn+1 tel que
n
X
aixik = yk ∀k ∈ {0, 1, · · · , n}
i=0

D'après le théorème, le système


n
X
aixik = yk ∀k ∈ {0, 1, · · · , n}
i=0

24
admet une solution unique trouvée à travers le polynôme d'interpolation
n
X
P = y i Li .
i=0

Comme la dimension de Pn est n+1 alors (Li)ni=0 constitue un système générateur


minimal. C'est-à-dire une base de Pn
Exemple 1 On considère le polynôme f déni par la table suivante :
x 1.4 1.25
y 3.4 3.9
Evaluerf (1.3) en utilisant le polynôme d'interpolation de Lagrange.
Solution : n + 1 = 2 =⇒ n = 1

x − 1.25 x − 1.25
L1(x) = =
1.4 − 1.25 0.15

x − 1.4 x − 1.4
L2(x) = =−
1.25 − 1.4 0.15

P (x) = 3.4L1(x) + 3.9L2(x)

d'où
P (x) = − 34 x + 16.7
3

et on a

f (1.3) = p(1.3) = − 43 (1.3) + 16.7


3

Exemple 2 On considère le polynôme f déni par la table suivante :


x 1 2 3
y 2 -1 7
Détermine le polynôme d'interpolation P de f

25
Solution : n + 1 = 3 =⇒ n = 2
(x − 2)(x − 3)
L1(x) =
(1 − 2)(1 − 3)

(x − 1)(x − 3)
L2(x) =
(2 − 1)(2 − 3)

(x − 1)(x − 2)
L3(x) =
(3 − 1)(3 − 2)

11 2
Donc P = 2L1 − L2 + 7L3 par suite P (x) = 2x − 39
2 x + 16

3.1.1 Algorithme de Neville


Soit (xi, yi)n+1 i=1 , xi 6= yj , ∀i 6= j .
Soit k ∈ N I ∗, k ≤ n. i0, i1, · · · , ik k + 1 entiers dans {1, 2, · · · , n + 1}.
Pi0,i1,··· ,ik le polynôme de dégre k interpolant (xij , yij )ki=1 avec
Pi(x) = yi∀i alors on a :
x − xi0 x − xik
Pi0,i1,··· ,ik (x) = Pi1,i2,··· ,ik (x) − Pi ,i ,··· ,i (x)
xik − xi0 xik − xi0 0 1 k
P = α(x − xi0)Pi1,i2,··· ,ik + β(x − xik )Pi0,i1,··· ,ik
P (xi0) = β(xi0 − xik ) Pi0,i1,··· ,ik = yi
| {z }
yi0
Donc
1
β=
xi0 − xik
P (xik ) = α(xik − xi0)P = α(xik − xi0)yik = yik .
Ainsi
1
α= = −β
xik − xi0

26
x k=0 k=1 k=2
xi0 P0

Pi 0 i 1

Pi1

Pi0i1i2

xi1 Pi 1 i 2

Pi2
Exemple 3 On considère le polynôme f déni par la table suivante :
x 1.25 1.4
tel que P0 = 3.9 et P1 = 3.7
y 3.9 3.7

(x − 1.25) (x − 1.4)
P01(x) = P1 − P0
1.4 − 1.25 (1.4 − 1.25)

(x − 1.25) (x − 1.4)
P01(x) = 3.7 − 3.9
0.15 (0.15)

Ainsi

4 16.7
P (x) = P01(x) = − x +
3 3

Exemple 4 On considère le polynôme f déni par la table suivante :


x 1 2 3
y 2 -1 7

27
P0 = 2 , P1 = −1 et P2 = 7 et on a

x−1 x−2
P01(x) = P1 − P0
2−1 2−1
x−1 x−2
P01(x) = (−1) − (2)
2−1 2−1
ce qui donne P01(x) = −3x + 5
x−3 x−2
P12(x) = P1 − P2
3−2 3−2
et on a
P12(x) = 8x − 17
x−1 x−3
P012(x) = P12 − P01
3−1 3−1
11 39
P012(x) = x2 − x + 16 = P (x)
2 2

3.1.2 Méthode de Newton


Soit f une fonction réelle dénie sur [a, b] (a ≤ b) x0, x1, x2, · · · , xn
n + 1 points distints de [a, b]. On cherche pk pour k ∈ N I ∗ (k ≤ n). pk ∈ Pk
polynôme d'interpolation de f aux points x0, x1, x2, · · · , xk . On veut construire
le pn par recurrence sur k .
Pk+1(xi) − Pk (xi)
C'est-à-dire
k
Y
Pk+1(x) = Pk + Ck+1 (x − xi)
i=0
avec
Ck+1 = f [x0, x1, x2, · · · , xk , xk+1]
diérence divisée d'ordre k + 1 aux points x0, x1, x2, · · · , xk , xk+1. Pn interpolant
f aux points x0, x1, x2, · · · , xn sera donné par :
Pn(x) = f [x0] + f [x0, x1](x − x0) + f [x0, x1, x2](x − x0)(x − x1)(x − x2)+
28
k−1
Y
+ · · · f [x0, x1, x2, · · · , xk ] (x − xi)
i=0
n−1
Y
+f [x0, x1, x2, · · · , xn] (x − xi).
i=0
Donc
n
X k−1
Y
f (x) = f [x0] + f [x0, x1, x2, · · · , xk ] (x − xi)
k=1 i=0

f [x0, x1, x2, · · · , xk ] est le coecient de xk dans Pk . f [x0] = f (x0) plus générale-
ment f [xi] = f (xi) et p1(x) = f [x0]+f [x0, x1](x−x0) p∗1 (x) = f [x1]+f [x1, x0](x−
x1) de fait de l'unicité du polynôme d'interpolation on a f [x1, x0] = f [x0, x1] et
f [x1] − f [x0]
f [x0, x1] =
x1 − x0
Théorème
f [xi1, xi2, xi3, · · · , xik ] − f [xi0, xi1, xi2, · · · , xik−1]
f [xi0, xi1, xi2, · · · , xik ] =
xik − xi0
Démonstration 2 Soit xi0, xi1, xi2, · · · , xin distincts. Pk−1 ∈ Pk−1 polynôme de

Lagrange de f aux points xi0, xi1, xi2, · · · , xik−1 Pk−1 ∈ Pk−1 polynôme de La-
grange de f aux points xi0, xi1, xi2, · · · , xik−1,xik . D'après l'algorithme de Neville
on a :

(x − xi0)Pk−1 (x) − (x − xik Pk−1(x))
Pk (x) =
xik − xi0
f [xi0, xi1, xi2, · · · , xik−1] est le c÷cient de xk−1 dans Pk−1.

f [xi0, xi1, xi2, · · · , xik ] est le c÷cient de xk−1 dans Pk−1 .
f [xi0, xi1, xi2, · · · , xik ] est le c÷cient de xk dans Pk .

29
Remarque : Table de diérence divisée
Ordre 0 Ordre 1 Ordre 2 Ordre 3
xi f [xi] f [xi, xi+1] f [xi, xi+1, xi+2] f [xi, xi+1, xi+2, xi+3]
x0 f (x0)

f [x0, x1]

x1 f (x1) f [x0, x1, x2]

f [x1, x2] f [.....]

x2 f (x2) f [x1, x2, x3]

f [x2, x3] f [.....]

x3 f (x3) f [x2, x3, x4]

f [x3, x4]

x4 f (x4)
x 1.25 1.4
Exemple 5 Soit f la fonction dénie par :
y 3.9 3.7

Donner une approximation de f (1.3) en utilisant la méthode de Newton pro-


gressive.

30
1.3 − xi xi f [xi] f [xi, xi+1]
0.05 1.25 3.9

3.7−3.9
1.4−1.25 = − 34

−0.1 1.4 3.7


Ainsi d'après la formule de Neuton :
4
P (x) = 3.9 − (x − 1.25)
3
4 16.7
P (x) = − x +
3 3
Donc P (1.3) = 3.9 − 3 (0.05)
4

3.1.3 Méthode progressive de Newton


P (x) = f [x0] + f [x0, x1](x − x0) + f [x0, x1, x2](x − x0)(x − x1) + · · ·
n−1
Y
+f [x0, x1, x2, · · · , xn] (x − xi).
i=0

3.1.4 Méthode regressive de Newton


P (x) = f [xn] + f [xn−1, xn](x − xn) + f [xn, xn−1, xn−2](x − xn)(x − xn−1)+
n−1
Y
+f [x0, x1, x2, · · · , xn] (x − xi).
i=0

x 1 2 3
Exemple 6 On considère la fonction f donnée par
y 2 -1 7

Estimer f (1.5) et f (2.5) par la méthode de Newton.

31
1.5 − xi 2.5 − xi xi f [xi] f [xi, xi+1] f [, , ]
0.5 1.5 1 2

−3

On a 11
2
−0.5 0.5 2 −1

−1.5 −0.5 3 7
Ainsi
P (1.5)=2 − 3 × 0.5 + 11
2 × (0.5)(−0.5)

= 2 − 1.5 − 112 × 0.25

P (1.5)= −7
8
P (2.5)=7 + 8 × (−0.5) + 11 2 × (0.5)(−0.5)

= 7 − 4 − 112 × 0.25

P (2.5)= 13
8

x 1 -1 2
Exercice 1 Soit la fonction f donnée par
y 0 -3 4
Donner une expression du polynôme de Lagrange de f
1. En construisant la base de Lagrange

2. Par l'algorithme de Neville

32
3. Par la méthode progressive de Newton

4. Par la méthode regressive de Newton

Exercice 2 Soit la fonction f donnée par

x 1 1.3 1.6 1.9 2.2


y 0.7652 0.6201 0.4564 0.2818 0.1104

1. Evaluer f (1.5) en utilisant le polynôme de Lagrange à travers

(a) L'algorithme de Neville

(b) La méthode progressive de Newton

(c) La méthode regressive de Newton

(d) La base de Lagrange

2. Dans chaque cas précicer le nombre d'opérations ottant.

Remarque Soit n ∈ N I tel que k > n


I ∗ f ∈ Pn k ∈ N
x0 < x1 < x2 · · · xk ∈ [a, b]. Pk polynôme de Lagrange interpolant f aux
points x0 < x1 < x2 · · · xk

3.2 Interpolation inverse de Lagrange


Soit f dénie sur [a; b]. Soit a = x0 < x1 < · · · < xn = b, (n + 1) points
distincts de [a; b]. On suppose que f est injective sur [a; b] et continue. Les
yi = f (xi), i = 0, . . . , n sont distincts.
On appelle polynôme d'interpolation inverse de lagrange de f aux points x0, x1, · · · ,
le polynôme d'interpolation de la fonction f −1, réciproque de la fonction f aux
points y0, . . . , yn.

y ∈ f ([a; b]) 7−→ x = f −1(y) ∈ [a; b].


33
x 1 −1 2
Exemple 3 Soit la fonction f dénie par :
y 0 −3 4
Calculons f −1(−1) et f −1(2) On a :
x −1 1 2
y −3 0 4
Nous obtenons la table suivante :

y x f −1[ ; ] f −1[ ; ; ] −1 − y
−3 −1 2

2
3
1 2

0 1 4 3 = 5 −1
4 − (−3) 84

1
4

4 2 −5
2 5 19
f −1(−1) = −1 + (2) − (2)(−1) =
3 84 42
2 5 73
f −1(2) = −1 + (5) − (5)(2) =
3 84 42
Exercice 3
x3 + x2 + x − 1 = 0 dans [0; 1].
En utilisant l'interpolation inverse de Lagrange aux points 0; 12 et 1, donner une
approximation de l'unique solution de cette équation.

34
Résultats
α existe et est l'unique solution de l'équation f (x) = 0 donc f (α) = 0.
Si p interpole f −1, alors α est approché par f −1(0).
Nous obtenons la table suivante :

yi xi f [yi; yi+1] f [yi; yi+1; yi+2] 0 − yi


−1 0 1

4
7
4 4
1 1 −
− 17 7 = − 40 1
8 2 2+1 357 8
4
17

2 1 −2

4 40 1 195
p(0) = 0 + (1) − (1)( ) =
7 357 8 357
195
donc α =
357

3.3 Estimation d'erreur d'interpolation de Lagrange


Théorème
Soit f ∈ C n+1([a; b]) une fonction (n + 1) fois continûment dérivable sur [a; b].
Soit x0, x1, . . . , xn, (n + 1) points distincts de [a; b].
Soit p le polynôme de Lagrange de f aux points x0, x1, . . . , xn. alors ∀x ∈ [a; b],

35
il existe c ∈ [xmin; xmax] ⊂ [a; b] avec
xmin = min{x, x0, x1, . . . , xn} et xmax = max{x, x0, x1, . . . , xn}
n
1
telle que f (x) − p(x) =
Y
f (n+1)(c) (x − xi)
(n + 1)! i=0

n
1
Donc |f (x) − p(x)| ≤ (n+1) Y
max |f (t)| × (x − xi)

(n + 1)! t∈[a;b]
i=0


n
1
Ainsi max |f (x) − p(x)| ≤
Y
(n+1)
max |f (t)| × (x − xi)

t∈[a;b] (n + 1)! t∈[a;b]
i=0


Yn
Comment choisir (xi)i=0 pour que max (x − xi) soit minimale?
n
t∈[a;b]
i=0
t ∈ [−1; 1] 7−→ x(t) ∈ [a; b] telle que x(t) est linéaire, x(−1) = a et x(1) = b
t−1 −1 t+1 1
L1(t) = = (t − 1); L2(t) = = (t + 1)
−1 − 1 2 1+1 2
(b − a) a+b
donc x(t) = t+
2 2
n n
Y b−a 
(t − ti) donc
Y
(x − xi) =
i=0 i=0
2
n
! n
!!  
Y Y b−a
max (x − xi) = max (t − ti)
x∈[a;b]
i=0
t∈[−1;1]
i=0
2
n
! n
!
Minimiser max (x − xi) revient à minimiser max
Y Y
(t − ti)
x∈[a;b] t∈[−1;1]
i=0 i=0 !!
n
Le problème est de chercher t0, . . . , tn ∈ [−1; 1] tels que
Y
max (t − ti)
t∈[−1;1]
i=0
admet une solution qui est l'ensemble des zéros du polynôme de CHEBY-
CHEV de dégré (n + 1)

36
3.3.1 Polynômes de CHEBYCHEV
Dénition 1 On appelle polynômes de CHEBYCHEV de dégré n, n ∈ N
I, la
fonction réelle [−1; 1] 3 x 7−→ Tn(x) où Tn(x) = cos(n arccos x)
Démonstration 3 Montrons que Tn est un polynôme de dégré n en raisonnant
par reccurence sur n.
pour n = 0, Tn (x) = cos(0 × arccos x) = cos(0) = 1, ∀x ∈ [−1; 1].
pour n = 1, Tn (x) = cos(arccos x) = x
Supposons que Tn est un polynôme de dégré n.

Tn+1(x) = cos((n+1) arccos x) = cos(n arccos x) cos(arccosx)−sin(n arccos x)sin(ar


Tn−1(x) = cos((n−1) arccos x) = cos(n arccos x) cos(arccos x)+sin(n arccos x) sin(arc
donc Tn+1 (x) + Tn−1 (x) = 2xTn (x) − x.
Sachant que deg(Tn ) = n, on a deg(Tn+1 ) = n + 1. Donc Tn+1 est un polynôme
de dégré n + 1.
π
Tn(x) = 0 ⇐⇒ cos(n arccos x) = 0 = cos( + kπ)
2
π
⇐⇒ n arccos x = + kπ
2
π kπ
⇐⇒ arccos x = +
 2n n
π kπ
⇐⇒ x = cos +
2n n
π kπ 1 k
0≤ + ≤ π ⇐⇒ 0 ≤ + ≤1
2n n 2n n
donc k = 0, . . . , n − 1
Remarque
Dans Tn, le coecient de xn est 2n−1 pour n ≥ 1.
Pour t ∈ [−1; 1], on a :
n
!  
1 π iπ
= n Tn+1(t) si ti = cos
Y
(t − ti) +
i=0
2 2(n + 1) n + 1
37
f (n)(c)
∀n, f [x0, . . . , xn] =
n!

3.4 Interpolation de Hermite


Soit x0, x1, . . . , xk , (k + 1) points distincts de [a; b]. Soit α0, α1, . . . , αk ∈ N
I . Soit
f une fonction dénie sur [a; b] telle que ∀i ∈ {0, . . . , k}, f est αi fois dérivable
k
en xi. Soit n = k + αi. Alors il existe un unique polynôme de dégré n vériant
X

i=0
:
p(j)xi = f (j)xi, ∀j ∈ {0, 1, . . . , αi}, ∀i ∈ {0, 1, . . . , k}
Remarque
Le système d'équations linéaires p(j)xi = f (j)xi, ∀j ∈ {0, 1, . . . , αi}, ∀i ∈
k
{0, 1, . . . , k} contient (αi + 1) équations pour n + 1 inconnues.
X

i=0

f (j−1)(xi)
f [x
| 1, .{z
. . , x}1] =
(j − 1)!
j fois
Exemple 4 Déterminons le polynoôme d'interpolation de Hermite de la fonction
x 0 1
f (x) −1 0
f dénie par :
f 0(x) −2 10
f 00(x) × 40
Nous dressons la table de diérence divisée correspondante comme suit :

38
x f (x) f [yi; yi+1] f [yi; yi+1; yi+2] f [yi; yi+1; yi+2] f [; ; ; ]
0 −1 1

0 1 −2
3
1 0 1 6
9 5
1 0 10 11
20
1 0 10
p(x) = −1 − 2(x − 0) + 3(x − 0)2 + 6(x − 0)2(x − 1) + 5(x − 0)2(x − 1)2
p(x) = −1 − 2x + 2x2 − 4x3 + 5x4

Exercice 4 L'observation d'un mobile est consignée sur la table suivante où x


désigne sa position sur une droite

t 0 3 5 8 13
x(t) 0 225 385 623 993
ẋ(t) 75 77 × 74 72
3 7 3
ẍ × − ×
5 5 5
Donner une estimation de la position du mobile, ainsi que sa vitesse à la date
t = 10.

Exercice 5 Construire à l'aide d'une feuille excel, la table des diérences divisées
de la fonction de la table
x −2 −1 0 1 2 3
y 1 4 11 16 13 −4

39
Théorème 1 Soit x0, x1, . . . , xk , (k + 1) points distincts de [a; b].
k
X
(k+1)
Soit (α0, α1, . . . , αk ) ∈ N
I .n= αi + k.
i=0
n+1
Soit f ∈ C [a; b] et P ∈ Pn, le polynôme de Hermite tel que
p (xi) = f (j)(xi), ∀j ∈ {0, 1, . . . , αi}, ∀i ∈ {0, 1, . . . , k}
(j)

alors ∀x ∈ [a; b], ∃ξ ∈ [xmin ; xmax ]

k
1 (n+1)
Y
f (x) − p(x) = f (ξ) (x − xi)
(n + 1)! i=0
où 
xmin = min(x, x0, . . . , xk )
xmax = max(x, x0, . . . , xk )

x 0 1
Exemple 5 En considérant la table suivante, on a : f (xi) f0 f1
f 0(xi) f00 f10

x f (x) f [yi; yi+1] f [yi; yi+1; yi+2] f [yi; yi+1; yi+2]


0 f0
f00
0 f0
f1 − f0 (f1 − f0) − f00
1 f1
f10 f10 − (f1 − f0) f10 + f00 − 2(f1 − f0)
1 f1
donc

p(x) = f0 + f00 x + [(f1 − f0) − f00 ]x2 + [f10 + f00 − 2(f1 − f0)]x2(x − 1)

40
3.4.1 Interpolation par les fonctions Splines
Dénition
Soit [a; b] un intervalle non réduit à un point.
Soit a = x0 < x1 < · · · < xn = b une partition de [a; b]. Soit k ∈ N I ?. Soit S une
fonction dénie sur [a; b].
On dit que S est une spline d'ordre k si S est (k − 1) fois continûment dérivable
sur [a; b] tel que Si soit la restriction de S à [xi; xi+1[ soit un polynôme de degré
k.
L'expression de Si spline d'ordre 1 interpolant f est :
x − xi+1 x − xi
Si = yi + yi+1 , ∀i = 1, . . . , n − 1
xi − xi+1 xi+1 − xi

41
3.4.2 Spline d'ordre 2

Figure 3.1: Interpolation linéaire

xi x0 . . . xn
yi y 0 . . . yn

Interpolation de f par une spline S d'ordre 2

Comme une spline S d'ordre 2 interpole f ,



 Si ∈ P2
S est continue sur [a; b]
S' est continue sur [a; b]

où P2 est l'ensemble des polynômes de degré inférieur ou égal à 2. Si ∈ P2 =⇒


Si0 ∈ P1. De plus, S' est une spline d'ordre 1 car S' est continue. Si Mi =
S 0(xi), ∀i = 0, . . . , n alors
x − xi+1 x − xi
Si0 = Mi + Mi+1
xi − xi+1 xi+1 − xi
donc
M (x − xi+1)2 Mi+1 (x − xi)2
Si(x) = + +A
2 xi − xi+1 2 xi+1 − xi

42
Or Si(xi) = yi et Si(xi+1) = yi+1.
Mi
Si(xi) = yi ⇐⇒ (xi − xi+1) + A = yi
2
Mi
⇐⇒ A = yi + (xi+1 − xi) donc
2
M (x − xi+1)2 Mi+1 (x − xi)2 Mi
Si(x) = + + yi + (xi+1 − xi)
2 xi − xi+1 2 xi+1 − xi 2
Mi+1 Mi
Si(xi+1) = yi+1 =⇒ yi+1 = (xi+1 − xi) + yi + (xi+1 − xi)
2 2
Mi+1 + Mi
=⇒ (xi+1 − xi) = yi+1 − yi
2
2(yi+1 − yi)
=⇒ Mi+1 + Mi = , ∀i = 0, . . . , n − 1
xi+1 − xi
On a n équations pour (n + 1) inconnues. Il sut de donner une équation
supplémentaire, par exemple,en donnant,M0 = α, on déduit que :

 M0 = α
2(yi+1 − yi)
 Mi+1 = − Mi, ∀i
xi+1 − xi
x 0 0.5 0.75
Exemple 6 f est donnée par f (0) = 1 et par le tableau suivant :
0
3
y 0 4 − −
4
0 0 0
Cherchons S spline interpolant f tel que S (0) = f (0). On cherche Mi = S (xi ), i =
0, . . . , 3 tel que 
 M0 = 1
2(yi+1 − yi)
 Mi+1 = − Mi
xi+1 − xi
Mi (x − xi+1)2 Mi+1 (x − xi)2 Mi
Si(x) = + + yi + (xi+1 − xi)
2 xi − xi+1 2 xi+1 − xi 2

43
yi+1 − yi yi+1 − yi
xi+1 xi xi+1 − xi yi+1 yi yi+1 − yi 2 Mi+1
xi+1 − xi xi+1 − xi
0.5 0 0.5 4 0 4 8 16 15
3 19
0.75 0.5 0.25 − 4 − −19 −38 −53
4 4
3 5
1 0.75 0.25 −2 − − −5 10 43
4 4

Si x ∈ [0; 0.5]

S0(x) = −(x − 0.5)2 + 15(x − 0)2 + 41 = 14x2 + x

Si x ∈ [0.5; 0.75]
15 (x − 0.75)2 53 15 (x − 0.5)2 15
S1(x) = − + 4 + (0.25)
2 −0.25 2 2 0.25 2
Si x ∈ [0.75; 1]
53 (x − 1)2 43 (x − 0.75)2 3 53
S2(x) = − + − − (0.25)
2 −0.25 2 0.25 4 2
Exercice 6 On considère la fonction réelle S dénie par :

0.1x2 si x ∈ [0; 1[

S(x) =
9.3x2 − 18.4x + 9.2 si x ∈ [1; 1.3[
Vérier que S est une fonction spline de degré 2.

Exercice 7
−x3 − 3x2 − x + 2 si x ∈ [−1; 0[

S(x) =
x3 − 3x2 − x + 2 si x ∈ [0; 1[
Vérier que S est une spline cubique

44
3.4.3 Comment faire de l'interpolation par les splines

 Si = S/[xi;xi+1] ∈ P3
S spline cubique ⇐⇒ S est 2 fois continûment dérivable
S(xi) = yi, ∀i = 1, . . . , m

Pour x ∈ [xi; xi+1],


x − xi+1 x − xi
S 00(x) = Mi + Mi+1
xi − xi+1 xi+1 − xi
Mi (x − xi+1)2 Mi+1 (x − xi)2
Si0(x)
= + +A
2 xi − xi+1 2 xi+1 − xi
Mi (x − xi+1)3 Mi+1 (x − xi)2
Si(x) = + + A(x − xi) + B
6 xi − xi+1 6 xi+1 − xi
Mi 2
Si(xi) = yi et Si(xi+1) = yi+1. Si(xi) = yi =⇒ B = yi − h , en posant
6 i
hi = xi+1 − xi.
yi+1 − yi 1
Si(xi+1) = yi+1 =⇒ A = + (Mi − Mi+1)hi.
hi 6
Ainsi, nous obtenons :
Mi (x − xi+1)3 Mi+1 (x − xi)3
Si(x) = − + +
6 hi 6 hi
 
yi+1 − yi 1 Mi 2
− (Mi+1 − Mi)hi (x − xi) + yi − h
hi 6 6 i
0 Mi (x − xi+1)2 Mi+1 (x − xi)2
si(x) = − +
2 hi 2 hi
yi+1 − yi 1
+ − (Mi+1 − Mi)hi
hi 6
1 yi+1 − yi 1
Si0(xi) = s0i−1(xi) ⇐⇒ − Mihi + − (Mi+1 − Mi)hi =
2 hi 6
1 yi − yi−1 1
Mihi−1 + − (Mi − Mi−1)hi−1
2 hi−1 6
45
Par la suite, on obtient :
1 1 yi − yi−1 yi+1 − yi
− (Mi+1 − 2Mi)hi + (−2Mi − Mi−1)hi−1 = − .
6 6 hi−1 hi
Ainsi, nous obtenons que :
 
1 yi+1 1 1 yi−1
[Mi+1hi + 2(hi + hi−1)Mi + Mi−1hi−1] = − + yi + , ∀i = 2, . . .
6 hi hi hi−1 hi−1
Remarque si hi = hi−1 = h, ∀i on a:
1 1
(Mi+1 + 4Mi + Mi−1) = 2 (yi+1 − 2yi + yi−1), ∀i = 2, . . . , m − 1.
6 h
On a (m − 2) équations pour m inconnues. Il reste donc 2 équations pour fermer
le système. Ces 2 équations sont données par les conditions aux bords.
1. S 00(a) = S 00(b) = 0(Conditions aux bords libre ou spline naturel)
2. S 0(a) = α; S 0(b) = β (Condition de ambement)
3. S(a) = S(b); S 0(a) = S 0(b); S 00(a) = S 00(b)(Condition de périodicité)
Exercice

x 0 1 2
y 0 1 3

1. Chercher un interpolant par spline cubique naturel.


2. Chercher un interpolant par spline cubique vériant les conditions de ambe-
ment S 0(0) = S 0(2) = 1.
Résultats
1. Cherchons un interpolant par spline cubique naturel
(

M1 = 0; M3 = 0 M1 = M3 = 0
1 1 =⇒ 3
6 (M3 + 4M2 + M1 ) = (y
h2 3
− 2y2 + y1) M2 =
2
46
Si x ∈ [0; 1]
3
S100(x) = 0(x − 1) + (x − 0)
2
1 3
S1(x) = x + Ax + B
4
S1(0) = 0 et S1(1) = 1.
 ( 3
S1(0) = 0 A=
⇐⇒ 4
S1(1) = 1 B=0
1 3
Donc S1(x) = x3 + x
4 4
Si x ∈ [1; 2]

S200(x) = 23 (x − 2)

S 0(2) = 34 (x − 2)2 + A

S2(x) = 14 (x − 2)3 + Ax + B

 ( 7
S2(1) = 1 A=
⇐⇒ 4
S2(2) = 3 B=3
1 7
Donc S2(x) = (x − 2)3 + x + 3
4 4
Conclusion

1 3 3
 4 x + 4 x si x ∈ [0; 1]



S(x) =
 1 7
 (x − 2)3 + x + 3 si x ∈ [1; 2]


4 4
2. Cherchons un interpolant par spline cubique vériant les conditions de ambe-

47
ment S 0(0) = S 0(2) = 1. Notre équation s'écrit :
1 1
(M3 + 4M2 + M1) = 2 (y3 − 2y2 + y1).
6 h
Nous avons h = 1 donc M1 + 4M2 + M3 = 6 S10 (0) = 1; S100(x) = −M1(x −
1) + M2(x − 0)
1 1
S10 (x) = − M1(x − 1)2 + x2M2 + A (?)
2 2
1 1
S1(x) = − M1(x − 1)3 + M2x3 + Ax + B
6 6

  A = 1 + 1 (M1 − M2)

S1(0) = 0 6
⇐⇒ M
S1(1) = 1 B= 1

6
D'après (?), on a : S10 (0) = 1 ⇐⇒ M2 = −2M1.

S 002(x) = −M2(x − 2) + M3(x − 1)

M2 M3
S20 (x) = − (x − 2)2 + (x − 1)2 + A
2 2

M2 M3
S2(x) = − (x − 2)3 + (x − 1)3 + Ax + B
6 6


S2(1) = 1 1 1
⇐⇒ M2 + M3 = −1
S2(2) = 3 6 3

48
On obtient :

 M2 = −2M1 3 9
M1 + 4M2 + M3 = 6 ⇐⇒ M1 = − M2 = 3M3 = −
2 2
M2 + 2M3 = −6

Connaissant A et B en fonction de M1, M2 et M3, on déduit les valeurs de A


et de B qu'on remplace dans S1(x) et S2(x).

49
Chapter 4

Résolution des systèmes linéaires

4.1 Introduction
La résolution d'un système linéaire de la forme Au = b est au centre de la
plupart des traitements de problèmes numériques, provenant de divers domaines.
Le problème de calcul de reseau électrique ci dessous en est un exemple.
On considère un reseau électrique simple contenant un certain nombre de ré-
sistances et une force electromotrice (une batterie) disposées suivant le schéma
ci dessous.
En utilisant les loi de Kirchho et d'Ohm on peut établir les équations qui
gouverne ce circuit. En désignant par x1, x2, x3 et x4 les courants de boucle
comme le montre la gure on a le système



 15x1 − 2x2 − 6x3 = 300
−2x1 + 12x2 − 4x3 − x4 = 0


 −6x1 − 4x2 + 19x3 − 9x4 = 0
− x2 − 9x3 + 21x4

 = 0
La solution de ce système est
x1 = 26.5 x2 = 9.35 x3 = 13.3 x4 = 6.13
Le but de ce chapitre est de passer en revue quelques techniques ayant fait leur
preuve sur des systèmes du genre même si ceux ci ont des centaines d'inconnues.
Ces techniques sont classées en deux catégories : les méthodes directes et les
méthodes itératives.
50
Nous étudirons d'abord les méthodes directes c'est à dire celles qui conduisent
en un nombre ni d'opérations élémentaires à la solution exacte lorsque l'arithmétiqu
utilisée est à précision innie. Nous aborderons ensuite les méthodes itératives
consistant à rechercher la solution du système comme limite d'une suite vecto-
rielle. Ici la solution est toujours entachée d'erreurs.

4.2 Méthodes directes de résolution de systèmes linéaires Au = b


4.2.1 Systèmes triangulaires
Ils sont de deux types selon que le matrice A est une matrice triangulaure
supérieure ou une matrice triangulaure inférieure. Dans ces cas on utilise de
simples techniques de substitution.
Substitution par la remontée

Le système est de la forme




 a11x1 + a12x2 + . . . ... + a1nxn = b1

 a22x2 + . . . ... + a2nxn = b2
... ... ...






aiixi + ... + ainxn = bi


 ... ... ...





 an−1,n−1xn−1 + an−1,nxn = bn−1
 annxn = bn
Le système est inversible si pour tout i = 1, 2, . . . , n, aii 6= 0.
Ainsi la procédure de remontée démarre par
bn
xn =
ann
et par une reccurence regressive on a
 
n
1  X
xi = bi − aij xj  i = n − 1, n − 2, . . . , 1
aii j=i+1

51
D'où l'algorithme :
real array (aij )n×n , (bi)n , (xi)n
integer i, j, n
real sum
xn ← bn/ann
for i = n − 1 to 1 step -1 do
begin
sum ← bi
for j = i + 1 to n do
begin
sum ← sum − aij xj
end
xi ← sum/aii
end

Le nombre de couples (multiplication - addition) que necessite cet algorithme


2
est de l'ordre de n2

Substitution par la descente

Le système est de la forme




 a11x1 = b1

 a21x1 + a22x2 = b2
... ... ...






ai1x1 + . . . + aiixi = bi


 ... ... ...





 an−1,1x1 + ... + . . . + an−1,n−1xn−1 = bn−1
 a x + ... + . . . + an,n−1xn−1 + annxn = bn
n1 1

Le système est inversible si pour tout i = 1, 2, . . . , n, aii 6= 0.

52
Ainsi la procédure de descente démarre par
b1
x1 =
a11
et par une reccurence progressive on a
 
i−1
1  X
xi = bi − aij xj  i = 2, 3, . . . , n
aii j=1

D'où l'algorithme :
real array (aij )n×n , (bi)n , (xi)n
integer i, j, n
real sum
x1 ← b1/a11
for i = 2 to n do
begin
sum ← bi
for j = 1 to i − 1 do
begin
sum ← sum − aij xj
end
xi ← sum/aii
end

Il necessite le même nombre d'opérations que l'algorithme précédent.


Exemple

Résoudre le système
6x1 = 12
3x1 +6x2 = −12
4x1 −2x2 +7x3 = 14
5x1 −3x2 +9x3 +21x4 = −2
53
4.2.2 Elimination naïve de Gauss
Le processus d'élimination naïve de Gauss comporte deux étapes :
ˆ la triangularisation qui consiste à transformer le système initial en un système
triangulaire supérieur
ˆ la subtitution par la remontée pour résoudre le système triangulaire supérieur
obtenu

4.2.3 Triangularisation
Elle est obtenue en appliquant des transformations élémentaires successives de
Gauss à la matrice initiale. Commençons d'abord par nous faire une idée précise
d'une transformation de Gauss.
Transformations de Gauss

Elles ont pour fonction d'annuler les composantes d'un vecteur à partir d'un
certain rang. Soit n, k ∈ N
I ∗ avec k < n. On considère un vecteur x ∈ K
I n tel
que
xT = [x1, x2, . . . , xk , xk+1 . . . , xn] , xk 6= 0
En posant
xi
αi = pour i = k + 1, . . . , n
xk

αT = [0, 0, . . . , 0, αk+1 . . . , αn]


et  
1 ... 0 0 0 ... 0
 ... . . . ... ... ... ... ... 
 
0 ... 1 0 0 ... 0 
 
T
Mk = I − αek =  0 ... 0 1 0 ... 0 
 
0 . . . 0 −αk+1 1 . . . 0 
 
 .. ... ... ... . . . ... 
. 
0 . . . 0 −αn 0 . . . 1
54
on a
Mk x = x − xk α ⇒ (Mk x)T = [x1, x2, . . . , xk , 0 . . . , 0]

Exercice 3 Soit α = [0, . . . , 0, αk+1, . . . , αn]T . Montrer que


si Mk = I − αeTk alors Mk−1 = I + αeTk

Exercice 4 Soit M = Mk . . . M1 où Mi = I − α(i)eTi avec

α(i) = [0, . . . , 0, −li+1,i, . . . , −lni]T


Montrer que eTj α(i) = 0 pour j < i.
Montrer que M est une matrice triangulaire inférieure de diagonale unité. Plus
explicitement on a

 
1
l 1 
 21 
l l32 1 
 31 
 .. ..
.
.

M =

 lk1 lk2 lk3 . . . lkk−1 1


 
 lk+1,1 lk+1,2 lk+13 . . . lk+1,k 1 
. ..
 ..

. 
ln1 ln2 . . . lnk 0 ... 1
Montrer que

k
X
M −1 = (I + α(1)eT1 ) . . . (I + α(k)eTk ) = I + α(i)eTi
i=1

Exercice 5 Déterminer la transformation de Gauss M ∈ R


I 3×3 telle que
  
2 2
M 3  =  7 
4 8

55
Théorème 4.2.1 On suppose que A ∈KI m×n et que pour k < min(m, n) on a
déterminé les transformations de Gauss M1 , . . . , Mk−1 ∈ KI m×m telles que
" #
(k−1) (k−1)
A11 A12 k−1
A(k−1) = Mk−1 . . . M1A = (k−1)
0 A22 m−k+1
k−1 n−k+1
(k−1)
où A11 est une matrice triangulaire supérieure. Si
 
(k−1) (k−1)
akk ... akn
(k−1) .. ..
A22 = . .
 

(k−1) (k−1)
amk ... amn
(k−1)
et akk 6= 0 alors les multiplicateurs

(k−1)
aik
lik = (k−1)
i = k + 1, . . . , m
akk
sont dénis et en posant Mk = I − α(k)eTk avec α(k) = (0, . . . , 0, lk+1,k , . . . , lmk )T
on a

" #
(k) (k)
A11 A12 k
A(k) = Mk A(k−1) = (k)
0 A22 m−k
k n−k
(k)
avec A11 matrice triangulaire supérieure.

Preuve

Théorème 4.2.2 Soit A ∈ K


I n×n une matrice non singulière. On suppose que
l'on a déterminé les transformations de Gauss succeccives M1, . . . , Mn−1 telles
que
U = A(n−1) = Mn−1A(n−2) = Mn−1 . . . M1A
56
soit une matrice triangulaire supérieure. Alors on a

Ax = b ⇔ U x = (Mn−1 . . . M1) b
On peut alors utiliser l'algorithme de substitution par la remontée

En résumé l'algorithme de triangularisation ou d'élimination de Gauss peut


s'écrire :
real array (aij )n×n , (bi)n
integer i, j, k, n
for k = to n − 1 do
begin
for i = k + 1 to n do
begin
for j = k to n do
begin
aij ← aij − (aik /akk )akj
end
bi ← bi − (aik /akk )bk
end
end

Remarque :

Dans cet algorithme nous observons que :


1) le multiplicateur aakk
ik
ne depend pas de j donc peut sortir de la boucle j et
on obtient
real array (aij )n×n , (bi)n
integer i, j, k, n
real xmult
for k = to n − 1 do
57
begin
for i = k + 1 to n do
begin
xmult ← aik /akk
aik ← xmult
for j = k to n do
begin
aij ← aij − (xmult)akj
end
bi ← bi − (xmult)bk
end
end

2) les termes aij pour i > j qui devaient être mis à 0 n'ont pas été mis à jour,
opération complètement superue. L'espace occupé par ces élements pourra être
utilisé dans l'algorithme de factorisation LU
Exercice 6 Résoudre par élimination de Gauss les systèmes :

 3x1 +4x2 +3x3 = 10
(a) x +5x2 −x3 = 7
 1
6x1 +3x2 +7x3 = 15

 3x1 +2x2 −5x3 = 0
(b) 2x −3x2 x3 = 0
 1
x1 +4x2 −x3 = 4
    
1 −1 2 1 x1 1
3 2 1 4   x2   1 
    
(c) =
5 8 6 3   x3   1 
  
4 2 5 3 x4 −1

58
4.2.4 Factorisation LU
Théorème 4.2.3 Une matrice régulière I n×n
A ∈K possède une factorisation
A = LU où L est triangulaire inférieure à diagonale unité et U
est triangulaire
(k)
supérieure, si et seulement si toutes les sous matrices principales A de A sont
régulière.

Preuve

Si A = LU , nous pouvons avoir une décomposition par bloc des trois matrices
     
k A11 A12 L11 0 U11 U12 k
= .
(n − k) A21 A22 L21 L22 0 U22 (n − k)
k (n − k) k (n − k) k (n − k)

où A11 est la sous matrice principale d'ordre k de A c'est à dire A(k). Le produit
par bloc donne
A11 = L11U11 et det A11 = det L11 det U11
L11 est triangulaire inférieure à diagonale unité donc det L11 = 1.
U étant une matrice triangulaire supérieure régulière on a
det U11 = ki=1 U (i, i) 6= 0.
Q

Ainsi  
(k)
det A = det A11 = det U11 6= 0
Réciproquement si pour tout k det A(k) 6= 0 on va montrer par reccurence que
l'algorithme naïf de Gauss s'applique.
En eet pour k = 1 la sous matrice est le scalaire non nul A11. Donc l'etape 1
de l'algorthme naïf de Gauss est réalisable.
Supposons que nous ayons réalisé l'étape k − 1 de l'algorithme naï de Gauss.
Alors on
A = A1 = L1L2 . . . Lk−1A(k) = RA(k)

59
où R = L1L2 . . . Lk−1 est une matrice triangulaire inférieure àdiagonale unité.
Posons B = A(k) Par une decomposition par bloc de dimension k et n − k on a
     
A11 A12 R11 0 B11 B12
= .
A21 A22 R21 I B21 B22
et A11 = R11B11 avec
det B11 = det A11 = det A(k) puisque det R11 = 1
Etant donnée la structure de B = A(k) alors B11 est est une matrice triangulaire
supérieure avec tous les termes diagonaux non nuls. En particulier A(k)kk est non
nuls et peut être choisi comme le k eme pivot.
Théorème 4.2.4 Si une matrice régulière I n×n
A∈K possède une factorisation
A = LU où L est triangulaire inférieure à diagonale unité et U est triangulaire
supérieure, alors cette factorisation est unique.

Preuve

Supposons qu'il existe deux décompositions A = L1U1 = L2U2 où toutes les


matrices sont régulières. Alors X = L−1 2 L1 = U2 U1
−1
est à la fois triangulaire
inférieure à diagonale unité et triangulaire supérieure. X est nécessairement une
matrice unité. Ainsi L1 = L2 et U1 = U2 d'où l'unicité de la décomposition.
Exemple

Résoudre par l'élimination naïve de Gauss puis déduire la factorisation de la


matrice A du système
    
6 −2 2 4 x1 16
 12 −8 6 10   x2   26 
    
=
 3 −13 9 3   x3   −19 
  
−6 4 1 −18 x4 −34

60
Exercice 7 En utilisant l'élimination naïve de Gauss, calculer la factorisation
LU de A  
1
  1 0 0 3
3 0 3
 0 1 3 −1 
 
a) A =  0 −1 3  b) A = 
 3 −3 0 6 

1 −3 0
0 2 4 −6
Exercice 8 On considère  
2 2 1
A=1 1 1
3 2 1
a) Montrer aue A n'admet pas une factorisation LU avec L une matrice tri-
angulaire inférieure à diagonale unité et U une matrice triangulaire supérieure
b)Permuter les lignes pour que la factorisation soit possible.

Exercice 9 On considère  
A11 A12
A=
A21 A22
avec I k×k
A11 ∈ R régulière et A22 ∈ RI n−k×n−k . Soit S = A22 − A21A−1
11 A12 le
complément de Schur de A11 dans A.
Montrer que si A11 a une décomposition LU alors après k étapes d'élimination
(k)
de Gauss, on a S = A22 dans le théorème 4.2.1
Exercice 10 On considère dans R
I n×n les matrices

N (y, k) = I + yeTk avec y ∈ R


In
appelée transformation de Gauss-Jordan.
−1
1) En supposant que N (y, k) existe, donner en une expression.
2) Etant donné x ∈ RI n, à quelle condition peut on trouvé y ∈ R
I n pour que
N (y, k)x = ek
3)Donner un algorithme utilisant les transformations de Gauss Jordan pour
−1
surcharger A par A . Donner des conditions sur A pour que cet algorithme
marche.

61
Exercice 11 Soit A ∈ R
I n×n dénie par

 1 si i = j ou j = n

aij = −1 si i > j
0 autrement

Montrer que A admet une décomposition LU avec |lij | ≤ 1 et unn = 2n−1.

Exercice 12 Montrer que si AT ∈ R I n×n est à diagonale dominante alors A


admet une décomposition LU avec |lij | ≤ 1.

4.2.5 Elimination de Gauss avec stratégie de pivot


Il s'agit ici de modier l'approche naïve an de prendre en compte une stratégie de
choix des pivots. Il faut par exemple commencer par résoudre le cas d'inopérabilité
où l'étape k est bloqué par A(k−1)
kk = 0. On peut avoir satisfaction, soit à travers
une permutation de la ligne k avec une ligne en dessous, c'est à dire une permu-
tation d'équations; soit à travers une permutation d'inconnues.
Nous allons regarder essentiellement une stratégie dite de pivot partiel nor-
malisé. Cette stratégie prend en compte des critères de stabilité du processus
de triangularisation.
étape k=1
On normalise chaque équation du système, en recherchant tout simplement le
vecteur de normalisation s(1) = [s1, s2, . . . , sn] avec
si = max |aij |
1≤j≤n

On regarde ensuite les rapports


 
|ai1|
i = 1, 2, . . . , n
si
On choisit l'indice j correspondant à la première occurence de la plus grande
valeur de cet ensemble. On procede alors à la permutation des lignes (équations)

62
indexées 1 et j . L'étape se termine par l'application de la transformation de
Gauss M1. En résumé on a
" #
(1) (1)
A11 A12
A(0) = A → A
g (0) = P A(0) → A(1) = M P A(0) =
1 1 1 (1)
0 A22

avec A(1) (0)


11 = A11 ∈ KI le pivot 1.
g
Pour l'étape 2 on applique l'étape 1 à la sous matrice
 
(1) (1)
a22 ... a2n
 .. ...
=.
(1)
A22 I (n−1)×(n−1)
 ∈K

(1) (1)
an2 . . . ann
. On construit le vecteur de normalisation s(2) = [s2, . . . , sn] avec

(1)
si = max aij
2≤j≤n

On regarde ensuite les rapports


 (1) 
 ai2 
i = 2, . . . , n
 si 

On choisit l'indice j correspondant à la première occurence de la plus grande


valeur de cet ensemble. On procède alors à la permutation des lignes (équations)
indexées 2 et j . Soit f I (n−1)×(n−1) cette permutation. On obtient
P2 ∈ K
 
(1) (1)
 . 22 . . .
a a2n
f f
. ... 
.
(1) (1)  ∈K (n−1)×(n−1)
A22 = f
P2A22 = I
g

(1) (1)
an2 . . . ann
f f

. En posant P2 = diag(1, f
P2) on a
" #
(2) (2)
A11 A12
A(2) = M2P2A(1) = (2)
0 A22
63
où A(2)11 ∈ K I 2×2 est triangulaire supérieure et A22 ∈ K
(2)
I (n−2)×(n−2); M2 étant une
transformation de Gauss.
En supposant ce processus réalisé jusqu'à l'étape k − 1, c'est à dire exis-
tence de transformation de Gauss M1, . . . , Mk−1 ∈ K I n×n et de permutations
I n×n telles que
P1, . . . , Pk−1 ∈ K
" #
(k−1) (k−1)
A11 A12
A(k−1) = Mk−1Pk−1 . . . M1P1A = (k−1)
0 A22
avec A11
(k−1)
I (k−1)×(k−1) triangulaire supérieure et A22 ∈ K
∈K
(k−1)
I (n−k+1)×(n−k+1)
étape k
On construit le vecteur de normalisation s(k) = [sk , . . . , sn] avec

(k−1)
si = max aij
k≤j≤n

On regarde ensuite les rapports


 (k−1) 
 aik 
i = k, . . . , n
 si 

On choisit l'indice j correspondant à la première occurence de la plus grande


valeur de cet ensemble. On procède alors à la permutation des lignes (équations)
indexées k et j . Soit P I (n−k+1)×(n−k+1) cette permutation. On obtient
fk ∈ K
 
](k−1) ](k−1)
.a ... a2n 
...
22
.
.
(k) fk A(k−1)  ∈K (n−k+1)×(n−k+1)
A22 = P = I
g
22 
](k−1) ](k−1)
an2 ... ann

. En posant Pk = diag(Ik−1, P
fk ) on a
" #
(k) (k)
A11 A12
A(k) = Mk Pk A(k−1) = (k)
0 A22

64
I (k−1)×(k−1) et Mk = In − α(k)eTk avec
Ik−1 ∈ K
h iT
(k)
α = 0, . . . , e
lk+1,k . . . , e
ln,k


] (k−1)
a ik
li,k =
e i = k + 1, . . . , n
] (k−1)
akk
En résumé, l'élimination de Gauss avec une stratégie de pivot partiel normalisé
consiste à construire des transformations de Gauss M1, . . . , Mn−1 et des permu-
tations P1, . . . , Pn−1 telles que
I n×n
Mn−1Pn−1 . . . M1P1A = U ∈ K
où U est une matrice triangulaire supérieure.
Posons P = Pn−1 . . . P1 alors
L = P (Mn−1Pn−1 . . . M1P1)−1
est une matrice triangulaire inférieure est l'on a la factorisation
P A = LU
Remarque :

Au lieu de se lancer dans des permutations eectives et laborieuses des lignes,


dans la pratique, on se contentera d'associer aux équations, un vecteur d'index
I n que l'on initialisera à ` = [1, 2, . . . , n]T . Les permutations
T
` = [`1, . . . , `n] ∈ N
de lignes se résumeront à des permutations des éléments de `.
Par ailleurs en pratique les vecteurs de normalisation s ne change pas sensi-
blement.
On a alors l'algorithme :
real array (aij )n×n,(bi)n , (`i)n
real array (si)n
65
integer i, k, n
real r , rmax, smax , xmult
for i = 1 to n do
begin
`←i
smax ← 0
for j = 1 to n do
begin
smax ← max (smax, |aij |)
end
si ← smax
end
for k = 1 to n − 1 do
begin
rmax ← 0
for i = k to n do
begin
r ← |a`i,k /s`i |
if (r > rmax) then
begin
rmax ← r
j←i
end
end
`j ↔ `k
for i = k + 1 to n do
begin
xmult ← a`i,k /a`k ,k
a`i,k ← xmult
for j = k + 1 to n do

66
begin
a`ij ← a`ij − (xmult)a`k j
end
b`i ← b`i − (xmult)b`k
end
end

Théorème 4.2.5 Dans l'algorithme de Gauss appliqué à une matrice A ∈ K


I n×n,
n3
la phase de triangularisation a un coût de l'ordre de
3

Remarque :

Il faut observer que dans le processus de triangularisation, plus


un
pivot a
(k−1)
kk
a(k−1)
est petit en valeur absolue, plus les coecients multiplicateurs ik(k−1) sont grands
a kk
ce qui amplira l'eet des erreurs d'arrondi inhérentes à l'utilisation d'une arith-
métique à précision nie.
Ainsi l'objectif d'une stratégie de pivot est de
réduire
le plus possible les fac-
a(k−1)
teurs d'amplication que sont les coecients ik(k−1) . Il faudra tout au moins
akk
assurer la condition
a(k−1)
(k−1) ≤ 1pour i > k
ik
a
kk
Cette condition est réalisée avec la stratégie de pivot partiel normalisé.
On peut aussi envisager une stratégie dite de pivot total normalisé qui est plus
stable du point de vu numérique.

4.2.6 Système linéaires spéciaux : factorisations de Cholesky, LDM t ...


T
Factorisation L-D-M

Théorème 4.2.6 Si toutes les sous matrices principale de la matrice régulière


I n×n
A ∈K sont régulières alors il existe deux matrices triangulaires inférieures à

67
diagonale unité L,M et une matrice diagonale D = diag(d1, . . . , dn) telles que
T
A = LDM

Preuve

D'après le théorème 4.2.3, A admet une décomposition A = LU avec L une


matrice triangulaire inférieure à diagonale unité et U une matrice triangulaire
supérieure.
En dénissant D = diag(d1, . . . , dn) telle que di = uii pour tout i = 1, . . . , n,
on a D régulière et la matrice M dénie par M T = D−1U est triangulaire
inférieure à diagonale unité. Ainsi
A = LU = LD(D−1U ) = LDM T
La décomposition A = LDM T est obtenue de façon plus interessante en re-
gardant directement terme à terme l'équation matricielle.
En eet on a pour tout k
k=1
X
akk = lkpdpmkp + dk
p=1

et pour tout i > k Pk=1


aik = p=1 lip dp mkp + lik dk
Pk=1
aki = p=1 lkp dp mip + dk mik
Ainsi
Pour tout k = 1, . . . , n
k=1
X
dk = akk − lkpdpmkp
p=1

68
et pour i = k + 1, . . . , n
 Pk=1 
lik = aik − p=1 lipdpmkp /dk
 Pk=1 
mik = aki − p=1 lkpdpmip /dk
n3
L'algorithme associé a un coût de l'ordre de 3 opérations.
Exercice 13 Ecrire l'algorithme de la décomposition A = LDM T en surchargeant
aij par lij si i>j et par mij si i < j.
Exercice 14 1) On cosidère la matrice
 
2 −1 2
A =  2 −3 3 
6 −1 8
0
a) Trouver la factorisation A = LDU où L est triangulaire inférieure, D
0
diagonale et U triangulaire supérieure.
b) Utiliser cette décomposition pour résoudre Ax = b avec b = [−2, −5, 0]T
2) Répeter la question 1) pour
  
−2 1 −2 1
A =  −4 3 −3  b=4
2 2 4 4

T
Factorisation L-D-L

Théorème 4.2.7 SiA = LDM T est la décomposition LDM T d'une matrice


T
régulière symétrique A alors L = M et on a A = LDL .

Preuve
−1
La matrice M −1A(M T ) = M −1LD est symétrique et triangulaire inférieieure.
Elle est donc diagonale. Puisque D est régulière alors M −1L est aussi diagonale.
Mais M −1L est triangulaire à diagonale unité. On a donc M −1L = I .
69
Remarque :

L'agorithme de factorisation A = LDLT d'une matrice symétrique A ∈ K


I n×n
3
a un coût de l'ordre de n6

Factorisation de Cholesky

Théorème 4.2.8 Si une matrice A ∈ R


I n×n est symétrique dénie positive alors
il existe une matrice triangulaire inférieure I n×n à termes diagonaux positifs
G ∈R
T
telle que A = GG .

Preuve

D'après le théorème 4.2.7 il existe une matrice triangulaire inférieure à diag-


onale unité L ∈ R I n×n et une matrice diagonale D = diag(d1, . . . , dn) telle que
A = LDLT .
Comme A est denie positive et L régulière alors pour tout k = 1, . . . , n il
existe xk ∈ R
I n tel que Lxk = ek et
o < (Axk |xk ) = (DLxk |Lxk ) = (Dek |ek ) = dk
√ √
La matrice G = Ldiag( d1, . . . , d1) est réelle, triangulaire inférieure à termes
diagonaux positifs et on a GGT = LDLT = A.
Pour calculer concrètement la factorisation de Cholesky il est plus interessant
de regarder directement les termes de l'équation matricielle A = GGT .
Ainsi pour i ≥ k on a
k
X
aik = gipgkp
p=1
après arrangement on a
r
Pk−1 2 
gkk = akk − p=1 gkp
 Pk−1 
gik = aik − p=1 gipgkp /gkk

70
L'algorithme de décomposition de Cholesky pour une matrice réelle, symétrique,
denie positive A sera donné ici en calculant la matrice triangulaire inférieure puis
en surchargeant les termes aij par gij pour i ≥ k
On a :
real array (aij )n×n
integer i, j, k, n
real sum
for k = 1 to n do
begin
for j = 1 to k − 1 do
begin
akk ← akk − akj ∗ akj
end

akk ← akk
for i = k + 1 to n do
begin
for j = 1 to k − 1 do
begin
aik ← aik − aij ∗ akj
end
aik ← aik /akk
end
end

Exercice 15 Soient α ∈ R I n−1×n−1


I , β ∈R et I n−1.
w, ν ∈ R Montrer que si

α wT
 
A=
ν β
est dénie positive alors il en est de même pour β − νwT /α

71
Exercice 16 Montrer que si I n×n
A ∈R est symétrique, dénie positive alors si
i 6= j
(a +a )
|aij | ≤ ii 2 jj

|aij | ≤ aiiajj

4.2.7 Analyse d'erreur d'arrondi


Exercice 17 Soit u la borne supérieure de l'erreur d'arrondi dans la représenta-
tion d'un nombre réel en arithmétique ottante. C'est à dire que pour α ∈R
I, sa
représentation
f l(α) = α(1 + ε)avec |ε| ≤ u
Soit I n.
x, y ∈ R Montrer par reccurence sur n que
f l(xT y) − xT y ≤ nu xT |y| + O(u2)

T
T
sachant que si x = (x1, . . . , xn), x = (|x1| , . . . , |xn|)
Exercice 18 1) Montrer que si A ∈ R
I m×n, B ∈ R
I n×p on a

f l(AB) = AB + E avec |E| ≤ nu |A| |B| + O(u2)


2) Montrer que si B est régulière alors

kf l(AB) − ABkF
≤ nuκF (B) + O(u2)
kABkF

m X
n
pour tout A(aij ) ∈ R
X
kAkF = a2ij I m×n
i=1 j=1

4.3 Méthodes itératives de résolution de systèmes linéaires Au = b


Nous aborderons la résolution du système linéaire Ax = b avec un esprit complè-
tement diérent de celui qui a prévalu lors de la mise en ÷uvre des méthodes
dites directes.
72
Il s'agit ici de construire une suite de vecteurs x(0), x(1), . . . , x(k), . . . approchant
la solution x du système. Le processus numérique est conçu de manière à assurer
la convergence de la suite vers la solution. Ce processus peut s'arrête dès qu'une
précision susante préalablement xée est atteinte.
De façon générale un algorithme itératif pour le système linéaire Ax = b est
conçu en se donnant une matrice régulière Q ∈ Kn×n, puis, partant d'un vecteur
arbitraire x(0), d'engendrer la suite de vecteurs x(1), . . . , x(k), . . . par l'équation
reccurente :
Qx(k) = (Q − A)x(k−1) + b k = 1, 2, . . .
En supposant que la suite x(k) k converge vers x∗, du fait de la continuité des


applications linéaires, le passage à la limite quand k → ∞ dans l'équation


Qx(k) = (Q − A)x(k−1) + b k = 1, 2, . . .
donne Qx∗ = (Q − A)x∗ + b ⇔ Ax∗ = b. Cette limite est donc la solution du
système initial.
L'algorithme général d'une méthode itérative est le suivant :
array (A)n×n ,(b)n,(c)n, (y)n, (x)n
integer k
begin
x ← x(0)
for k = 1 to kmax do
begin
y←x
c ← (Q − A)x + b
Resolution de Qx = c
Ecrire k, x
if kx − yk <  then
begin
Ecrire "Convergence"
stop
73
end
end
Ecrire "Nombre maximal d'iterations atteint"
end

Remarque :

Le choix de la matrice régulière Q doit prendre en compte le fait que le système


reccurent
Qx(k) = (Q − A)x(k−1) + b k = 1, 2, . . .
doit être facile à résoudre en x(k) lorsque x(k−1) est connu. Ce choix doit être fait
pour assurer une convergence éventuellement rapide du processus.
Théorème 4.3.1 Soit b ∈ R
In et I n×n
A, Q ∈ R deux matrices régulières. Si le
−1 −1
rayon spectrale de I − Q A satisfait à la condition ρ(I − Q A) < 1 alors
(k) (k)
la suite de vecteurs x dénie par Qx = (Q − A)x(k−1) + b converge vers
x = A−1b pour toute valeur initiale x(0).

Preuve

Posons e(k) = x(k) − x l'erreur dans l'itération k . Des équations



Ax b
Qx(k) = (Q − A)x(k−1) + b
on a
e(k) = x(k) − x = (I − Q−1A)x(k−1) + Q−1b − x
= (I − Q−1A)x(k−1) + Q−1Ax − x
= (I − Q−1A)x(k−1) − (I − Q−1A)x
= (I − Q−1A)(x(k−1) − x)
= (I − Q−1A)e(k−1)
k
= (I − Q−1A) e(0)

74
Puisque ρ(I − Q−1A) < 1, on sait que la suite matricielle
k
(I − Q−1A) → 0
Par dénition la matrice I − Q−1A est dite la matrice itérative de la méthode.

4.3.1 Méthodes itératives standard : Jacobi, Gauss Seidel, méthodes de relax-


ation
Considérons le système Ax = b sous la forme explicite
n
X
aij xj = bi 1≤i≤n
j=1

Nous allons construire explicitement la matrice Q en décomposant la matrice


A de façons simples dans les cas standards.

Méthode de Jacobi

Lorsque pour tout i on a aii 6= 0, en résolvant l'équation numero i pour l'inconnue


xi, on établit la relation de reccurence :
n
(k) (k−1)
X
aiixi =− aij xj + bi 1≤i≤n
j=1
j6=i

ou
 
n
(k) 1 X (k−1) 
xi =  − a x
ij j + b i
 1≤i≤n
aii 
j=1
j6=i

On a ainsi formulé point par point la méthode de Jacobi


Dans la suite de cette section on décomposera la matrice A sous la forme
A = D − CL − CU où D est diagonale, CL triangulaire inférieure à diagonale

75
nulle et CU triangulaire supérieure à diagonale nulle avec
D = diag(A) = (aii)
CL = (−aij )i>j
CU = (−aij )i<j
En formulation matricielle, la méthode de Jacobi s'écrit
Dx(k) = (CL + CU )x(k−1) + b
Ainsi Q = D et la matrice itérative de la méthode de Jacobi est
G = I − D−1A = D−1(CL + CU )
L'algorithme de la méthode de Jacobi peut s'écrire :
real array (A)n×n ,(b)n,(c)n, (y)n, (x)n
real sum, diag
integer i, j, k, kmax, n
begin
n ← taille(A)
x ← x(0)
for k = 1 to kmax do
begin
y←x
for i = 1 to n do
begin
sum ← bi
diag ← Aii
if |diag| < δ then
begin
Ecrire "Element Diagonal trop petit"
return
end
76
for j = 1 to n do
begin
if j 6= i then
begin
sum ← sum − Aij yj
end
end
xi ← sum/diag
end
Ecrire k, x
if kx − yk <  then
begin
Ecrire "Convergence"
stop
end
end
Ecrire "Nombre maximal d'iterations atteint"
end

Méthode de Gauss-Seidel

Intuitement on espère améliorer l'approximation en utilisant les inconnues x1, . . . , xj


déjà mis à jour lors de l'évaluation de la j ieme inconnue dans le processus de Ja-
cobi. On établit alors la relation de reccurence :
i−1 n
(k) (k) (k−1)
X X
aiixi =− aij xj − aij xj + bi 1≤i≤n
j=1 j=i−1

ou

77
 
i−1 n
(k) 1 X (k)
X (k−1)
xi = − aij xj − aij xj + bi  1≤i≤n
aii j=1 j=i+1

On a ainsi la méthode de Gauss-Seidel dont la formulation matricielle est :


Dx(k) = CLx(k) + CU x(k−1) + b
c'est à dire
(D − CL)x(k) = CU x(k−1) + b
et la matrice Q = D − CL est la matrice triangulaire inférieure de A.
L'algorithme de la méthode de Gauss-Seidel s'écrire alors :
real array (A)n×n ,(b)n,(c)n, (y)n, (x)n
real sum, diag
integer i, j, k, kmax, n
begin
n ← taille(A)
x ← x(0)
for k = 1 to kmax do
begin
y←x
for i = 1 to n do
begin
sum ← bi
diag ← Aii
if |diag| < δ then
begin
Ecrire "Element Diagonal trop petit"
return
end
for j = 1 to i − 1 do
78
begin
sum ← sum − Aij xj
end
for j = i + 1 to n do
begin
sum ← sum − Aij xj
end
xi ← sum/diag
end
Ecrire k, x
if kx − yk <  then
begin
Ecrire "Convergence"
stop
end
end
Ecrire "Nombre maximal d'iterations atteint"
end

Méthode de Surrelaxation : SOR

Ici on introduit un facteur de relaxation ω sur deux itérations successives de


Gauss-Seidel. Ainsi on pourra écrire
(k) (k) (k−1)
x = ωx + (1 − ω)x
SOR Gauss-Seidel Gauss-Seidel
On a donc
 
i−1 n
(k) ω X (k)
X (k−1) (k−1)
xi = − aij xj − aij xj + bi + (1 − ω)xi 1≤i≤n
aii j=1 j=i+1

La formulation matricielle s'écrit :


(D + ωCL)x(k) = [ωCU + (1 − ω)D]x(k−1) + ωb
79
Exercice 19 Ecrire l'algorithme de la méthode de sur-relexation (SOR)

4.3.2 Convergence des méthodes


Théorème 4.3.2 Si la matrice A ∈ R
I n×n est à diagonale strictement dominante
alors les méthodes de Jacobi et de Gauss-Seidel appliquées au système Ax = b
(0)
sont convergentes pour toute solution initiale x

Preuve

Exercice 20 Soit Dx(k) = (D − A)x(k−1) + b l'itération de Jacobi appliquée à


l'équation Ax = b où A est à diagonale strictement dominante. Soit G=I−
−1
D A
Montrer kGk∞ < 1. En déduire la convergence de la méthode de Jacobi.

Exercice 21 Montrer que la méthode de Jacobi converge pour le système Ax = b


pour I 2×2
A ∈R symétrique dénie positive.

Exercice 22 Comparer les rayons spectraux ρ(I − Q−1 −1


J A) et ρ(I − QG A) respec-
tifs des méthodes de Jacobi et de Gauss-Seidel pour la matrice
 
4 −1 −1
A =  −1 4 −1 
−1 −1 4

4.4 Accélération de convergence


La relaxation est une technique beaucoup plus générale notamment utilisée pour
accélérer la convergence d'une méthode itérative. Dans sa version simple, elle se
formule par :
Qy (k) = (Q − A)x(k−1) + b

k = 1, 2, . . .
x(k) = ωy (k) + (1 − ω)x(k−1)

80
où ω est le coecient de relaxation.
Remarque :
La méthode SOR est une relaxation de la méthode de Gauss-Seidel.
Nous pouvons dénir une éthode de Jacobi relaxée par :
 
(k) (k−1) (k−1)
x =x + ω b − Ax k = 1, 2, . . .

On a aussi l'habitude de mettre en oeuvre des techniques plus générale de type


polynômial en particilier la méthode de Tchebychev.

81

Vous aimerez peut-être aussi