Vous êtes sur la page 1sur 36

Universit du Sud Toulon-Var

ISITV - 1re anne

Analyse Numrique
Paola GOATIN

Table des matires


1 Calculs numriques approchs.

2 Systmes linaires.

1.1
1.2
1.3
2.1

2.2

2.3

Reprsentation dcimale approche des nombres rels. . . . . . .


Non-associativit des oprations arithmtiques. . . . . . . . . . .
Phnomnes de compensation. . . . . . . . . . . . . . . . . . . .
Mthodes directes. . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Rsolution des systmes triangulaires. . . . . . . . . . . .
2.1.2 Mthode d'elimination de Gauss et dcomposition LU . . .
2.1.3 Elimination avec recherche de pivot. . . . . . . . . . . . .
2.1.4 Matrices tridiagonales. . . . . . . . . . . . . . . . . . . . .
2.1.5 L'inverse d'une matrice. . . . . . . . . . . . . . . . . . . .
2.1.6 Considration sur la prcision des mthodes directes pour
les systmes linaires. . . . . . . . . . . . . . . . . . . . .
Mthodes itratives. . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 La mthode de Jacobi. . . . . . . . . . . . . . . . . . . . .
2.2.2 La mthode de Gauss-Seidel. . . . . . . . . . . . . . . . .
2.2.3 Convergence des mthodes de Jacobi et de Gauss-Seidel. .
2.2.4 Mthode du gradient pas optimal. . . . . . . . . . . . .
2.2.5 Mthode du gradient conjugu. . . . . . . . . . . . . . . .
Exercices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Zeros de fonctions non-linaires.


3.1
3.2
3.3
3.4
3.5
3.6
3.7

Mthode de dichotomie (ou de la bissection).


Mthode de Newton. . . . . . . . . . . . . . .
Mthode de la scante. . . . . . . . . . . . . .
Mthode de la corde. . . . . . . . . . . . . . .
Mthode de point xe. . . . . . . . . . . . . .
3.5.1 Le thorme du point xe. . . . . . . .
3.5.2 Point xes attractifs et rpulsifs. . . .
Encore propos de la mthode de Newton. .
Le cas des systmes. . . . . . . . . . . . . . .

4 Approximation polynmiale.
4.1
4.2
4.3
4.4
4.5

Mthode d'interpolation de Lagrange.


Mthode des dirences divises. . . .
Formule d'erreur. . . . . . . . . . . . .
Interpolation de Tchebychev. . . . . .
Interpolation par intervalles. . . . . . .
1

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

3
3
4

5
5
6
7
9
10
10
11
12
13
13
14
15
15

17

17
17
17
18
18
18
19
21
22

23
23
24
25
26
27

5 Intgration numrique.
5.1
5.2

Exemples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Evaluation de l'erreur. Noyau de Peano. . . . . . . . . . . . . . .

6 Equations direntielles.
6.1
6.2
6.3
6.4

Drive numrique. . . . . . . . . . . . . .
Mthodes d'Euler. . . . . . . . . . . . . .
Etude gnrale des mthodes un pas. . .
6.3.1 Consistance, stabilit, convergence.
Mthodes de Runge-Kutta d'ordre 2. . . .

Rfrences

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

28

28
30

31

31
32
33
33
34

36

Version provisoire. Merci de me signaler les erreurs !

1 Calculs numriques approchs.


L'objet de cette section est de mettre en vidence les principales dicults lies
la pratique des calculs numriques sur ordinateur.

1.1 Reprsentation dcimale approche des nombres rels.


La capacit mmoire d'un ordinateur tant nie, il est ncessaire de reprsenter les nombres rels sous forme approche. La notation la plus utilise est la
reprsentation avec virgule ottante : si x est un nombre rel, on pose

x ' m bp ,
o b est la base de numration, m la mantisse, et p l'exposant. (Les calculs sont
gnralement eectus en base b = 2, les rsultats achs sont traduits en base
10.)
La mantisse m est un nombre crit avec virgule xe et possdant un nombre
maximum N de chires signicatifs (impos par la mmoire de l'ordinateur) :

m = 0, a1 a2 . . . aN =

N
X

ak bk ,

b1 m < 1.

k=1

La prcision relative dans l'approximation d'un nombre rel est donc donne
par
x
m
bN
=
1 = b1N .
x
m
b
L' exposant p est compris entre deux nombres entiers, L p U , ce qui veut
dire que les nombres rels qui peuvent tre reprsents en machine sont compris
entre deux valeurs xmin et xmax :

xmin = bL1 |x| bU = xmax .


Voici en rsumant la repartition des n positions de mmoire pour la reprsentations des nombres rels dans l'ordinateur : une position pour le signe, N
positions pour les chires signicatifs, et les restantes n N 1 positions pour
l'exposant.

Exemple. La mme criture peut reprsenter des nombre dirents dans des

bases direntes : 425, 33 en base 10 reprsente le nombre x = 4102 +210+5+3


101 +3102 , en base 6 il reprsente le nombre y = 462 +26+5+361 +362 .
D'autre part, le mme nombre peut avoir un nombre ni de chires dans une
base, et un nombre inni dans un'autre base : x = 1/3 donne x3 = 0, 1 en base
3 et x10 = 0, 3 en base 10.

1.2 Non-associativit des oprations arithmtiques.


Supposons par exemple que les rels soient calculs avec N = 3 chires signicatifs et arrondis la dcimale la plus proche. Soient

x = 8, 22 = 0, 82210,

y = 0, 00317 = 0, 317102 ,
3

z = 0, 00432 = 0, 432102 .

On veut calculer la somme x + y + z .


(x + y) + z donne :

x + y = 8, 22317 ' 0, 822 10


(x + y) + z ' 8, 22432 ' 0, 822 10
x + (y + z) donne :
y + z = 0, 00749 ' 0, 749 102
x + (y + z) = 8, 22749 ' 0, 823 10
L'addition est donc non associative par suite des erreurs d'arrondi. En gnrale,
dans une sommations de rels, l'erreur a la tendance tre minimis lorsqu'on
somme en premier les termes ayant la plus petite valeur absolue.

1.3 Phnomnes de compensation.


Lorsqu'on tente d'eectuer des soustractions de valeurs trs voisines, on peut
avoir des pertes importantes de prcision.

Exemple. On veut rsoudre l'quation x2 1634x + 2 = 0 en eectuant les


calculs avec N = 10 chires signicatifs. On obtient

0 = 667487,
0 = 816, 9987760,

x1 = 817 + 0 ' 1633, 998776,

x2 = 817 0 ' 0, 0012240.

On voit qu'on a une perte de 5 chires signicatifs sur x2 . Ici le remde est
simple : il sut d'observer que x1 x2 = 2, d'o

x2 =

2
' 1, 223991125 103 .
x1

C'est donc l'algorithme numrique utilis qui doit tre modi.

2 Systmes linaires.
On appelle systme linaire d'ordre n (n entier positif), une expression de la
forme
Ax = b,
o A = (aij ), 1 i, j n, dsigne une matrice de taille n n de nombres
rels ou complexes, b = (bi ), 1 i n, un vecteur colonne rel ou complexe
et x = (xi ), 1 i n, est le vecteur des inconnues du systme. La relation
prcdente quivaut aux quations
n
X

aij xj = bi ,

i = 1, . . . , n.

j=1

La matrice A est dite rgulire (ou non singulire ) si detA 6= 0 ; on a existence


et unicit de la solution x (pour n'importe quel vecteur b donn) si et seulement
si la matrice associe au systme linaire est rgulire.
Thoriquement, si A est non singulire, la solution est donne par la formule de
Cramer :
det(Ai )
xi =
,
i = 1, . . . , n,
det(A)
o Ai est la matrice obtenue en replaant la i-me colonne de A par le vecteur
b. Cependant l'application de cette formule est inacceptable pour la rsolution
pratique des systmes, car son cot est de l'ordre de (n + 1)! oating-point
operations (ops ). En fait, le calcul de chaque dterminant par la formule

det(A) =

(1)()

n
Y

ai,(i)

i=1

(o la somme est tendue toutes les permutations sur n objets) requiert n!


ops. Par example, sur un ordinateur eectuant 109 ops par seconde il faudrait
9, 6 1047 annes pour rsoudre un systme linaire de seulement 50 quations.
Il faut donc dvelopper des algorithmes alternatives avec un cot raisonnable.
Dans les sections suivantes plusieurs mthodes sont analyses.
On appelle mthode de rsolution directe d'un systme linaire un algorithme
qui, si l'ordinateur faisait des calculs exacts, donnerait la solution en un nombre
ni d'oprations. Il existe aussi des mthodes itratives qui consistent construire
une suite de vecteurs xn convergeant vers la solution x.

2.1 Mthodes directes.


Pour rsoudre Ax = b, on cherche crire A = LU o
- L est une matrice triangulaire infrieure avec des 1 sur la diagonale,
- U est une matrice triangulaire suprieure.
La rsolution de Ax = b est alors ramene aux rsolutions successives des
systmes chelonns Ly = b et U x = y.

2.1.1

Rsolution des systmes triangulaires.

Une matrice A = (aij ) est triangulaire suprieure si

aij = 0

i, j : 1 j < i n
5

et triangulaire infrieure si

aij = 0

i, j : 1 i < j n.

Suivant ces cas, le systme rsoudre est dit systme triangulaire suprieur ou
infrieur
. Si la matrice A est rgulire et triangulaire alors, comme det(A) =
Q
aii , on en dduit que aii 6= 0, pour tout i = 1, . . . , n.
Si A est triangulaire infrieure on a

x1 = b1 /a11 ,
et pour i = 2, 3, . . . , n

i1
X
1
xi =
bi
aij xj .
aii
j=1
Cet algorithme est appel mthode de descente.
Si A est triangulaire suprieure on a

xn = bn /ann ,
et pour i = n 1, n 2, . . . , 2, 1

n
X
1
bi
aij xj .
xi =
aii
j=i+1
Cet algorithme est appel mthode de remonte.
Le nombre de multiplications et de divisions ncessaires dans cet algorithme est
de n(n + 1)/2 et le nombre d'additions et de soustraction est de n(n 1)/2,
donc l'algorithme ncessite de n2 ops.

2.1.2 Mthode d'elimination de Gauss et dcomposition LU .


Soit A = (aij ) une matrice non singulire n n. L'algorithme de Gauss est le
(1)
suivant : on pose A(1) = A, c'est--dire aij = aij pour i, j = 1, . . . , n ; pour
k = 1, . . . , n on calcule
(k)

lik =

aik

(k+1)

aij

(k)

akk

,
(k)

i = k + 1, . . . , n;
(k)

= aij lik akj ,

i = k + 1, . . . , n.

A la n de ce procd, les lments de la matrice U sont dnis par


(i)

uij = aij ,
tandis que les lments de la matrice L sont les termes lij engendrs par l'algorithme de Gauss. Le cot de cette mthode de factorisation est de l'ordre de
2n3 /3 ops. En fait, pour passer de A(k) A(k+1) on modie touts les elements
de A(k) sauf les premires k lignes et les premires k colonnes, qui ne changent
6

pas ; pour chaque lment de A(k+1) il faut faire une multiplication et une soustraction ; on a donc 2(n k)2 oprations faire. Au total, pour fabriquer A(n)
il faut
n1
n1
X
X
(n 1)n(2n 1)
2n3
2(n k)2 = 2
j2 = 2

.
6
3
j=1
k=1

Remarque. Pour que l'algorithme de Gauss puisse terminer, il faut que tous
(k)

(k)

les termes akk , qui correspondent aux termes diagonaux ukk de la matrice U et
qu'on appelle pivots, soient non nuls.
Le fait que la matrice A ait entres non nulles ne prvient pas l'apparition de
pivot nuls, comme on remarque dans l'exemple qui suit :

1 2 3
1 2
3
1
A= 2 4 5
A(2) = 0 0
7 8 9
0 6 12
Cependant on a :

Proposition 2.1 La factorisation LU de la matrice carre A de taille n par


la mthode de Gauss existe si et seulement si les sous-matrices principales
Ai = (ahk ), h, k = 1, . . . , i sont non-singulires. Cette proprit est satisfaite
en particulier dans les cas qui suivent :
1. A est une matrice symtrique dnie positive ;
2. A est une matrice diagonale dominante stricte par lignes, c'est--dire pour
tout i = 1, . . . , n
n
X
|aii | >
|aij |.
j=1,j6=i

3. A est une matrice diagonale dominante stricte par colonnes, c'est--dire


pour tout j = 1, . . . , n
n
X
|ajj | >
|aij |.
i=1,j6=i

Si A est non singulire, sa factorisation LU est unique.


Grace la factorisation LU on peut calculer le determinant d'une matrice carre
avec O(n3 ) operations, vu que

det(A) = det(L) det(U ) = det(U ) =

n
Y

ukk ,

k=1

puisque le determinant d'une matrice triangulaire est le produit des termes


diagonaux. La commande MATLAB det(A) exploite ce procd.

2.1.3

Elimination avec recherche de pivot.

Si au cours de l'algorithme d'limination de Gauss on trouve un pivot nul


l'tape k , le procd s'arrte. On peut alors permuter la ligne k avec la ligne
r > k . La matrice qui permute les lignes k et r d'une matrice quelconque est la
7

matrice qui a des lments gaux 1 partout sur la diagonale sauf prr = pkk = 0
et des lments gaux 0 partout ailleurs, sauf prk = pkr = 1 :

1
1 0 ... 0 0
..
.. ..
.
.
.

... 0 ... 1 ... k

.. ..
P (k,r) = ...
.
.

... 1 ... 0 ... r

.
.. ..
..
. .

...

On aboutit alors la factorisation d'une nouvelle matrice, c'est--dire

LU = P A,
o P est le produit de toutes les matrices de permutation (des lignes) qu'on a
utilises.
Supposons donc qu'on a trouv une factorisation du type P A = LU . Alors le
, o b
= P b.
vecteur x, solution du systme Ax = b, vrie galement P Ax = b

Ce deuxime systme s'crit LU x = b. Donc, comme auparavant, on rsout par


et U x = y.
Ly = b
Si un pivot est trs petit, sans pour autant tre nul, le procd d'limination ne
s'arrte pas, mais le rsultat peut tre entach d'erreurs considrables, comme
on va le voir dans l'exemple ci-dessous.
Soit un petit nombre rel et considrons le systme de deux quations deux
inconnues

x + y
x+y

=
=

1,
2.

Par limination sans recherche de pivot, nous obtenons le systme quivalent


suivant

x + y

1
1
y

1,

1
2 .

On a donc immdiatement la valeur de y :

y=

1 2
' 1.
1

x=

1y
' 0.

Par substitution, on obtient x :

Essayons maintenant l'limination aprs avoir chang les lignes dans le systme :

x+y

2,

x + y

1.

Le mme procd d'limination que prcdemment conduit au systme quivalent suivant

x+y
(1 )y

= 2,
= 1 2,

qui devient, en ottants,

x+y
y

= 2,
= 1.

La solution, tout fait acceptable cette fois-ci, est

x = 1 et y = 1.
L'erreur qu'on faisait avec la premire limination venait de ce qu'on divisait
un nombre par le petit pivot , ce qui amplie considrablement les erreurs.
L'algorithme de dcomposition de Gauss avec pivotation par lignes permute
deux lignes de la matrice A(k) chaque pas de la dcomposition an que l'l(k)
ment diagonale akk de la matrice permute soit maximal (en valeur absolue).
Prcisment, au pas k de la dcomposition on trouve l'index r, avec r k , tel
que
(k)
(k)
|ark | = max |ask |
sk

et on change les lignes r et k entre elles. Le logiciel MATLAB implmente ce


dernier algorithme dans la commande lu.

2.1.4

Matrices tridiagonales.

On considre le cas particulier o la matrice A est non singulire et tridiagonale,


donne par

a1 c1
0

b2 a2 . . .

..

.
cn1
0
bn
an
Dans ce cas, les matrices L et U de la factorisation LU de A sont des matrices
bidiagonales de la forme :

1 c1
0
1
0

.
2 1

2 . .

.
L=
U =
,
..
..

.
.
.. c

n1
0
n 1
0
n
Les coecients i et i peuvent tre calculs par les relations :

1 = a1 , 2 1 = b2 2 =

b2
, 2 c1 + 2 = a2 2 = a2 2 c1 , . . .
1
9

Donc, on a

1 = a1 , i =

bi
, i = ai i ci1 ,
i1

i = 2, . . . , n.

Cet algorithme est connu sous le nom de algorithme de Thomas, et le nombre


d'oprations eectues est de l'ordre de n.
Avec l'algorithme de Thomas, rsoudre un systme tridiagonal Ax = f revient
rsoudre 2 systmes bidiagonaux Ly = f et U x = y avec

Ly = f
Ux = y

y1 = f1 , yi = fi i yi1 ,
yn
yi ci xi+1
xn =
, xi =
,
n
i

i = 2, . . . , n,
i = n 1, . . . , 1.

Le cot de calcul ici est de 3(n 1) oprations pour la factorisation et de 5n 4


oprations pour la substitution, pour une totale de 8n 7 oprations.

2.1.5 L'inverse d'une matrice.


Si A est une matrice n n non singulire, notons v(1) , . . . , v(n) les colonnes de
sa matrice inverse A1 , i.e. A1 = (v(1) , . . . , v(n) ).
La relation AA1 = I se traduit par les n systmes suivants :

Av(k) = e(k) ,

1 k n,

o e(k) est le vecteur colonne ayant tous les


qui est 1,

0
..
.

(k)

e =
1
.
..
0

(1)

lments 0 sauf celui sur la ligne k

1
..
.

k .
..
.
n

Une fois connues les matrices L et U qui factorisent la matrice A, rsoudre les
n systmes (1) gouverns par la mme matrice A, cote n3 oprations.
Si la matrice A est triangulaire, la solution brute de ce systme s'avre inecient
puisque A1 a beaucoup d'entres nulles. En eet, le systme precedent quivaut

A(j) vj0 = 1j ,
o A(j) est la sous-matrice principale d'ordre j , vj0 = (v1j , . . . , vjj )T et 1j =
(0, 0, . . . , 0, 1)T sont des vecteurs de longueur j .

2.1.6 Considration sur la prcision des mthodes directes pour les


systmes linaires.
Il y a des cas o les mthodes qu'on vient de voir ne marchent pas trop bien.

Dnition. On dnit le conditionnement d'une matrice M symtrique dnie positive comme le rapport entre la valeur maximale et la valeur minimale
de ses valeurs propres, i.e.
K2 (M ) =

max (M )
.
min (M )

10

On peut montrer que plus le conditionnement de la matrice est grand, plus la


solution du systme linaire obtenue par une mthode directe peut tre mauvaise.
Par exemple, considrons un systme linaire

Ax = b.
Si on rsout ce systme avec un ordinateur, cause des erreurs d'arrondis on
. On s'attend,
ne trouve pas la solution exacte mais une solution approche x
soir trs proche de x. Toutefois, on peut montrer la
alors, ce que la solution x
relation suivante :
k
krk
kx x
K2 (A)
kxk
kbk
o r est le rsidu r = b A
x ; on a not k k la norme euclidienne d'un vecteur.
k
On remarque que, si le conditionnement de A est grande, la distance kx x
entre la solution exacte et celle calcule numriquement peut tre trs grande
mme si le rsidu est trs petit.
Avec MATLAB on peut calculer le conditionnement d'une matrice avec la commande cond.

2.2 Mthodes itratives.


L'ide des mthodes itratives est de construire une suite de vecteurs x(k) qui
converge vers le vecteur x, solution du systme Ax = b,

x = lim x(k) .
k

L'intrt des mthodes itratives, compares aux mthodes directes, est d'tre
simples programmer et de ncessiter moins de place en mmoire. En revanche
le temps de calcul est souvent plus long.
Une stratgie est de considrer la relation de rcurrence linaire

x(k+1) = Bx(k) + g,

(2)

o B est la matrice d'itration de la mthode itrative (dpendant de A) et g


est un vecteur (dpendant de b), tels que

x = Bx + g.
tant x = A1 b, on obtient g = (I B)A1 b ; la mthode itrative (2) est
donc compltement dnie par la matrice B .
En dnissant l'erreur au pas k comme

e(k) = x x(k) ,
on obtient la relation de rcurrence

e(k) = Be(k1) , et donc e(k) = B (k) e(0) , k = 0, 1, . . .


On dmontre que limk e(k) = 0 pour tout e(0) (et donc pour tout x(0) ) si
et seulement si (B) < 1, o (B) est le rayon spectral de la matrice B , dni
comme
(B) = max |i (B)|,
11

et i (B) sont les valeur propres de la matrice B .


Une technique gnrale pour construire des mthodes itratives est base sur
une dcomposition (splitting ) de la matrice A sous la forme A = P N , o P
et N sont des matrices dterminer avec P non singulire. La matrice P est
appele matrice de prconditionnement. Plus prcisment, x(0) tant donn, on
peut calculer x(k) , pour k 1, en rsolvant le systme

P x(k+1) = N x(k) + b,

(3)

k 0.

Clairement, la solution exacte x satisfait P x = N x + b et donc Ax = b.


Le systme (3) peut tre crit galement sous la forme (2), avec B = P 1 N , et
g = P 1 b.
Une relation de rcurrence quivalente (3) est la suivante :

P (x(k+1) x(k) ) = r(k) ,

(4)

k 0,

o r(k) = b Ax(k) est le rsidu l'itration k . On peut gnraliser la relation


prcdente comme

P (x(k+1) x(k) ) = k r(k) ,

(5)

k 0,

o on a introduit un paramtre k (qui peut tre dirent chaque itration k )


an d'acclrer la convergence. Cette mthode est dite de Richardson.
Les relations (3), (4) et (5) montrent qu'on doit rsoudre un systme linaire
de matrice P chaque itration ; donc P doit tre telle que la rsolution du
systme ait un cot raisonnable. Par exemple, on pourra choisir P diagonale ou
triangulaire.

2.2.1 La mthode de Jacobi.


On remarque que si les lments diagonaux de A sont non nuls, le systme
linaire Ax = b est quivalent :

n
X
1
xi =
bi
aij xj ,
i = 1, . . . , n.
aii
j=1,j6=i

Pour une donne initiale x(0) choisie, on calcule x(k+1) par

n
X
1
(k+1)
(k)
xi
=
bi
aij xj ,
i = 1, . . . , n.
aii
j=1,j6=i

Cela permet d'identier le splitting suivant pour A :

A
D

=
:

DEF
diagonale de A

E
F

:
:

triangulaire infrieure avec des 0 sur la diagonale


triangulaire suprieure avec des 0 sur la diagonale

La matrice d'itration de la mthode de Jacobi est donne par :

BJ = D1 (E + F ) = I D1 A.
(k)

L'algorithme de Jacobi ncessite le stockage des deux vecteurs xj


12

(k+1)

et xj

2.2.2

La mthode de Gauss-Seidel.

Pour cette mthode on a

i1
n
X
X
1
(k+1)
(k+1)
(k)
xi
=
bi
aij xj

aij xj ,
aii
j=1
j=i+1
Il s'crit aussi

i = 1, . . . , n.

x(k+1) = (D E)1 b + F x(k)

Dans ce cas, le splitting de A est

P = D E,

N = F,

et la matrice d'itration associe est

BGS = (D E)1 U.
L'algorithme de Gauss-Seidel ne ncessite qu'un vecteur de stockage, x(k) tant
remplac par x(k+1) au cours de l'itration. Il est en gnral plus rapide que
l'algorithme de Jacobi, donc prfrable.

2.2.3

Convergence des mthodes de Jacobi et de Gauss-Seidel.

On a les rsultats suivants


 Si A est une matrice diagonale dominante stricte par lignes, alors les mthodes de Jacobi et de Gauss-Seidel sont convergentes.

Dmonstration. Nous prouvons la partie concernant la mthode de Jacobi. Soit


x la solution du systme linaire, on a
(n+1)

xi

xi =

1 X
(n)
aik xk xk
aii
k6=i

donc

(n+1)

max xi
xi
i

1 X
(n)

|aik | max xk xk
k
aii
k6=i

(n)

K max xk xk avec 0 K < 1


k

car A est diagonale strictement dominante. De plus maxi |yi | = kyk est une
norme sur RN . On a ainsi montr que

(n+1)

x K x(n) x
x

ce qui prouve la convergence.2


Remarque : en pratique la stricte dominance n'est pas indispensable. L'ingalit
large sut pour la plupart des matrices inversibles.

 Si A est une matrice symtrique dnie positive, alors la mthode de GaussSeidel converge (la mthode de Jacobi pas forcment).
13

2.2.4 Mthode du gradient pas optimal.


Considrons la mthode itrative (5) avec k 6= 1. Si P et A sont symtriques
dnies positives, alors on a un critre optimal pour le choix de k :

k =

hr(k) , z(k) i
,
hAz(k) , z(k) i

k 0,

o z(k) = P 1 r(k) . Cette mthode est appele du gradient prconditionn (du


gradient lorsque P = I ). On a not par hx, yi le produit scalaire entre les
vecteurs x et y.

Dmonstration. D'une part on a

r(k) = b Ax(k) = A x x(k) = Ae(k)

o e(k) reprsente l'erreur l'tape k, et d'autre part


e(k+1)

e(k+1) () = I P 1 A e(k) ,

r(k+1)

r(k) () Az(k) .

Ainsi, en notant avec k kA la norme vectorielle issue du produit scalaire hx, yiA =
hAx, yi, c'est--dire kxkA = hAx, xi1/2 on tire que
ke(k+1) k2A

=
=

hAe(k+1) , e(k+1) i = hr(k+1) , e(k+1) i

hr(k) , e(k) i hr(k) , P 1 Ae(k) i + hAz(k) , e(k) i + 2 hAz(k) , P 1 Ae(k) i.

Maintenant on choisi comme le k qui minimise ke(k+1) kA , c'est--dire

d
= 0.
ke(k+1) k2A
d
=k

On obtient donc
k =

hr(k) , z(k) i
.
hAz(k) , z(k) i

On peut dmontrer que la suite x(k) donne par la mthode du gradient


converge vers x lorsque k , et

kx(k+1) xkA

K2 (P 1 A) 1
K2 (P 1 A) + 1

k
kx(0) xkA ,

En gnral, on choisit P de faon avoir

K2 (P 1 A) << K2 (A).
En consquence,

K2 (P 1 A) 1
K2 (A) 1
<<
.
K2 (P 1 A) + 1
K2 (A) + 1
14

k 0,

(6)

2.2.5

Mthode du gradient conjugu.

Une mthode encore plus rapide dans le cas o P et A sont symtriques dnies
positives est celle du gradient conjugu prconditionn. On pose cette fois-ci

x(k+1) = x(k) + k p(k) ,

k 0,

avec p(k) = z(k) k p(k1) .


Soit x(0) une donne initiale ; on calcule r(0) = b Ax(0) , z(0) = P 1 r(0) ,
p(0) = z(0) , puis pour k 0,

k =

hr(k) , p(k) i
hAp(k) , p(k) i

x(k+1) = x(k) + k p(k)


r(k+1) = r(k) k Ap(k)
z(k+1) = P 1 r(k+1)
hAp(k) , z(k+1) i
k+1 =
hAp(k) , p(k) i
p(k+1) = z(k+1) k p(k) .
Dans ce cas la formule (6) devient

p
kx

(k+1)

xkA 2

K2 (P 1 A) 1

K2 (P 1 A) + 1

!k
kx(0) xkA ,

k 0.

2.3 Exercices.
Exercice 1. On veut rsoudre le systme linaire Ax = b o

1
A= 2
4

1
2
6

1
5
8

1
b= 2
5

et

par la mthode d'limination de Gauss.


a) Vrier que l'algorithme de Gauss sans pivoting ne peut pas tre excut
jusqu'au bout.
b) Trouver une matrice de permutation P telle que la matrice P A soit factorisable.
c) Calculer la factorisation LU de la matrice P A.
d) Rsoudre le systme linaire Ax = b en remplaant P A par LU et en utilisant
les algorithmes de substitution progressive et rtrograde.

Exercice 2. 1) Pour une matrice quelconque A montrer que (A) kAk pour
toute norme matricielle. Donner l'expression de kAk .
2) On suppose A symtrique dnie positive. Montrer que (A) = kAk2 .
Soit

1 a
A= a 1
a a

a
a
1

3) Pour quelles valeurs de a A est-elle dnie positive ?


15

4) crire la matrice J de l'itration de Jacobi.


5) Pour quelles valeurs de a la mthode de Jacobi converge-t-elle ?
6) crire la matrice G de l'itration de Gauss-Seidel.
7) Calculer (G). Pour quelles valeurs de a cette mthode converge-t-elle plus
vite que celle de Jacobi ?

Exercice 3. Soit A une matrice dcompose en A = D E F

A=

..

D
E

..
.

pour rsoudre Ax = b on propose la mthode

D
1
E x(k+1) =
D + F x(k) + b R .

a) Vrier que si la mthode converge, elle converge vers une solution de Ax = b.


b) Donner la matrice d'itration L de cette mthode.
c) Calculer det(L )
d) En dduire que (L ) |1 |. Conclusion ?

Exercice 4. On considre la matrice

3
A = 1
0

1
3
1

0
1
3

On se donne galement un vecteur b de R3 . On note x l'unique solution du


systme Ax = b.
a) Montrer que la mthode de Jacobi pour rsoudre le systme linaire Ax = b
est ici convergente.
b) Soit xn le nime itr de la mthode de Jacobi en partant de x0 = 0. Dterminer la matrice d'itration M de la mthode de Jacobi (c'est la matrice qui
vrie xn+1 x = M (xn x)).
c) Calculer les valeurs propres de A. En dduire les valeurs propres de M.
Dterminer s le module de la plus petite valeur propre en module de A, et S le
module de la plus grande valeur propre en module de M. (Vrier que S < 1 !)
d) Montrer que |x| 1s |b| o |u| dsigne la norme euclidienne usuelle du vecteur
u dans R3 .
n
e) Montrer que |xn x| Ss |b|.

16

3 Zeros de fonctions non-linaires.


Soit f : ferm Rp Rp . On cherche x tel que f (x) = 0. Nous supposerons qu'un moyen (une tude graphique, une raison physique, un thorme,
l'intuition ou ... la chance !) nous ont permis de voir que x tait l'unique solution
dans . Nous supposerons aussi que f est au moins continue sur .
En gnral, les mthodes de rsolution de f (x) = 0 sont des mthodes itratives. Elles consistent construire une suite xn convergente (le plus rapidement
possible) vers x.

3.1 Mthode de dichotomie (ou de la bissection).


Cette mthode est utilise pour calculer les zros d'une fonction continue f :
R R. S'il existe a, b, a < b, avec f (a)f (b) < 0, on sait alors qu'il existe au
moins un zro x de f dans l'intervalle (a, b). Alors on pose a0 = a, b0 = b,
I0 = (a0 , b0 ) et x0 = (a0 + b0 )/2. Pour n 1, on choisit le sous-intervalle
In = (an , bn ) de l'intervalle In1 = (an1 , bn1 ) de la faon suivante :
a) soit xn1 = (an1 + bn1 )/2 ;
b) si f (xn1 ) = 0, alors x = xn1 et la mthode termine ;
c) si f (xn1 ) 6= 0, alors
 si f (an1 ) f (xn1 ) < 0, on pose

an = an1 ,

bn = xn1 ;

 si f (xn1 ) f (bn1 ) < 0, on pose

an = xn1 ,

bn = bn1 ;

d) on dnit In = (an , bn ) ; on augmente k de 1 et on recommence du point a).

3.2 Mthode de Newton.


Soit f : R R une fonction donne et x0 un point donn. On considre la
droite y(x) qui passe par le point (xn , f (xn )) et qui a comme pente f 0 (xn ) :

y(x) = f 0 (xn )(x xn ) + f (xn ).


On dnit xn+1 comme tant le point o cette droite intersecte l'axe 0x, c'est
dire y(xn+1 ) = 0. On en dduit que :

xn+1 = xn

f (xn )
,
f 0 (xn )

n 0.

(7)

3.3 Mthode de la scante.


Dans certaines situations, la drive de f 0 est trs complique ou mme impossible expliciter. On ne peut alors utiliser telle quelle la mthode de Newton.
L'ide est de remplacer f 0 par le taux d'accroissement de f sur un petit intervalle :
xn xn1
xn+1 = xn f (xn )
, n 0.
f (xn ) f (xn1 )
On notera que l'algorithme itratif ne peut dmarrer que si on dispose dj de
deux valeurs approches x0 , x1 de x.
17

3.4 Mthode de la corde.


Cette mthode est obtenue en replaant f 0 (xn ) par un q x dans la formule de
Newton :
f (xn )
xn+1 = xn
, k 0.
q
On peut prendre par exemple q = f 0 (x0 ), ou bien q =
o l'on cherche un zro dans l'intervalle [a, b].

f (b) f (a)
, dans le cas
ba

3.5 Mthode de point xe.


Un procd gnral pour trouver les racines d'une quation non-linaire f (x) = 0
consiste en la transformer en un problme quivalent x = (x), o la fonction
auxiliaire : [a, b] R doit avoir la proprit suivante :

= () ssi f () = 0.

3.5.1 Le thorme du point xe.


Soit (E, d) un espace mtrique complet et : E E une application continue.
On dit que E est un point xe de si () = . On dit que est contractante
si est lipschitzienne de rapport K < 1, c'est--dire s'il existe K < 1 tel que

x, y, E,

d((x) (y)) Kd(x y).

Thorme. Soit : E E une application contractante d'un espace mtrique


complet dans lui-mme. Alors admet un point xe unique E . De plus,
pour tout point initial x0 E la suite itre {xn } dnie par xn+1 = (xn )
converge vers .
Dmonstration.
1. Unicit : soient x1 et x2 , deux solutions. On a :
d(x1 x2 ) Kd(x1 x2 )

et K < 1 x1 = x2 .
2. Existence : puisque est KLipschitzienne, on a
d(xn+1 xn ) Kd(xn xn1 )

donc

d(xn+1 xn ) K n d(x1 x0 )

(8)

Calculons maintenant, pour p > n


p
X

xk xk1 = xp xn

k=n+1

par (8), on obtient


d(xp xn )

p
X

K k1 d(x1 x0 ) K n d(x1 x0 )

k=n+1

Kk

k=0

Kn
=
d(x1 x0 ) 0 quand (n, p) .
1K

18

La suite {xn } est donc de Cauchy dans E , donc convergente dans E . De plus,
soit la limite de cette suite ; par continuit de , () = , d'o l'existence
du point xe.2

Il est important de disposer d'un critre pratique assurant qu'une fonction est
K -Lipschitzienne, avec K < 1.

Thorme. Soit une fonction dierentiable sur [a, b] R. Si k0 (x)k K

pour tout x dans [a, b], alors est K -Lipschitzienne sur [a, b].
Dmonstration. Soient x et y dans [a, b]. Puisque le segment [x, y] est inclus dans
[a, b], on a

(y) (x) =

0 (x + t(x y))(x y)dt

donc

Z
k(y) (x)k

(x + t(x y))(x y) dt

(x + t(x y)) k(x y)k dt

K kx yk .

3.5.2

Point xes attractifs et rpulsifs.

Soit [a, b] R et : [a, b] [a, b] une application de classe C 1 . Soit [a, b]


un point xe de . On peut distinguer trois cas :
1. |0 ()| < 1.
Soit K tel que |0 ()| < K < 1. Par continuit de 0 , il existe un intervalle
E = [ h, + h] sur lequel |0 | K , donc est contractante de rapport
K sur E ; on a ncessairement (E) E et par consquent

x0 E,

lim xn = .

n+

On dit que est un point xe attractif. Dans ce cas la convergence de la


suite {xn } est au moins exponentiellement rapide : |xn | K n |x0 |.
Cas particulier : |0 ()| = 0.
Supposons de plus que C 2 et que |00 | M sur E . La formule de
Taylor donne

(x)

= () + (x )0 () +
=

1
+ 00 (c)(x )2 ,
2

(x )2 00
(c)
2!
c ], x[,

d'o |(x) | 12 M |x |2 , soit encore 12 M |(x) |


Par rcurrence on dduit successivement

2n
1
1
M |xn |
M |x0 |
,
2
2

2n
2 1
M |x0 |
.
|xn |
M 2
19

2 M |x

2
| .

La convergence est donc ici extraordinairement rapide. Ce phnomne est


appel convergence quadratique, et est alors appel parfois point xe
superattractif.
2. |0 ()| > 1.
Il existe alors un voisinage [ h, + h] tel que

x [ h, + h] \ {},

|(x) | > |x |.

On dit alors que est un point xe rpulsif. Dans ce cas, 0 est de signe
constant au voisinage de , donc il existe h > 0 tel que la restriction
|[h,+h] admette une application rciproque 1 dnie sur ([
h, + h]), qui est un intervalle contenant () = . L'quation (x) = x
peut se rcrire x = 1 (x) au voisinage de , et comme (1 )0 () =
1/0 (), le point est un point xe attractif pour 1 .
3. |0 ()| = 1.
On est ici dans un cas douteux, comme le montrent les deux exemples
suivants dans lesquels = 0, 0 () = 1 :

Exemple 1. (x) = sin x, x [0, /2]. On a ici sin x < x pour tout
x ]0, /2]. Pour tout x0 ]0, /2] la suite {xn } est strictement dcroissante minore, donc convergente vers l = sin l, d'o l = 0.
Exemple 2. (x) = sinh x, x [0, +]. Comme sinh x > x pour tout
x > 0, on voit que le point xe 0 est rpulsif.

En gnral, la mthode du point xe, quand elle converge, est une mthode
d'ordre 1. C'est dire que, en gros, chaque itration l'erreur est multiplie par
un coecient (plus petit que un). Voici un nonc plus prcis.

Proposition. Supposons que la mthode du point xe converge et que est de


classe C 2 , alors

xn+1 x = 0 (x)(xn x) + O(kxn xk )

en particulier, en dimension un d'espace, si xn 6= x,


xn+1 x
0 (x).
xn x
Nous sommes conduits la dnition suivante.

Denition. Une mthode du point xe est d'ordre p ssi


xn+1 x
p l avec 0 < |l| < +
(xn x)
Si p = 1 on parle de convergence linaire, si p = 2 la convergence est dite
quadratique.
20

3.6 Encore propos de la mthode de Newton.


La mthode de Newton est une mthode de point xe pour la fonction

(x) = x

f (x)
.
f 0 (x)

Soit un zro pour la fonction f . On remarque que 0 () = 0 lorsque f 0 () 6= 0.

Thorme. Si f C 2 , f () = 0 et f 0 () 6= 0, alors il existe > 0 telle que, si

|x0 | , la suite dnie dans (7) converge vers . De plus, la convergence


est quadratique :
xn+1
f 00 ()
lim
.
= 0
2
n (xn )
2f ()

Dnition. On dit que un zro de f est de multiplicit p, p N, si


f () = . . . = f (p1) () = 0

et

f (p) () 6= 0.

Remarque. Si f 0 () = 0, la convergence de la mthode de Newton est seulement linaire. On considre alors la mthode de Newton modie :

xn+1 = xn p

f (xn )
,
f 0 (xn )

n0

avec p la multiplicit de .
Quand faut-il terminer les itrations de l'algorithme de Newton ? Un bon critre
d'arrt est le contrle de l'incrment : les itrations s'achvent ds que

|xn+1 xn | <

(9)

o est une tolrance xe. En fait, si on note en = xn l'erreur l'itration


n, on a

en+1 = xn+1 = () (xn ) = 0 (n )en ,


avec n entre xn et , et

xn+1 xn = xn + xn+1 = en en+1 = (1 0 (n ))en .


Or, si n est susamment grand, 0 (n ) 0 () = 0 et donc

en xn+1 xn .
L'erreur qu'on commet lorsque l'on adopte le critre (9) est donc plus petite que
la tolrance xe.
21

3.7 Le cas des systmes.


On considre le systme de deux quations non-linaires suivant :

f1 (x1 , x2 ) = 0,
f2 (x1 , x2 ) = 0.
Ce systme peut s'crire sous la forme f = 0, o f = (f1 , f2 ). On veut gnraliser
la mthode de Newton ce cas. Pour cela on dnit la matrice Jacobienne du
vecteur f :
"
#

Df (x = (x1 , x2 )) =

f1
x1
f2
x1

f1
x2
f2
x2

Alors la mthode de Newton pour systmes non linaires s'crit : tant donn
(0)
(0)
x(0) = (x1 , x2 ), on calcule pour n 0 :

[Df (x(n) )](x(n+1) x(n) ) = f (x(n) ).


Les mmes rsultats que dans le cas scalaire sont valables dans le cas vectoriel.
On se ramne ainsi la rsolution des systmes linaires gouverns par des
matrices An = Df (x(n) ).

22

4 Approximation polynmiale.
Les fonctions les plus faciles valuer numriquement sont les polynmes. Il est
donc important de savoir approximer une fonction arbitraire par des polynmes.
Dans la suite, on dsignera par Pn l'espace vectoriel des fonctions polynmes sur
R coecients rels, de degr infrieur ou gal n. On a donc dimPn = n + 1.
Soit f C 0 ([a, b]) et x0 , x1 , . . . , xn [a, b] n + 1 points distincts (n 0 est un
nombre entier). On cherche un polynme p de degr n tel que

p(xi ) = f (xi ),

0 i n.

dans le cas armatif, on note p = pn et on appelle pn le polynme d'interpolation


de f aux points x0 , x1 , . . . , xn .

4.1 Mthode d'interpolation de Lagrange.


On considre les polynmes i , i = 0, . . . , n de degr n tels que

i (xj ) = ij ,

i, j = 0, . . . , n,

o ij = 1 si i = j et ij = 0 si i 6= j . Explicitement on a

i (x) =

Y (x xj )
,
(xi xj )

0 i n.

i6=j

Alors le polynme d'interpolation de f aux points x0 , x1 , ldots, xn s'crit

pn (x) =

n
X

(10)

f (xi )(x).

i=0

On montre maintenant que pn est le seul polynme de degr n interpolant f


aux points xi . Soit, en eet, qn (x) un autre polynme d'interpolation. Alors on
a
qn (xi ) pn (xi ) = 0, i = 0, . . . , n.
Donc qn pn est un polynme de degr n qui s'annule un n + 1 points distincts ;
il en suit que qn = pn , d'o l'unicit du polynme interpolant. En conclusion,
on a le thorme suivant.

Thorme. Le problme d'interpolation p(xi ) = f (xi ), 0 i n, admet une


solution et une seule, donne par la formule (10).

On peut aussi voir les choses diremment. Si p(t) = a0 + a1 x + + an xn , les


coecients de p sont solutions de

1 x0 xn0
a0
f (x0 )
1 x1 xn1 a1 f (x1 )

..
.
.. .. =
..
.

.
.
.

xN

xnn

an

f (xn )

La matrice
Q de ce systme linaire est une matrice de Vandermonde de dterminant i<j (xi xj ) 6= 0 car les points xi sont distincts. La rsolution de ce
23

systme conduit bien sur l'unique polynme d'interpolation de f . Cependant


si l'on tente de rsoudre ce systme numriquement grce la mthode LU
(avec ou sans pivotage), les rsultats obtenus n'ont rien voir avec la solution
exacte. L'erreur peut atteindre, suivant la machine avec laquelle on travaille,
plusieurs centaines de milliers ! Le systme de Vandermonde appartient la catgorie (heureusement plutt rare) des systmes linaires mal conditionns.
On appelle ainsi un systme pour lequel une petite erreur sur les coecients ou
le second membre entrane une erreur importante sur la solution du systme.
Il est possible de savoir si un systme Ax = b est bien ou mal conditionn en
connaissant sont conditionnement, dni par

cond(A) = kAk A1
o kk est une norme matricielle quelconque. On a toujours cond(A) 1, et plus
ce nombre est grand plus la rsolution du systme est dicile. Si par exemple
xi = 2i 0, i = 0, . . . , 20, on a cond(A) = 356551625901350880. Par ailleurs,
cond(A) = 1 ssi A est une matrice orthogonale (A1 = AT ). Les systmes
linaires les mieux conditionns sont donc ceux dans lesquels intervient une
matrice orthogonale.

4.2 Mthode des dirences divises.


Soit pk le polynme d'interpolation de f aux points x0 , x1 , . . . , xk . On dsigne
par f [x0 , x1 , . . . , xk ] le coecient directeur du polynme pk .
Alors pk pk1 est un polynme de degr k , s'annulant aux points x0 , x1 , . . . , xk1 ,
et admettant f [x0 , x1 , . . . , xk ] pour coecient directeur. Par suite :

pk (x) pk1 (x) = f [x0 , x1 , . . . , xk ](x x0 ) . . . (x xk1 ).


Comme p0 (x) = f (x0 ), on en dduit la formule

pn (x) = f (x0 ) +

n
X

f [x0 , x1 , . . . , xk ](x x0 ) . . . (x xk1 ).

(11)

k=1

Pour valuer les coecients f [x0 , x1 , . . . , xk ] on utilise une recurrence sur le


nombre k de points xi , en observant que f [x0 ] = f (x0 ). Pour k 1 on a

f [x0 , x1 , . . . , xk ] =

f [x1 , . . . , xk ] f [x0 , . . . , xk1 ]


.
xk x0

(12)

Dmonstration. Si qk1 Pk1 est le polynme d'interpolation de f aux points

x1 , x2 , . . . , xk , on a

pk =

(x x0 )qk1 (x) (x xk )pk1 (x)


.
xk x0

On obtient la formule (12) en galant les coecients de xk dans l'identit prcdente.

Algorithme pratique. On range les valeurs de f (xi ) dans un tableau TAB,


puis on modie ce tableau en n tapes successives, en procdant par indices
24

dcroissantes :
Tableau
Etape 0
TAB[n]
f (xn )
TAB[n 1] f (xn1 )
TAB[n 2] f (xn2 )
..
..
.
.
TAB[2]
f (x2 )
TAB[1]
f (x1 )
f (x0 )
TAB[0]

Etape 1
Etape 2
f [xn1 , xn ]
f [xn2 , xn1 , xn ]
f [xn2 , xn1 ]
..
.
f [x1 , x2 ]
f [x0 , x1 ]

...
...

Etape n
f [x0 , . . . , xn ]

..
.
f [x0 , x1 , x2 ]

A l'issue de la n-me tape, la case TAB[k] contient le coecient f [x0 , . . . , xk ],


et on peut utiliser la formule (11). On construit pn par rcurrence descendante
(rgle de Hrner)

un

= TAB[n]

uk

= TAB[k] + (x xk )uk+1 ,

0 k < n,

qui donne u0 = pn (x).

4.3 Formule d'erreur.


Thorme. Soient x0 , x1 , . . . , xn , n + 1 points distincts dans [a, b] et soit f
C n+1 ([a, b]). Alors pour tout x [a, b]
f (x) pn (x) =

o n+1 (x) =

i (x

1
n+1 (x)f (n+1) ()
(n + 1)!

xi ), [a, b].

Dmonstration. Si x = xi , on a n+1 (xi ) = 0, tout point convient. Si x est distinct

des points xi , soit pn+1 (t) le polynme d'interpolation de f aux points x, x0 , . . . , xn+1 .
Par construction f (x) pn (x) = pn+1 (x) pn (x). Or le polynme pn+1 pn est de
degr n + 1 et s'annule aux n + 1 points x0 , . . . , xn+1 . On a donc
pn+1 (t) pn (t) = cn+1 (t),

c R.

Considrons la fonction
g(t) = f (t) pn+1 (t) = f (t) pn (t) cn+1 (t).

Cette fonction s'annule en n + 2 points, donc d'aprs une extension du thorme de


Rolle il existe tel que g (n+1) () = 0. Or
p(n+1)
= 0,
n

(n+1)

n+1

= (n + 1)!

On a par consquent g (n+1) () = f (n+1) () c(n + 1)! = 0, d'o la valeur de c. 2

En prenant la borne suprieure de la valeur absolue des deux membres dans la


formule d'erreur, on obtient en particulier :

kf pn k

1
kn+1 k kf (n+1) k.
(n + 1)!
25

Cela montre que la taille de l'erreur d'interpolation f (x) pn (x) dpend la


fois de la quantit kf (n+1) k, qui peut tre grande si f oscille trop vite, et de la
quantit kn+1 k, qui est lie la repartition des points xi dans l'intervalle [a, b].
Dans le cas particulier o les ndus sont quirepartis on a le rsultat suivant

n+1
1
ba
kf pn k
kf (n+1) k.
4(n + 1)
n

Dmonstration. On peut montrer que le maximum de |n+1 (x)| est atteint toujours
dans un de deux intervalles extrmes [x0 , x1 ] ou [xn1 , xn ]. On prend alors x [x0 , x1 ]
(l'autre cas est similaire) ; on a
|(x x0 )(x x1 )|

(x1 x0 )2
h2
=
4
4

o l'on a not h = (b a)/n. De plus, pour tout i > 1


|(x xi )| ih.

Donc
max

x[a,b]

|(x xi )|

h2
n!
2h3h . . . nh =
4
4

ba
n

n+1

d'o la conclusion. 2

Remarque. Le seul fait que


1
n 4(n + 1)
lim

ba
n

n+1
=0

n'implique pas que kf pn k tend vers zro quand n (voir le phnomne


de Runge ).
Remdes :
1- Interpolation avec points qui ne sont pas quirepartis (interpolation de Tchebychev).
2- Interpolation par intervalles.

4.4 Interpolation de Tchebychev.


On dnit les polynmes de Tchebychev par

tn (x) = cos(n arccos x),

x [1, 1].

En eet, si on pose = arccos x, i.e. x = cos avec [0, ], on a

tn (x)
tn+1 (x) + tn1 (x)

cos(n),

= cos((n + 1)) + cos((n 1))


= 2 cos(n) cos = 2xtn (x).

La fonction tn se calcule donc par les formules de rcurrence

t0 (x) = 1,

t1 (x) = x,

tn+1 (x) = 2xtn (x) tn1 (x).


26

Il en rsulte que tn est un polynme de degr n, dont le coecient directeur est


2n1 si n 1. Les n racines de tn sont donnes par

x
i = cos

2i + 1
] 1, 1[,
2n

0 i n 1.

Les points x
i sont rpartis symtriquement autour de 0 (x
ni =
xi ) de faon
plus dense au voisinage de 1 et 1.
Pour se ramener un intervalle [a, b] quelconque, on utilisera le changement de
variable suivant
a+b ba
+
x
i .
xi =
2
2
Le polynme n+1 est donn par

n+1 (x) =

n
Y

(x xi ) =

i=0

ba
2

(n+1) Y
n

(
xx
i )

i=0

Qn
o i=0 (
xx
i ) = 1/2n tn+1 est le polynme n+1 (
x) correspondant [1, 1].
Donc on a ici

(n+1)
ba
kn+1 k = 2
.
4
Cette valeur est plus petite que l'estimation

n+1
n+1
n! b a
2 e b a

4
n
e
4 n

(13)

obtenue pour kn+1 k avec des points xi quidistants, surtout lorsque n est
assez grand : le rapport entre les deux est de l'ordre O( n (e/4)n+1 ), qui tend
vers 0quand n . L'approximation (13) repose sur la formule de Stirling
n! 2n (n/e)n .

4.5 Interpolation par intervalles.


Soient x0 = a < x1 < . . . < xN = b des points qui divisent l'intervalle I = [a, b]
dans une runion d'intervalles Ij = [xj , xj+1 ] de longueur H , o

H=

ba
.
N

Sur chaque sous-intervalle Ij on interpole f|Ij par un polynme de degr n. Le


polynme par morceaux qu'on obtient est not pH
n.

Thorme. Si f C (n+1) (I) alors


kf (x) pH
n (x)k

H (n+1)
kf (n+1) k.
4(n + 1)nn+1

27

5 Intgration numrique.
Rb
On souhaite disposer d'un moyen d'valuer numriquement I(f ) = a f (t)dt o
f est une fonction continue sur un intervalle [a, b] avec a < b. En eet, dans
de nombreuses applications, cette intgrale ne se ramne pas des fonctions
simples, et mme si c'est le cas, on cherche une mthode simple et utilisable
dans le cas gnral. Pour cela, nous chercherons une approximation de I(f ),
note J(f ) sous la forme
J(f ) = (b a)

n
X

i f (i )

i=0

Pn
o les points i sont dans l'intervalle [a, b] et i=0 i = 1. Les i sont appels
les points d'intgration et les coecients i les poids d'intgration.

Denition. On dit qu'un mthode de quadrature est d'ordre N si la formule


approche est exacte pour tout f PN et inexacte pour au moins un f PN +1 .
On observera
les formules sont toujours exactes pour f (x) = 1 cause de
Pque
n
l'hypothse i=0 i = 1. Par linarit, elles sont donc exactes au moins pour
f P0 .

5.1 Exemples.
(a) Un seul point. On choisit un seul point [a, b] et on remplace f sur [a, b]
par le polynme de degr 0 : p0 (x) = f (). On a alors

f (x)dx ' (b a)f ().


a

Voici les choix plus courants :


 = a : mthode des rectangles gauche (ordre 0) ;
 = b : mthode des rectangles droite (ordre 0) ;
 = a+b
2 : mthode du point milieu (ordre 1) ;
(b) Interpolation linaire. On choisit 0 = a et 1 = b et on remplace f sur
[a, b] par la fonction linaire p1 qui interpole f aux points a, b :

p1 (x) =

(x a)f (b) (x b)f (a)


.
ba

On obtient la formule suivante, dite mthode des trapzes (ordre 1) :

f (x)dx ' (b a)
a

f (a) + f (b)
.
2

(b) Mthodes de Newton-Cotes. On choisit n + 1 points quidistants

i = a + i
28

ba
.
n

Pour dterminer la formule de quadrature lmentaire, on se ramne par changement de variable l'intervalle [1, 1], subdivis par les points i = 1 + i n2 .
Le polynme d'interpolation d'une fonction f C([1, 1]) est donn par

pn (x) =

n
X

f (i )i (x),

i=0

o i est le polynme de base de Lagrange i (x) =

Y x j
. On a donc
i j
j6=i

f (x)dx '
1

1
avec i =
2
a

pl (x)dx = 2
1

n
X

i f (i )

i=0

i (x)dx. Par suite de la symtrie des points i autour de 0, on


ni = i ,

ni (x) = i (x),

ni = i .

Aprs changement de variable, les coecients i sont inchangs, donc on obtient


la formule
Z b
n
X
f (x)dx ' (b a)
i f (i ).
a

i=0

Si f Pn , alors pn = f , donc la mthode de Newton-Cotes de rang n est d'ordre


n. De plus, lorsque f C([1, 1]) est un polynme impair, on a

f (x)dx = 0 = 2
1

n
X

i f (i ).

i=0

Si n est pair, les formules sont donc encore exactes pour f (x) = xn+1 , et plus
gnralement pour f Pn+1 par linarit. On dmontre en fait le rsultat
suivant que nous admettrons :

Proposition. Si n est pair, l'ordre de la mthode de Newton-Cotes de rang n


est n + 1, si n est impair, l'ordre est n.

Ceci fait que, hormis le cas n = 1, les mthodes de Newton-Cotes ne sont


utilises que pour n pair :
 n = 1 mthode des trapzes (ordre 1)

0 = 1 =

1
2

 n = 2 mthode de Simpson (ordre 3)

0 = 2 =

1
,
6

1 =

2
3

 n = 4 mthode de Boole-Villarceau (ordre 5)

0 = 4 =

7
,
90

1 = 3 =
29

16
,
45

2 =

2
15

 n = 6 mthode de Weddle-Hardy (ordre 7)

0 = 6 =

41
,
840

1 = 5 =

9
,
35

2 = 4 =

9
,
280

3 =

34
.
105

Pour n 8 il apparat des coecients i < 0, ce qui a pour eet de rendre


les formules beaucoup plus sensibles aux erreurs d'arrondis. Les mthodes de
Newton-Cotes ne sont donc utilises en pratique que dans les 4 cas ci-dessus.

5.2 Evaluation de l'erreur. Noyau de Peano.


Thorme. On suppose que la mthode est d'ordre N 0. Si f est de classe
C N +1 sur [a, b], alors
Z

f (x)dx (b a)

E(f ) =
a

n
X

i f (xi ) =

i=0

1
N!

KN (t)f (N +1) (t)dt,

o KN est une fonction sur [a, b], appele noyau de Peano associ la mthode,
dnie par

KN (t) = E x 7 (x t)N
t [a, b].
+ ,

Dmonstration. On observe d'abord que si g : (x, t) 7 g(x, t) est une fonction


integrable sur [a, b] I , le thorme de Fubini implique par ailleurs

Z
Z
E x 7
g(x, t)dt =
E (x 7 g(x, t)) dt.
I

La formule de Taylor avec reste intgral donne


Z b
1
(N +1)
f (x) = pN (x) +
(x t)N
(t)dt.
+f
a N!
Comme pN PN , on a E(pN ) = 0 par hypotse, d'o

Z b
1
N (N +1)
E(f ) = E x 7
(x t)+ f
(t)dt
a N!

Z b
1
(N +1)
=
E x 7
(x t)N
f
(t)
dt
+
N!
a
Z b

1 (N +1)
=
f
(t) E x 7 (x t)N
+ dt
a N!
Z b
1
=
KN (t)f (N +1) (t)dt.
N! a

2
On dduit la majoration

E(f )

1
kf (N +1) k
N!

30

|KN (t)|dt.
a

6 Equations direntielles.
On considre une fonction continue f : R+ R R. Pour y0 R donn, on
cherche y : t R+ y(t) R qui satisfait le problme suivant, appel problme
de Cauchy :
0
y (t) = f (t, y(t)) si t > 0
(14)
y(0) = y0 .

Thorme (Cauchy-Lipschitz). Si f est continue sur R+ R et s'il existe

une constante L > 0 telle que

|f (t, x1 ) f (t, x2 )| L|x1 x2 |

x1 , x2 R, t > 0,

alors le problme de Cauchy (14) admet une solution globale (c'est--dire pour
tout t > 0) et elle est unique.

6.1 Drive numrique.


Soit y : [a, b] R de classe C 1 et a = t0 , t1 , . . . , tn = b, n + 1 ndus equirpartis
dans [a, b]. On note h = (b a)/n la distance entre deux ndus conscutifs.
La drive y 0 (ti ) est donne par

y 0 (ti )

=
=
=

y(ti + h) y(ti )
,
h0+
h
y(ti ) y(ti h)
lim
,
h0+
h
y(ti + h) y(ti h)
lim
.
h0+
2h
lim

Soit maintenant (Dy)i une approximation de y 0 (ti ). On appelle


 dirence nie progressive l'approximation

(Dy)P
i =

y(ti+1 ) y(ti )
,
h

i = 0, . . . , n 1;

 dirence nie rtrograde l'approximation

(Dy)R
i =

y(ti ) y(ti1 )
,
h

i = 1, . . . , n;

 dirence nie centre l'approximation

(Dy)C
i =

y(ti+1 ) y(ti1 )
,
2h

i = 1, . . . , n 1.

Si y C 2 (R), pour tout t R, il existe un entre ti et t tel que l'on a le


dveloppement de Taylor

y(t) = y(ti ) + y 0 (ti )(t ti ) +

y 00 ()
(t ti )2 .
2

 Pour t = ti+1 on obtient pour la dirence nie progressive


0
(Dy)P
i = y (ti ) +

31

h 00
y (),
2

ce qui conduit une estimation du type

|y 0 (ti ) (Dy)P
i | Ch,
o C = 12 maxt[ti ,ti+1 ] |y 00 (t)|.
 Pour t = ti1 on obtient pour la dirence nie retrograde
0
(Dy)R
i = y (ti )

h 00
y (),
2

ce qui conduit une estimation du type

|y 0 (ti ) (Dy)R
i | Ch,
o C = 12 maxt[ti1 ,ti ] |y 00 (t)|.
 Pour t = ti+1 et t = ti1 avec un dveloppement d'ordre 2 (si y C 3 )

y(ti+1 )
y(ti1 )

y 00 (ti ) 2 y 000 (1 ) 3
h +
h ,
2
6
y 00 (ti ) 2 y 000 (2 ) 3
= y(ti ) y 0 (ti )h +
h
h ,
2
6
= y(ti ) + y 0 (ti )h +

on obtient
0
(Dy)C
i = y (ti ) +

y 000 (1 ) + y 000 (2 ) 2
h ,
12

et donc l'estimation suivante


2
|y 0 (ti ) (Dy)C
i | Ch ,

o C =

1
6

maxt[ti1 ,ti+1 ] |y 000 (t)|.

Denition. La dirence |y 0 (ti ) (Dy)Pi | (et celles correspondantes aux autres


dirences nies) est appele erreur de troncature au point ti .
L'erreur de troncature est d'ordre 1 pour les formules progressive et retrograde
et d'ordre 2 pour la formule centre.

6.2 Mthodes d'Euler.


Soient 0 = t0 < t1 < . . . < tn < tn+1 < . . . une suite de nombres rels
equirpartis. On note h = tn+1 tn . On notera par

yn une approximation de y(tn ).


Dans le problme de Cauchy (14), pout t = tn on a

y 0 (tn ) = f (tn , y(tn )).


On approche la drive y 0 (tn ) en utilisant des schmas de drivation numrique.

Schma d'Euler progressif :

yn+1 yn
h
y0 .

= f (tn , yn ) pour n = 0, 1, 2, . . .

Schma d'Euler rtrograde :

yn+1 yn
h
y0 .

= f (tn+1 , yn+1 )

32

pour n = 0, 1, 2, . . .

6.3 Etude gnrale des mthodes un pas.


Les mthodes un pas sont les mthodes de rsolution numrique qui peuvent
s'crire sous la forme

yn+1 = yn + hn (tn , yn , hn ),

0 n < N,

o est une fonction qu'on supposera continue.

6.3.1

Consistance, stabilit, convergence.

Denition. L'erreur de consistance en relative une solution exacte y est

l'erreur

en = y(tn+1 ) yn+1 ,

0 n < N,

en supposant yn = y(tn ). On a donc


en = y(tn+1 ) y(tn ) hn (tn , y(tn ), hn ).

On dit que la mthode est consistante si pourPtoute solution exacte y la somme


des erreurs de consistance relatives y , soit n |en |, tend vers 0 quand hmax
tend vers 0.
Une autre notion fondamentale est la notion de stabilit. dans la pratique, le
calcul rcurrent des points yn est entach d'erreurs d'arrondis n . Pour que les
calculs soient signicatifs, il est indispensable que la propagation de ces erreurs
reste contrlable.

Denition. On dit que la mthode est stable s'il existe une constante S 0
telle que pour toutes suites (yn ), (
yn ) dnies par
yn+1 = yn + hn (tn , yn , hn ),
yn+1 = yn + hn (tn , yn , hn ) + n ,

on ait

max |
yn yn | S
n

|
y0 y0 | +

0 n < N,
0 n < N,
X

!
|n |

Une dernire notion importante est la suivante

Denition. On dit que la mthode est convergente si pour toute solution


exacte y , la suite (yn ) vrie

max |yn y(tn )| 0


n

quand y0 y(0) et hmax 0.


Posons yn = y(tn ). Par denition d'erreur de consistance on a

yn+1 = yn + hn (tn , yn , hn ) + en .
Si la mthode est stable, de constante S , l'erreur globale est donc
!

X
|en | .
max |yn y(tn )| S |y0 y(0)| +
n

33

Corollaire. Si la mthode est stable et consistante, elle est convergente.


Nous nonons sans les dmontrer les rsultats suivants.

Thorme (CNS de consistance). La mthode 1 pas dnie par la fonction


est consistante ssi

(t, y, 0) = f (t, y),

(t, y) R+ R.

Thorme (CS de stabilit). Pour que la mthode soit stable, il sut que la
fonction soit Lipschitzienne en y , de constante :

|(t, y1 , h) (t, y2 , h)| |y1 y2 |,

pour tout t [0, T ], tout (y1 , y2 ) R2 , tout h R. Alors on peut prendre pour
constante de stabilit
S = eT
On termine ce paragraphe avec une denition.

Denition. On dit qu'un mthode 1 pas est d'ordre p si pour toute solution
exacte y d'une quation direntielle

y 0 = f (t, y) o f est de classe C p ,

il existe une constante C 0 telle que l'erreur de consistance relative y vrie


|en | Chp+1
n ,

0 n < N.

6.4 Mthodes de Runge-Kutta d'ordre 2.


Si on intgre l'quation y 0 (t) = f (t, y(t)) entre tn et tn+1 on obtient :
Z tn+1
y(tn+1 ) y(tn ) =
f (t, y(t))dt.
tn

En utilisant la formule des trapzes, on trouve le schma implicite suivant, appel


schma de Crank-Nicolson ou du trapze :

yn+1 yn =

h
[f (tn , yn ) f (tn+1 , yn+1 )],
2

n 0.

Ce schma est implicite. En le modiant an de le rendre explicite, on identie


la mthode de Heun :

yn+1 yn =

h
[f (tn , yn ) f (tn+1 , yn + hf (tn , yn ))].
2

Ce deux mthode son d'ordre 2 par rapport h.


Si on utilise la mthode du point milieu on trouve

yn+1 yn = hf (tn+ 12 , yn+ 12 ).


34

Si maintenant on approche yn+ 12 par

1
yn+ 12 = yn + f (tn , yn ),
2
on trouve la mthode d'Euler modie :

1
yn+1 yn = hf tn+ 12 , yn + f (tn , yn ) .
2
Les mthodes de Heun et d'Euler modie sont des cas particuliers dans la
famille des mthodes de Runge-Kutta d'ordre 2. Il existe d'autres mthodes
plus compliques, comme par exemple la mthode de Runge-Kutta d'ordre 4
suivante, qui est obtenue en considrant la mthode d'intgration de Simpson.

yn+1 = yn +

h
(K1 + 2K2 + 2K3 + K4 ),
6

o les Ki son calculs comme suit :

K1

K2

K3

K4

f (tn , yn )
h
h
f (tn + , yn + K1 )
2
2
h
h
f (tn + , yn + K2 )
2
2
f (tn+1 , yn + hK3 )

35

Rfrences
[1] J.P. Demailly, Analyse numrique et quations direntielles, Presses
universitaires de Grenoble.
[2] Quarteroni, Sacco, Saleri, Numerical Mathematics, Sprigler.
[3] M. Schatzman, Analyse numrique, Masson.

36

Vous aimerez peut-être aussi