Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
SYSTÈMES LINÉAIRES
Enseignants : Dr. Jamal ADETOLA et Uriel AGUEMON
December 8, 2020
Contents
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
2
Chapter 1
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
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 :
|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.
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 :
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
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.
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
10
où k=0 ak 10 est dite partie et est dite partie fractionnaire
Pn k
P∞ −k
entière k=1 bk 10
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
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 + . . .))))
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
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
Pm i
= i=0 di 16
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
0,(β−1)(β−1)(β−1)...×β e−t
≤ 0,1000...×β e
≤ 1 × β 1−t
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)
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
√
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
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.
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
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é.
24
admet une solution unique trouvée à travers le polynôme d'interpolation
n
X
P = y i Li .
i=0
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
d'où
P (x) = − 34 x + 16.7
3
et on a
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
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
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
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]
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
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
x 1 2 3
Exemple 6 On considère la fonction f donnée par
y 2 -1 7
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)
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
32
3. Par la méthode progressive de Newton
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 :
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
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.
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
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)
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
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
xi x0 . . . xn
yi y 0 . . . yn
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]
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
x 0 1 2
y 0 1 3
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.
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
49
Chapter 4
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.
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
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
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
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
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
Ax = b ⇔ U x = (Mn−1 . . . M1) b
On peut alors utiliser l'algorithme de substitution par la remontée
Remarque :
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
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
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
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
. 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
. 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
où
] (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 :
66
begin
a`ij ← a`ij − (xmult)a`k j
end
b`i ← b`i − (xmult)b`k
end
end
Remarque :
67
diagonale unité L,M et une matrice diagonale D = diag(d1, . . . , dn) telles que
T
A = LDM
Preuve
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
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 :
Factorisation de Cholesky
Preuve
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
α 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
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
kf l(AB) − ABkF
≤ nuκF (B) + O(u2)
kABkF
où
m X
n
pour tout A(aij ) ∈ R
X
kAkF = a2ij I m×n
i=1 j=1
Remarque :
Preuve
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.
Méthode de Jacobi
ou
n
(k) 1 X (k−1)
xi = − a x
ij j + b i
1≤i≤n
aii
j=1
j6=i
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
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
Preuve
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, . . .
81