Académique Documents
Professionnel Documents
Culture Documents
ANALYSE D’ERREURS
Exemple
Les nombres entiers sont ceux auquels nous sommes habitués sauf que le plus grand
nombre représentable dépend des nombres d’octets utilisés.
- Avec deux octets, on peut représenter les entiers compris entre −32768 et 32767
- Avec quatre octets, on peut représenter les entiers compris entre −2147483648 et
2147483647
1
Brahim Benouahmane
Dans la mémoire d’un calculateur les nombres réels sont représentés en notation
flottante.
En notation flottante, un nombre a la forme :
a = Y × be
– La base
La base est celle dans laquelle on écrit les nombres. (La plupart des calculatrices
utilisent le système décimal c’est-à-dire b = 10. Les ordinateurs utilisent le système
binaire c’est-à-dire b = 2.)
– La mantisse
Y = ±0.d1 d2 · · · dt
– L’exposant
m ≤ e ≤ M
2
Brahim Benouahmane
Dans le cas d’un dépassement de capacité dans l’ordinateur il y a arrêt des calculs
et l’impression d’un message d’erreur.
Nous avons tous simplement négligé les décimaux que nous ne pouvions stocker. On
dit que l’on tronque et l’opération s’appelle troncature.
Par contre, dans les calculatrices, il y a la plupart du temps une opération d’arron-
dissement.
Dans une représentation arrondie, lorsque la première décimale négligée est supérieure
ou égale à 5, on ajoute 1 à la dernière décimale conservée.
1
Ainsi, pour x = 15
= 0.06666... nous aurons, si t = 5
3
Brahim Benouahmane
Théorème
| x − f l(x) | ≤ 5 | x | p 10−t
1.2
OPERATIONS ARITHMETIQUES ELEMENTAIRES EN VIRGULE FLOTTANTE
– x1 ⊕ x2 = fl(fl(x1 ) + fl(x2 ))
– x1 x2 = fl(fl(x1 ) − fl(x2 ))
Si les exposants ne sont pas les mêmes, on doit aligner, c’est-à-dire rendre le plus
petit exposant égal au plus grand.
Exemples
On considère le cas t = 4
4
Brahim Benouahmane
La multiplication flottante
x1 ⊗ x2 = fl(fl(x1 ) × fl(x2 ))
On a :
f l(x1 ) × f l(x2 ) = 10e1 +e2 Y1 Y2
Exemples
5
Brahim Benouahmane
La division flottante
x1 x2 = fl(fl(x1 )/fl(x2 ))
On a :
f l(x1 ) Y1
f l(x2 )
= 10e1 −e2 Y2
Y1 Y1
– si | Y1 | < | Y2 | alors 0.1 < | Y2
| < 1. On calcule donc le quotient Y2
que l’on
tronque ou l’on arrondit à t digits. L’exposant e est égal à e1 − e2 .
Y1
– si | Y1 | ≥ | Y2 | alors 1 ≤ | Y2
| < 10. On remplace alors Y1 par Y10 = 10−1 Y1 , on
Y10
calcule Y2
et l’on tronque ou l’on arrondi ensuite à t digits. L’exposant e est égal à
e1 − e2 + 1.
Exemples
1. f l(x1 ) = 106 (0.4323) f l(x2 ) = 105 (0.2000)
f l(x1 )
f l(x2 )
= 101 (2.1615) = 102 (0.21615)
D’où : x1 x2 = 102 (0.2161) par troncature
. = 102 (0.2162) par arrondi
Associativité de l’addition
1 ⊕ 0.0004 = 1
(1 ⊕ 0.0004) ⊕ 0.0006 = 1
Cet exemple montre que l’addition flottante peut influencer le résultat de la sommation
des séries à termes positifs.
6
Brahim Benouahmane
On veut calculer :
n
X
S= ai ai > 0
i=1
En arithmétique finie, on calcule cette somme en formant la suite des sommes par-
tielles :
S1 = f l(a1 )
S2 = S1 ⊕ a2
..
.
Sk = Sk−1 ⊕ ak k = 2, · · · , n
L’ordre dans lequel on somme les ai peut changer la valeur de la somme Sn car l’arith-
métique flottante n’est pas associative.
Exemple
Soit n
X 1 1
S =1+ =2−
i=1
i2 +i n+1
Calculer cette somme, en arithmétique flottante, de deux façons différentes :
1 1
Sn,1 = 1 + + ··· + 2
2 n +n
1 1
Sn,2 = 2 + ··· + + 1
n +n 2
avec n = 9 , 99 , 999 , 9999
n Sn,1 Sn,2 Valeur exacte S
9 1.9000000000 1.9000000000 1.9
99 1.9900000000 1.9900000000 1.99
999 1.9990000000 1.9990000000 1.999
9999 1.9998999999 1.9999000000 1.9999
7
Brahim Benouahmane
On voit que l’on obtient des résultats différents selon que l’on somme de 1 à n ou de
n à 1 ;les meilleurs résultats étant obtenus dans le second cas.
x1 x2 = fl(fl(x1 ) − fl(x2 ))
Exemple
√ √
Considérons les nombres 7001 et 7000.
En arithmétique flottante à 8 chiffres, on a :
√
7001 ' 0.83671979 × 102
√
7000 ' 0.83666003 × 102
Donc
√ √
7001 − 7000 = f l((0.83671979 − 0.83666003) × 102 ) = 0.59760000 × 10−2
√ √
√ √ √ √ x+ y
x − y = ( x − y) × √ √
x+ y
On obtient alors :
√ √
1 ( 7001 ⊕ 7000) = 1 (0.16733798 × 103 )
= 0.59759297 × 10−2
La soustraction est l’opération la plus dangereuse en calcul numérique. Elle peut am-
plifier l’erreur relative de façon catastrophique.
Définition
8
Brahim Benouahmane
On veut calculer
1
xn
Z
f (n) = dx a = cte > 1
0 a+x
Nous allons exprimer f (n) récursivement :
1 1 1
xn−1 (x + a − a) xn−1
Z Z Z
n−1
f (n) = dx = x dx − a dx
0 a+x 0 0 a+x
1
= − a f (n − 1) n ≥ 1
n
f (0) = Ln( 1+a
a
)
9
Brahim Benouahmane
Cet algorithme est d’autant plus instable que a est plus grand que 1.
Pour ce faire supposons que l’erreur d’arrondi sur f (0) est égale à ε0 et qu’aucune erreur
n’est introduite dans les calculs subséquats.
fb(0) = f (0) + ε0
1
fb(n) = n
− a fb(n − 1) n = 1, 2, · · ·
1 1
rn = fb(n) − f (n) = −a fb(n − 1) + − + a f (n − 1)
n n
= −a (fb(n − 1) − f (n − 1))
= −a rn−1 n = 1, 2, · · ·
10
CHAPITRE 2
INTERPOLATION POLYNOMIALE
La façon la plus simple d’approcher une fonction est l’utilisation d’un polynôme d’in-
terpolation.
Le procédé est le suivant :
Nous allons montrer l’existence et l’unicité d’un tel polynôme en le construisant effec-
tivement.
Théorème et définition
Pn (xi ) = f (xi ) ∀i = 0, 1, · · · , n
n
X
Ce polynôme s’écrit : Pn (x) = f (xi ) Li (x)
i=0
n
Y x − xj
avec Li (x) = (polynômes de Lagrange)
j=0 j6=i
xi − xj
Preuve.
1
Brahim Benouahmane
– unicité :
Supposons qu’il existe un polynôme Pn∗ de degré n vérifiant : Pn∗ (xi ) = f (xi ) ∀i =
0, 1, · · · , n
Posons : Qn = Pn − Pn∗ .
Qn serait un polynôme de degré n vérifiant : Qn (xi ) = 0 ∀i = 0, 1, · · · , n de sorte
que Qn aurait au moins (n + 1) racines distinctes.
Ceci n’est possible que si Q ≡ 0 (polynôme identiquement nul) ce qui prouve l’unicité
de Pn .
– existence :
Remarque
Calcul de Pn (α)
Le calcul de Pn (α) nécessite celui des (n + 1) quantités Li (α), ce qui est coûteux.
La méthode de Lagrange est d’un intérêt plus théorique que pratique car :
Etude de l’erreur en (x) = f (x) − Pn (x) (appelée erreur d’interpolation) pour tout
x ∈ [a, b]
2
Brahim Benouahmane
Théorème
Si f ∈ C (n+1) ([a, b]) alors pour tout x ∈ [a, b], il existe ξx appartenant au plus petit
intervalle fermé I contenant x, x0 , x1 , · · · , xn tel que :
(n+1)
en (x) = f (x) − Pn (x) = F (x) f (n+1)!
(ξx )
(∗)
où F (x) = (x − x0 ) (x − x1 ) · · · (x − xn )
Preuve.
Problème : Déterminer un polynôme qui coïncide avec f , ainsi que sa dérivée avec f 0 ,
aux points x0 , x1 , · · · , xn .
Théorème et définition
Etant donnée une fonction f définie sur [a,b] et admettant des dérivées aux points xi ,
il existe un polynôme P2 n+1 de degré 2 n + 1 et un seul tel que
3
Brahim Benouahmane
∀i = 0, 1, · · · , n
Théorème
Preuve.
On considère pour tout x fixé distinct des xi la fonction g de la variable t défini par
F 2 (t)
g(t) = en (t) − F 2 (x)
en (x)
4
Brahim Benouahmane
Pour n ≥ 1, le polynôme Pn (x) − Pn−1 (x) est de degré n et s’annule aux points
x0 , x1 , · · · , xn−1 , il est donc de la forme :
donc
n
X f (xk )
an =
k=0
(xk − x0 ) · · · (xk − xk−1 ) (xk − xk+1 ) · · · (xk − xn )
Le nombre an est appelé différence divisée d’ordre n de la fonction f (x) et est noté :
an = f [x0 , x1 , · · · , xn ]
Pn (x) = f [x0 ]+
Xn
f [x0 , x1 , · · · , xk ] (x − x0 ) · · · (x − xk−1 )
k=1
Si nous définissons :
f [xi , xi+1 , · · · , xj ] =
j
X f (xk )
k=i
(xk − xi ) · · · (xk − xk−1 ) (xk − xk+1 ) · · · (xk − xj )
nous pouvons montrer que :
5
Brahim Benouahmane
Cette relation suggère de calculer les différences divisées, à l’aide d’une table triangu-
laire, de la façon suivante :
xi f (xi ) = f [xi ] f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] · · ·
x0 f [x0 ]
x1 f [x1 ] f [x0 , x1 ]
x2 f [x2 ] f [x1 , x2 ] f [x0 , x1 , x2 ]
..
.
Exemple
P3 (x) = 1 + 2 x − 56 x (x − 1) + 12 x (x − 1) (x − 3)
P3 (x) = 12 x3 − 17
6
x2 + 13
3
x+1
= − 56 x4 + 43
6
x3 − 56
3
x2 + 43
3
x+1
Corollaire
6
Brahim Benouahmane
Preuve
– Pour t = x, il vient
f [x0 , x1 , x2 ] (α − x0 ) (α − x1 ) · · · +
f [x0 , x1 , · · · , xn ] (α − x0 ) (α − x1 ) (α − xn−1 )
· · · )).
ALGORITHME DE HÖRNER
b0 = f [x0 , x1 , · · · xn ]
7
Brahim Benouahmane
i = 1, · · · , n − 1
..
.
bn = f [x0 ] + (α − x0 ) bn−1 = Pn (α)
Il est facile de vérifier que le coût opératoire pour calculer Pn (α) est de :
n soustractions
n multiplications
n (n+1)
Soit au total : n2 + 3 n add/sous, n mult, 2
div
8
CHAPITRE 3
INTEGRATION NUMERIQUE
Notations
avec les paramètres (Ai , xi )0≤i≤n calculés de manière que la formule (?) soit exacte sur
Ω, c’est-à-dire :
∀f ∈ Ω , En (f ) = 0
1. Construction
1
Brahim Benouahmane
b−a
Les noeuds {xi }0≤i≤n étant choisis équidistants (h = n
, xi = a + i h , i =
0, · · · , n).
Remplaçons f par son polynôme d’interpolation de Lagrange pn (x) relativement
aux points x0 , x1 , · · · , xn .
De la relation :
Théorème
b−a
On prend : xi = a + i h , i = 0, 1, · · · , n avec h = n
une subdivision de l’intervalle
[a,b] en n sous-intervalles égaux.
∀i = 0, 1, · · · , n on a :
Z n
nY
(n) (n) (−1)n−i h
Ai = An−i = i! (n−i)!
(u − j) du
0 j=0 j6=i
2
Brahim Benouahmane
Preuve.
b n
x − xj
Z Y
(n)
On a : Ai = Li (x) dx avec Li (x) =
a j=0 j6=i
xi − xj
On en déduit que :
n
Z bY
(n) 1
Ai =Y
n (x − xj ) dx
a j=0
(xi − xj ) j6=i
j=0 j6=i
On a :
n
Y i−1
Y n
Y
(xi − xj ) = (xi − xj ) (xi − xj )
j=0 j6=i j=0 j=i+1
= (−1)n−i i! (n − i)! hn
x−a
En faisant le changement de variable u = h
dans l’intégrale, on trouve :
Z bYn
(x − xj ) dx
a j=0
j6=i
n
Z nY
= (a + u h − a − j h) h du
0 j=0
j6=i
Z n
nY
n+1
=h (u − j) du
0 j=0 j6=i
il vient
Z nY n Z n
0Y
(u − j) du = − (n − j − v) dv
0 j=0 j6=i n j=0
j6=i
Z n
nY
n
= (−1) (v − j) dv
0 j=0 j6=i
3
Brahim Benouahmane
(n) (n)
d’où : An−i = Ai puisque (−1)n+i = (−1)n−i
Pour évaluer le terme d’erreur pour la formule des Trapèzes, nous commençons
par le lemme suivant
lemme
− 12 (x − a) (b − x) f ”(ξx )
Preuve.
−c (x − a) (b − x)
4
Brahim Benouahmane
0 = Φ”(ξx0 ) = f ”(ξx0 ) + 2 c
d’où c = − 12 f ”(ξx0 ).
– Pour x → a+
1 f 0 (a) − f (b)−f
b−a
(a)
lim − f ”(ξx ) = f inie
x→a+ 2 b−a
−
– Pour x → b
1 −f 0 (b) + f (b)−f
b−a
(a)
lim − f ”(ξx ) = f inie
x→b− 2 b−a
D’après la règle de l’Hospital, on peut donc prolonger x → f ”(ξx ) par continuité
en a et en b.
Preuve.
b
b−a
Z
E1 (f ) = f (x) dx − (f (a) + f (b))
a 2
b
f (b) − f (a)
Z
= (f (x) − f (a) − (x − a) ) dx
a b−a
Z b
= − 21 f (2) (ξx ) (x − a) (b − x) dx
a
5
Brahim Benouahmane
Un calcul plus compliqué que pour la formule des Trapèzes donne l’évaluation de
l’erreur E2 (f )
1
E2 (f ) = − 90 f (4) (ξ) (b − a)5
Formule de Simpson :
Preuve. (admise)
Z π
2
Exemple : I = sin(x) dx = 1
0
Trapèzes :
π ( π2 )3
I= 4
(sin(0) + sin( π2 )) + 12
sin(ξ)
π π3
I= 4
+ 96
sin(ξ) = 0.78539 + 0.32298 sin(ξ)
ξ ∈ [0, π2 ]
Simpson :
π ( π4 )5
I= 12
(sin(0) + 4 sin( π4 ) + sin( π2 )) − 90
sin(ξ)
6
Brahim Benouahmane
π
√ π5
I= 12
(1 + 2 2) − 92160
sin(ξ)
ξ ∈ [0, π2 ]
Les formules de Newton-Cotes sont peu adaptées au calcul d’intégrales sur un grand
intervalle d’intégration
Exemple :
Z 4
ex dx = e4 − e0 = 53.598..
0
La valeur approchée obtenue par Simpson est :
2
3
(e0 + 4 e2 + e4 ) = 56.769 ce qui est loin de la valeur exacte.
b−a
On peut penser à augmenter n de telle façon à diminuer le pas d’intégration h = n
mais cette solution s’avère numériquement mauvaise.
(n)
– Le calcul des Ai devient difficile quand n augmente.
On décompose :
Z b N Z
X ti
I= f (x)dx = f (x)dx
a i=1 ti−1
Z ti
Chaque intégrale f (x)dx étant calculée par une formule de Newton-Cotes de bas
ti−1
7
Brahim Benouahmane
degré.
− b−a
12
h2 f (2) (ξ), ξ ∈ [a, b]
Preuve.
Pour i = 1, 2, · · · , N
Z ti
h h3 (2)
f (x) dx = (f (ti−1 ) + f (ti )) − f (ξi ),
ti−1 2 12
ξi ∈ [ti−1 , ti ]
On en déduit :
Z b N −1
h X
f (x) dx = (f (a) + 2 f (ti ) + f (b))
a 2 i=1
N
X
3
− h12 f (2) (ξi )
i=1
N
h3
X b − a 2 (2)
Il vient alors : 12
f (2) (ξi ) = h f (ξ)
i=1
12
Remarque.
8
Brahim Benouahmane
| − b−a
12
h2 f (2) (ξ) | ≤ K h2
avec K = 1
12
(b − a) max | f (2) (x) |
x∈[a,b]
Preuve.
On en déduit :
Z b M
hX
f (x) dx = (f (t2 i−2 ) + 4 f (t2 i−1 ) + f (t2 i ))
a 3 i=1
M
X
5
− h90 f (4) (ξi ) , ξi ∈ [t2 i−2 , t2 i ]
i=1
M
X −1 M
X
h
= 3
[f (a) + 2 f (t2 i ) + 4 f (t2 i−1 )+
i=1 i=1
M
X
h5
f (b)] − 90
f (4) (ξi )
i=1
9
Brahim Benouahmane
M
5
X M h5 (4) b − a 4 (4)
− h90 f (4) (ξi ) = f (ξ) = h f (ξ)
i=1
90 180
Remarque.
| − b−a
180
h4 f (4) (ξ) | ≤ K h4
avec K = 1
180
(b − a) max | f (4) (x) |
x∈[a,b]
Exemple :
Z 4
ex dx = e4 − e0 = 53.59815..
0
Déterminer l’entier N pour être sûr d’obtenir une erreur de quadrature inférieure à
10−5 .
Trapèzes :
| b−a
12
h2 f (2) (ξ) |= 16
3 N2
| eξ | ≤ 16
3 N2
e4 ≤ 10−5
si N ≥ 5397
Simpson :
| b−a
180
h4 f (4) (ξ) |= 256
45 N 4
| eξ | ≤ 256
45 N 4
e4 ≤ 10−5
si N ≥ 76
En fait, pour obtenir une précision absolue de 10−5 , il faut prendre N = 2674 pour la
méthode des Trapèzes et N = 54 pour la méthode de Simpson.
10
CHAPITRE 4
EQUATIONS NON-LINEAIRES
Notations
I : intervalle de R.
(α ∈ I , f (α) = 0)
1. La séparation des racines ; cela consiste à déterminer un intervalle [a, b] ⊂ I tel que
[a, b] contienne une racine α et une seule de l’équation f (x) = 0.
1
Brahim Benouahmane
2. ou graphiquement.
Exemple
Il existe un intervalle [a, b] ⊂ I tel que α soit la seule racine de f (x) = 0 sur ]a, b[ et
f (a) f (b) < 0.
Imprimer (n, a, b, p)
Poser n = n + 1
Si f (a) f (p) > 0 Alors
Poser a = p
Sinon
Poser b = p
Fsi
Ftque
2
Brahim Benouahmane
Si n > N0 Alors
Imprimer (la méthode a échouée après N0
itérations)
Sinon
Fsi
Remarque
et donc on a :
b−a
b n − an = 2n−1
Par conséquent, nous pouvons calculer le nombre maximal d’itérations pour obtenir
bn −an
2
≤ε
b−a
On a : 2n
≤ ε, d’où l’on tire :
Log(b−a)−Log(ε)
n≥ Log(2)
Exemple
3
Brahim Benouahmane
Théorème
Si α est une racine simple de l’équation f (x) = 0 alors il existe un réel θ > 0 tel que
pour tout x0 ∈ [α − θ, α + θ], l’itération de Newton :
4
Brahim Benouahmane
f (xk )
xk+1 = xk − f 0 (xk )
k≥0
Preuve.
Comme f 0 est continue sur [a,b], il existe alors θ1 > 0 tel que :
∀x ∈ [α − θ1 , α + θ1 ] ⊂ [a, b] , f 0 (x) 6= 0
définie et continue sur [α − θ1 , α + θ1 ] vérifie les conditions suffisantes pour être une
contraction.
Il est facile de vérifier que g est dérivable sur [α − θ1 , α + θ1 ], avec g 0 continue et définie
par :
f (x) f ”(x)
g 0 (x) = [f 0 (x)]2
Puisque g 0 (α) = 0, la continuité de g 0 assure l’existence d’un θ > 0, θ < θ1 tel que :
∀x ∈ [α − θ, α + θ] , | g 0 (x) |≤ K < 1
Il reste à vérifier que g, définie sur [α − θ, α + θ], est aussi à valeurs dans ce même
intervalle
Or ∀x ∈ [α − θ, α + θ] on a :
5
Brahim Benouahmane
Poser n = 1
f (p)
Tant que n ≤ N0 et | f 0 (p)
|> ε faire
f (p)
Poser p = p − f 0 (p)
Exemple
c’est-à-dire : f (x) = x3 + 4 x2 − 10
On a : f 0 (x) = 3 x2 + 8 x
p3n +4 p2n −10
d’où : pn+1 = pn − 3 p2n +8 pn
6
Brahim Benouahmane
Au lieu d’utiliser la tangente au point pn nous allons utiliser la sécante passant par les
points d’abscisses pn et pn−1 pour en déduire pn+1 .
Si s(pn+1 ) = 0, on tire :
pn −pn−1
pn+1 = pn − f (pn )−f (pn−1 )
f (pn )
7
Brahim Benouahmane
Ftque
Si n > N0 + 1 Alors
Imprimer (la méthode a échouée après N0
itérations)
Sinon
Fsi
8
Brahim Benouahmane
Remarque
Si pn et pn−1 sont proches (on peut espérer que ce sera le cas si la méthode converge),
on peut considérer que
f (pn −f (pn−1 )
pn −pn−1
est une approximation de f 0 (pn ). Dans ce cas l’algorithme de la sćante est une ap-
proximation de l’algorithme de Newton.
Exemple
Nous constaterons que la convergence est moins bonne que celle obtenue par la mé-
thode de Newton.
x0 ∈ [a, b]
soit convergente.
Si g est continue la limite α de la suite (xn )n≥0 est alors solution de (E2 ).
9
Brahim Benouahmane
f (x)
pn+1 = g(pn ) où g(x) = x − f 0 (x)
On considère une fonction g définie et continue sur [a,b], à valeurs dans [a,b]. On
suppose que g est une contraction sur [a,b] : c’est-à-dire qu’il existe K ∈ [0, 1[ tel que
| g(x) − g(x0 ) |≤ K | x − x0 |
xn+1 = g(xn )
converge vers α et
Kn
| α − xn |≤ 1−K
| x1 − x0 |
Remarque
Preuve.
Montrons que la suite définie dans i) converge vers une racine de (E2 ).
≤ K | xj − xj−1 |≤ K j | x1 − x0 |
10
Brahim Benouahmane
Kn
soit | xn+p − xn |≤ 1−K
| x1 − x 0 | (?)
On en déduit que : lim | xn+p − xn |= 0, c’est-à-dire que (xn )n≥0 est une suite de
n→+∞
cauchy dans R et par suite convergente vers α ∈ [a, b].
= g( lim xn ) = g(α)
n→+∞
Montrons maintenant que (E2 ) possède une racine sur [a,b], suposons l’existence de
deux racines distinctes α et α0 , alors
(1 − K) | α − α0 |≤ 0
Corollaire
On considère une fonction g définie et continue sur [a,b], à valeurs dans [a,b].
Preuve
11
Brahim Benouahmane
4.2.8 Exemple 1
On considère :
g1 (x) = 10 + x − 4 x2 − x3
q
g2 (x) = 10 x
− 4x
√
g3 (x) = 12 10 − x3
q
10
g4 (x) = 4+x
12
Brahim Benouahmane
On pourra vérifier que g3 et g4 sont des bons choix pour résoudre l’équation f (x) = 0
ce qui n’est pas le cas de g1 et g2 .
Exemple2
f (x) = x2 − 2 x − 3
On considère :
√
g(x) = 2x + 3
On considère :
3
g(x) = x−2
Si x0 = 4, alors :
x1 = 1.5
x2 = −6
x3 = −0.375
x4 = −1.263
x5 = −0.919
x6 = −1.028
x7 = −0.991
x5 = −1.003
13
Brahim Benouahmane
On considère :
x2 −3
g(x) = 2
Pour x0 = 4, on obtient :
x1 = 6.5
x2 = 19.635
x3 = 191.0
2.2 Remarque
x = x + k f (x) = g(x)
14
CHAPITRE 5
Le but de ce chapitre est d’étudier des méthodes pour approximer les solutions y(x)
d’un problème de type
dy
dx
= f (x, y) (1)
y(x0 ) = y0 (2)
(1) détermine une famille de solutions y = Φ(x, c) (appelées courbes intégrales) dé-
pendant d’un paramètre.
(2) permet de choisir le membre de cette famille de courbe passant par (x0 , y0 ) (ceci,
en déterminant une valeur particulière de c).
Du point de vue géométrique, l’équation (1) signifie que la pente de la courbe intégrale
y = Φ(x, c) passant par un point (x, y) quelconque est donnée par f (x, y).
Définition
| f (x, y) − f (x, z) |≤ A | y − z |
∀x ∈ [a, b] ∀y, z ∈ R
1
Brahim Benouahmane
Théorème (admis)
1. f continue
2. f lipschitzienne en y
b−a
On prend : xi = a + i h , i = 0, · · · , N avec h = N
une subdivision de l’intervalle
[a,b] en N intervalles égaux.
Puis on reliera ces points par interpolation pour définir une fonction yh sur [a,b].
y1 = y0 + h f (x0 , y0 )
On considère ensuite que f (x1 , y1 ) est une approximation de y 0 (x1 ) et sur l’intervalle
[x1 , x2 ], on remplace la courbe par sa tangente approchée en x1
' y1 + f (x1 , y1 ) (x − x1 )
2
Brahim Benouahmane
y2 = y1 + h f (x1 , y1 )
d’Euler.
Exemple
y0 = −y + x + 1
y(x0 ) = 1
y(x) = x + e−x
3
Brahim Benouahmane
Convergence
Théorème
Si f vérifie les hypothèses :
1. f ∈ C 1 ([a, b] × R)
2. f est lipschitzienne en y :
| f (x, y) − f (x, z) |≤ K | y − z |
on a la majoration :
eK (b−a) −1 M
| en |=| yn − y(xn ) |≤ K 2
h
et lim M ax{| en |, n = 1, · · · , N } = 0
N →+∞
4
Brahim Benouahmane
Remarques
2. Une méthode d’orde 1 ne converge pas assez vite pour donner des résultats pratiques
intéressants.
Exemple
y0 = 2
x
y + x2 ex , y(1) = 0 , x ∈ [1, 2]
∀x ∈ [1, 2], K = 2.
y(x) = x2 ex − e x2 ,
Une première façon d’améliorer la méthode d’Euler (au sens où l’erreur variera au
moins comme h2 ) consiste à utiliser un développement de Taylor jusqu’à l’ordre 2.
5
Brahim Benouahmane
où ξi ∈ [xi , xi+1 ]
yi+1 = yi + h f (xi , yi )+
h2
2
[ ∂∂ xf (xi , yi ) + ∂f
∂y
(xi , yi ) f (xi , yi )] (4)
Remarques
Exemple
y0 = −y + x + 1
y0 = y(x0 ) = 1
∂f
Puisque ∂x
= 1, ∂∂ fy = −1 l’équation aux différences s’écrira :
h2
yi+1 = yi + h (−yi + xi + 1) + 2
[1 − (−yi + xi + 1)]
yi+1 = yi + h [( h2 − 1) yi + (1 − h2 ) xi + 1]
6
Brahim Benouahmane
On voudrait conserver l’avantage des méthodes d’ordre supérieur mais corriger les
inconvénients dûs au calcul des dérivées partielles de f .
Ces différentes méthodes sont basées sur la formule de Taylor à plusieurs variables :
∂ n+1 f
(y − y0 )j ∂ xn+1−j ∂ y j
(ξ, η)] (5)
où ξ ∈ (x, x0 ) , η ∈ (y, y0 )
Parmi toutes ces méthodes, la plus utilisée est celle d’ordre 4 mais les calculs menant
à l’algorithme sont très laborieux.
f (xi , yi ) + h2 [ ∂∂ fx (xi , yi ) + ∂f
∂y
(xi , yi ) f (xi , yi )]
a f (xi + α, yi + β)
7
Brahim Benouahmane
c’est-à-dire :
h h
a=1 , α= 2
, β= 2
f (xi , yi )
yi+1 = yi + h f (xi + h2 , yi + h
2
f (xi , yi ))
8
Brahim Benouahmane
Commentaire
Les méthodes de Runge-Kutta sont faciles à utiliser, cependant elles sont relativement
coûteuses car elles nécessiteront plusieurs évaluations de f (x, y) à chaque pas.
Exemple
9
Brahim Benouahmane
1. y 0 = −y + x2 + 1 , 0 < x ≤ 1 , y(0) = 1
2. y 0 = −y + x + 1 , 0 ≤ x ≤ 1 , y(0) = 1
On peut comparer les résultats avec ceux obtenus précèdemment pour voir l’aug-
mentation de la précision.
xi y(xi ) yi erreur : | yi − yi |
0 1.0000000000 1.0000000000 0.0000000000
0.1 1.0048374180 1.0048375000 0.0000000820
0.2 1.0187307531 1.0187309014 0.0000001483
0.3 1.0408182207 1.0408184220 0.0000002013
0.4 1.0703200460 1.0703202889 0.0000002429
0.5 1.1065306597 1.1065309344 0.0000002747
0.6 1.1488116361 1.1488119344 0.0000002983
0.7 1.1965853038 1.1965856187 0.0000003149
0.8 1.2493289641 1.2493292897 0.0000003256
0.9 1.3065696597 1.3065699912 0.0000003315
1.0 1.3678794412 1.3678797744 0.0000003332
10
RESOLUTION DES SYSTEMES LINEAIRES
Introduction
Ax = b
Méthode de résolution
La méthode de résolution la plus étudiée (et une des plus utilisées) s’appelle méthode d’élimination
de Gauss. Elle a pour but de remplacer le système A x = b par un système triangulaire
supérieur avec des 1 dans la diagonale. C’est-à-dire de la forme :
b̃1
1 ã1,2 . . . ã1,n x1
1 ã2,3 . . ã2,n
x2
b̃2
. . . . . .
=
. . . . .
1 ãn−1,n xn−1 b̃
n−1
1 xn b̃n
xn = b̃n
n
X
xi = b̃i − ãi,j xj pour i = n − 1, · · · , 1
j=i+1
1
x1 + x2 = 3
2 x1 + x2 − x3 = 1
3 x1 − x2 − x3 = −2
qui s’écrit :
1 1 0 x1 3
2 1 −1 x2 = 1
3 −1 −1 x3 −2
1 1 0 x1 3
0 −1 −1 x2 = −5
0 −4 −1 x3 −11
• Elimination de la deuxième inconnue
1 1 0 x1 3
0 1 1 x2 = 5
0 −4 −1 x3 −11
Eliminons x2 dans la dernière équation. Puis divisons l’équation ainsi obtenue par
le 3ème pivot
1 1 0 x1 3
0 1 1
x
2
= 5
0 0 1 x3 3
Finalement on trouve :
x3 = 3 x2 = 2 x1 = 1
2
Algorithme : Elimination de Gauss
bk ← bk − ak,i bi
Fpour
Fpour
bn
bn ← an,n
x n ← bn
Fpour
Notons toutefois que notre algorithme ne peut être exécuté jusqu’à la fin que si les
pivots successifs sont tous non nuls.
Nous pouvons nous demander s’il existe une relation entre la matrice de départ et les
matrices triangulaires obtenues. Ce lien existe :
3
l1,1
l2,1 l2,2
. . .
L=
. . . .
ln−1,1 ln−1,2 . . ln−1,n−1
ln,1 ln,2 . . ln,n−1 ln,n
1 u1,2 . . . u1,n
1 u2,3 . . u2,n
. . . .
U =
. . .
1 un−1,n
1
A = LU
Nous ne démontrerons pas cette proposition. Nous nous contenterons de la vérifier sur
notre exemple :
1 0 0 0 1 1 0 3 1 1 0 3
2 −1 0 0 0 1 1 5 2 1 −1 1
13 =
3 −4 3 0 0 0 1 3 −1 −1 2
3
−1 3 0 −13 0 0 0 1 −1 2 3 −1
Définition
n
X
|ai,i | > |ai,j |
j=1j6=i
est vérifiée.
4
Nombre d’opération pour l’élimination
de Gauss
n(n2 −1)
• 3
additions et autant de multiplications
n(n+1)
• 2
divisions
n(n−1)
La résolution du système triangulaire supérieur, quant à elle, nécessite 2
additions
et autant de multiplications.
Remarques
2. Si l’élément diagonal ai,i est nul, on cherche, dans la même colonne, un élément
d’indice plus grand non nul, puis on échange les lignes correspondantes. Si ceci est
impossible, le système est singulier.
3. On est parfois amené, pour des raisons de stabilité numérique, à effectuer des
échanges de lignes même si ai,i est non nul. Ceci conduit à des stratégies dites
de pivots.
5
Exemple
On veut résoudre :
0 1 3 x1 1
5 2 3 x2 = 4
6 8 1 x3 1
Echange de lignes
Toutefois, on peut échanger deux lignes pour obtenir un premier pivot non nul.
On choisit comme premier pivot le plus grand coefficient de la 1ère colonne. Pour cela
on échange la 1ère et la 3ème ligne.
6 8 1 x1 1
5 2 3 x2 = 4
0 1 3 x3 1
La première opération consiste à diviser cette équation par a1,1 = 6 encore appelé
premier pivot
1 34 61 1
x1
6
5 2 3 x2 = 4
0 1 3 x3 1
1 43 1 1
6
x1 6
14 13 19
0 −3 x2 = 6
6
0 1 3 x3 1
6
• Elimination de la deuxième inconnue
1 34 1 1
6
x1
13 619
0 1 − 28 x2 = − 28
0 1 3 x3 1
Eliminons x2 dans la dernière équation. Puis divisons l’équation ainsi obtenue par
le 3ème pivot
1 34 1 1
6
x1 6
13 19
0 1 − 28 x2 = − 28
47
0 0 1 x3 97
Finalement on trouve :
47 44 67
x3 = x2 = − x1 =
97 97 97
Pivotage partiel
bk ← bk − ak,i bi
7
Fpour
Fpour
bn
bn ← an,n
k←i
m ← abs(ai,i )
s ← abs(aj,i )
si m < s alors
k ← j et m ← s
sinon
Fsi
Fpour
Si k 6= i alors
t ← ai,j
ai,j ← ak,j
ak,j ← t
Fpour
t ← bi
bi ← bk
bk ← t
sinon
Fsi
8
Factorisation
Dans le cas sans pivotage, si l’on doit résoudre un système où le membre de droite
change, il y a intérêt à effectuer la réduction à la forme triangulaire une fois pour toutes.
Lz = b
Ux=z
Les systèmes étant triangulaires, la résolution ne nécessite que l’exécution d’une re-
montée et d’une descente triangulaire.
Remarque
Lorsque la matrice A est symétrique définie positive il y a intérêt à utiliser la méthode de Cholesky
qui est une variante de la méthode de Gauss.
La méthode de Cholesky consiste à effectuer
la décomposition A = L Lt , c’est-à-dire que
U = Lt . On effectue alors deux fois moins d’opérations arithmétiques qu’avec la méthode
de Gauss.
Méthode de Crout
Nous allons montrer sur un cas particulier que, l’on peut parfois factoriser directement
une matrice A, en tenant compte de certaines structures particulières.
Soit
a1,1 a1,2
a2,1 a2,2 a2,3
a3,2 a3,3 a3,4
A=
. . .
an−1,n−2 an−1,n−1 an−1,n
an,n−1 an,n
une matrice tridiagonale. Nous cherchons des facteurs L et U de la forme :
9
l1,1
l2,1 l2,2
l3,2 l3,3
L=
. .
ln−1,n−2 ln−1,n−1
ln,n−1 ln,n
1 u1,2
1 u2,3
1 u3,4
U =
. .
1 un−1,n
1
Pour j = 1, 2, · · · , n
10