Analyse Enumerique
Analyse Enumerique
1 Rappels 3
2 Interpolation polynomiale 6
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Méthodes directes de résolution de systèmes linéaires
Au = b . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.1 Systèmes triangulaires . . . . . . . . . . . . 20
3.2.2 Elimination naïve de Gauss . . . . . . . . . . 23
3.2.3 Triangularisation . . . . . . . . . . . . . . . . 23
3.2.4 Factorisation LU . . . . . . . . . . . . . . . 28
3.2.5 Elimination de Gauss avec stratégie de pivot 31
3.2.6 Système linéaires spéciaux : factorisations
de Cholesky, LDM t ... . . . . . . . . . . . . . 37
1
3.3 Méthodes itératives de résolution de systèmes linéaires
Au = b . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.1 Méthodes itératives standard : Jacobi, Gauss
Seidel, méthodes de relaxation . . . . . . . . 41
2
Chapter 1
Rappels
Remarque :
En posant h = y − x, on a
m−1 x+h
hk (k) (x + h − t)m−1 (m)
X Z
f (x + h) = f (x) + f (t)dt
k! x (m − 1)!
k=0
m−1 1
hk (k) hm
X Z
f (x + h) = f (x) + (1 − λ)m−1f (m)(x + λh)dλ
k! (m − 1)! 0
k=0
3
Remarque :
f ∈ C m(I) s'entend une fonction m fois continûment dérivable à
valeur dans R
In
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) = e ∀i, f (x) = e et on a
x i x
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)!
Si on veut avoir |Rn| < on a (n+1)! |h|(n+1) ≤ , 0 < h < 1 ,
e ξ
Méthode de Horner
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)
Exercice : Donner une approximation de ln 2 en utilisant le développe-
ment de Taylor à l'ordre 5 de f (x) = ln(x + 1) au voisinage de 0
puis majoré l'erreur commise.
5
Chapter 2
Interpolation polynomiale
Théorème
6
(a0, a1, · · · , an) ∈ Rn+1 tel que
n
X
aixik = yk ∀k ∈ {0, 1, · · · , n}
i=0
x − 1.4 x − 1.4
L2(x) = =−
1.25 − 1.4 0.15
7
d'où
P (x) = − 43 x + 16.7
3
et on a
(x − 1)(x − 3)
L2(x) =
(2 − 1)(2 − 3)
(x − 1)(x − 2)
L3(x) =
(3 − 1)(3 − 2)
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)
8
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)+
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]
f [x3, x4]
x4 f (x4)
x 1.25 1.4
Exemple 3 Soit f la fonction dénie par :
y 3.9 3.7
10
Donner une approximation de f (1.3) en utilisant la méthode de
Newton progressive.
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
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
x 1 2 3
Exemple 4 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.
11
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)
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
12
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
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
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
Soit x0, x1, . . . , xk , (k+1) points distincts de [a; b]. Soit α0, α1, . . . , αk ∈
I . Soit f une fonction dénie sur [a; b] telle que ∀i ∈ {0, . . . , k},
N
k
f est αi fois dérivable en xi. Soit n = k + αi. Alors il existe un
X
i=0
15
unique polynôme de dégré n vériant :
p(j)xi = f (j)xi, ∀j ∈ {0, 1, . . . , αi}, ∀i ∈ {0, 1, . . . , k}
Remarque
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
x 0 1
f (x) −1 0
de la fonction f dénie par : 0
f (x) −2 10
f 00(x) × 40
Nous dressons la table de diérence divisée correspondante comme
suit :
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
16
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 dif-
férences divisées de la fonction de la table
x −2 −1 0 1 2 3
y 1 4 11 16 13 −4
17
Théorème 1 Soit x0, x1, . . . , xk , (k + 1) points distincts de [a; b].
k
Soit (α0, α1, . . . , αk ) ∈ N
X
(k+1)
I .n= αi + k.
i=0
Soit f ∈ C [a; b] et P ∈ Pn, le polynôme de Hermite tel que
n+1
x 0 1
Exemple 5 En considérant la table suivante, on a : f (xi) f0 f1
f 0(xi) f00 f10
18
Chapter 3
Résolution des systèmes linéaires
3.1 Introduction
Au = b
Ils sont de deux types selon que le matrice A est une matrice tri-
angulaure supérieure ou une matrice triangulaure inférieure. Dans
ces cas on utilise de simples techniques de substitution.
Substitution par la remontée
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
xi ← sum/aii
end
21
Substitution par la descente
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
xi ← sum/aii
end
Résoudre le système
6x1 = 12
3x1 +6x2 = −12
4x1 −2x2 +7x3 = 14
5x1 −3x2 +9x3 +21x4 = −2
3.2.3 Triangularisation
23
Transformations de Gauss
où A(k−1)
11 est une matrice triangulaire supérieure. Si
(k−1) (k−1)
akk ... akn
.. ...
=.
(k−1)
A22
(k−1) (k−1)
amk . . . amn
25
et a(k−1)
kk 6= 0 alors les multiplicateurs
(k−1)
aik
lik = (k−1)
i = k + 1, . . . , m
akk
Preuve
for k = to n − 1 do
26
begin
for i=k+1 to n do
begin
for j=k to n do
begin
end
Remarque :
begin
for i=k+1 to n do
begin
begin
bi ← bi − (xmult)bk
27
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 4 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
3.2.4 Factorisation LU
28
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)
où R = L1L2 . . . Lk−1 est une matrice triangulaire inférieure àdiag-
onale 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
29
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 3.2.4 Si une matrice régulière A ∈ K I n×n 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.
Exemple
Exercice 6 On considère
2 2 1
A=1 1 1
3 2 1
30
a) Montrer aue A n'admet pas une factorisation LU avec L une
matrice triangulaire inférieure à diagonale unité et U une matrice
triangulaire supérieure
b)Permuter les lignes pour que la factorisation soit possible.
. En posant P2 = diag(1, f
P2) on a
" #
(2) (2)
A11 A12
A(2) = M2P2A(1) = (2)
0 A22
où A(2)
11 ∈ K
I 2×2
est triangulaire supérieure et A
(2)
I (n−2)×(n−2);
22 ∈ K
M2 étant une transformation de Gauss.
32
En supposant ce processus réalisé jusqu'à l'étape k − 1, c'est à
dire existence de transformation de Gauss M1, . . . , Mk−1 ∈ K
I n×n
et de permutations P1, . . . , Pk−1 ∈ K
I n×n telles que
" #
(k−1)
(k−1)
A11
A12
A(k−1) = Mk−1Pk−1 . . . M1P1A = (k−1)
0 A22
avec A(k−1)
11 I (k−1)×(k−1) triangulaire
∈K supérieure et A(k−1)
22 I (n−k+1)×(n−k+
∈K
é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
33
où
](k−1)
a
li,k = ik
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 permutations 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 :
integer i, k, n
34
for i=1 to n do
begin
`←i
smax ← 0
for j = 1 to n do
begin
si ← smax
end
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
begin
35
end
end
Remarque :
36
3.2.6 Système linéaires spéciaux : factorisations de Cholesky, LDM t
...
Factorisation L-D-M T
Factorisation L-D-L T
37
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
begin
begin
begin
end
38
3.3 Méthodes itératives de résolution de systèmes linéaires
Au = b
begin
x ← x(0)
for k = 1 to kmax do
begin
39
y←x
c ← (Q − A)x + b
Resolution de Qx = c
Ecrire k, x
if kx − yk < then
begin
Ecrire "Convergence"
stop
end
end
Remarque :
odes de relaxation
Méthode de Jacobi
ou
n
(k) 1 X (k−1)
xi = − aij xj + bi 1≤i≤n
aii j=1
j6=i
41
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, km ax, n
begin
n ← taille(A)
x ← x(0)
for k = 1 to km ax do
begin
y←x
for i = 1 to n do
begin
sum ← bi
diag ← Aii
if |diag| < δ then
begin
end
for j=1 to n do
begin
if j 6= i then
begin
42
end
end
xi ← sum/diag
end
Ecrire k, x
if kx − yk < then
begin
Ecrire "Convergence"
stop
end
end
Méthode de Gauss-Seidel
integer i, j, k, km ax, n
begin
n ← taille(A)
x ← x(0)
for k = 1 to km ax do
begin
y←x
for i = 1 to n do
begin
sum ← bi
diag ← Aii
if |diag| < δ then
begin
end
begin
for j =i+1 to n do
begin
44
end
xi ← sum/diag
end
Ecrire k, x
if kx − yk < then
begin
Ecrire "Convergence"
stop
end
end
45