Vous êtes sur la page 1sur 135

Methodes danalyse numerique

Cours commun au ParcoursModelisation Dynamique


et Statistique des Syst`emes Complexes et au Parcours
Professionnel Interfaces, Genie des milieux divises
Pascal Viot
Laboratoire de Physique Theorique des Liquides, Bote 121,
4, Place Jussieu, 75252 Paris Cedex 05
Email : viot@lptl.jussieu.fr
12 novembre 2010

Ce cours est une introduction aux methodes danalyse numerique tr`es largement utilisees en physique afin de resoudre les equations algebriques ou differentielles que lon rencontre dans la modelisation de phenom`enes physiques,
chimiques ou biologiques.
Ce domaine particuli`erement vaste necessite simultanement des connaissances mathematiques, informatiques et physiques. De larges classes de probl`emes numeriques sont abordees dans ces notes et montrent la necessite de bien
caracteriser les proprietes mathematiques du probl`eme considere afin de choisir
la methode numerique la mieux adaptee pour le traitement numerique.

Chapitre 1

Int
egration et sommes
discr`
etes
Contenu
1.1
1.2

1.3
1.4
1.5
1.6

1.1

Introduction . . . . . . . . . . . . . . . . . . . . . . .
3
Les m
ethodes de C
otes . . . . . . . . . . . . . . . . .
4
1.2.1 Trap`eze . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . 6
M
ethode de Romberg . . . . . . . . . . . . . . . . . .
7
M
ethodes de Gauss . . . . . . . . . . . . . . . . . . .
7
M
ethode de Gauss-Kronrod et m
ethodes adaptatives 9
Int
egrales multiples . . . . . . . . . . . . . . . . . . .
11

Introduction

Les sciences physiques se fixent lobjectif de predire les phenom`enes `a partir


de la connaissance dun nombre fini de grandeurs microscopiques intervenant
dans la modelisation. Celle-ci doit, dans un premier temps, decrire les faits
experimentaux observes et, dans un second temps, permettre den predire de
nouveaux. La description des phenom`enes peut etre soit microscopique, soit
phenomenologique.
La modelisation se divise naturellement en trois etapes : une premi`ere etape
consiste `
a determiner les param`etres microscopiques essentiels qui interviennent pour decrire le phenom`ene puis `a choisir le mod`ele adapte pour decrire le
phenom`ene. La second etape consiste `a etablir les equations (tr`es souvent differentielles) qui decrivent le phenom`ene. La troisi`eme etape consiste `a resoudre
les equations precedemment etablies afin de donner des reponses quantitatives.
Ces reponses permettent de valider ou dinvalider le mod`ele, soit en comparant
les predictions avec lexperience, soit en analysant la coherence interne du mod`ele `a travers ses predictions.
Dans la situation la plus optimiste o`
u il a ete possible de realiser les trois
etapes precedentes, lobtention dun resultat numerique necessite au moins le
calcul dune integrale simple. Pour realiser ce simple travail, il existe bien
3

Integration et sommes discr`etes

souvent plusieurs methodes et la tache principale consiste `a selectionner celle


qui est la mieux adaptee pour satisfaire lobjectif. Ce principe est tr`es general
et sapplique `
a lensemble des probl`emes numeriques que nous allons aborder
tout au long de ce cours. Ce cours a donc pour objectifs de presenter quelques
algorithmes associes `
a chacun des probl`emes rencontres. Il existe des logiciels
gratuits ou payants qui utilisent les methodes numeriques que nous allons rencontrer dans ce cours ; la connaissance de ces methodes est donc un prealable
pour choisir la mani`ere de resoudre un probl`eme numerique donne le plus efficacement possible.
Le cas typique dune integrale definie `a evaluer est
Z b
f (x)dx.
(1.1)
I=
a

Comme levaluation de la fonction f pour une infinite de points est impossible,


lintegration numerique consiste `a remplacer lintegrale Eq. (1.1) par une somme
discr`ete sur un nombre fini de points.
IN =

N
X

ai f (xi )

(1.2)

i=1

o`
u ai et xi sont des variables que nous allons preciser dans la suite. Pour que levaluation numerique soit correcte, il est necessaire dimposer que toute methode
verifie que
lim IN = I
(1.3)
N

Au del`
a de la verification de ce crit`ere Eq. (1.3), la qualite dune methode
sera evaluee par la mani`ere dont la convergence vers le resultat exact seffectue.
Dans la suite nous allons considerer des fonctions de classe C1 1 (contin
ument
derivable) sur le support [a, b]2 . La derni`ere restriction imposee `a la fonction est
que
|f 0 (x)| < K

x [a, b]

(1.4)

o`
u K est une constante finie. Cela revient `a supposer que la derivee de la
fonction f nest jamais singuli`ere sur le support [a, b].

1.2

Les m
ethodes de C
otes

Mathematicien anglais, contemporain et collaborateur de Newton, Roger


Cotes sest interesse `
a des methodes de calculs numeriques et exacts pour lintegration et explique que les methodes suivantes portent son nom.
1

On peut calculer lintegrale dune fonction plus generale a


` condition que cette fonction ait
la meme mesure (mesure definie au sens de Lebesgue) quune fonction de classe C1 , cest-`
a-dire
que les fonctions ne diff`erent que sur un ensemble de mesure nulle. Comme exemple simple
densemble de mesure nulle, citons les ensembles denombrables.
2
Si la fonction est contin
ument derivable par morceaux sur un nombre fini dintervalles sur
lintervalle [a, b], on peut se ramener au cas precedent sur chaque intervalle, et donc evaluer
lintegrale sur lensemble de lintervalle [a, b].

1.2 Les methodes de Cotes

2.5

1.5

0.5

1.5
x

2.5

Fig. 1.1 Illustration de la methode des trap`ezes : la partie grisee correspond


`a laire calculee par lequation (1.7)
Les methodes les plus simples que lon peut utiliser pour calculer une integrale simple sont celles o`
u les abscisses sont choisies de mani`ere reguli`erement
espacees. Si on a N + 1 abscisses, on rep`ere celles-ci simplement par la relation
xi = x0 + ih

(1.5)

avec x0 = a, xN = b, i est un entier allant de 0 `a N et h est appele le pas de


lintegration. Pour simplifier les notations, on pose
fi = f (xi )

1.2.1

(1.6)

Trap`
eze

La methode des trap`ezes consiste `a approximer la fonction entre deux abscisses successives par une droite (voir Fig. (1.1)), ce qui donne.
Z xi+1
h
f (x)dx = (fi + fi+1 ) + O(h3 f 00 ).
(1.7)
2
xi
Le terme derreur indique la qualite de levaluation de lintegration et depend de
mani`ere cubique du pas dintegration ; f 00 se ref`ere `a un point situe `a linterieur
5

Integration et sommes discr`etes

de lintervalle. Pour que cette methode converge rapidement il est necessaire de


choisir un pas h inferieur `
a f 00 . A noter que cette formule devient exacte quand
la fonction est un polyn
ome de degre 1 sur lintervalle [x1 , x2 ].
Sur lintervalle [a, b], on a
Z

f (x) = h
a

N
1
X
i=1

h
fi + (f0 + fN ) + O
2

(b a)3 f 00
N2


(1.8)

o`
u on a utilise que h = (b a)/N

1.2.2

Simpson

La methode de Simpson consiste `a remplacer la fonction par un polynome


de degre 2 sur un intervalle constitue de trois abscisses consecutives


Z xi+2
1
4
1
f (x)dx = h
fi + fi+1 + fi+2 + O(h5 f (4) ).
(1.9)
3
3
3
xi
Il se trouve que cette formule est exacte jusqu`a des polynomes de degre 3 ce
qui implique que lerreur depende de h `a la puissance 5.
On peut aussi determiner la formule `a 4 points qui est aussi exacte pour les
polyn
omes de degre 3. Cette formule sappelle aussi Simpson 3/8 `a cause des
coefficients du developpement


Z xi+3
3
9
9
3
f (x)dx = h
fi + fi+1 + fi+2 + fi+3 + O(h5 f (4) ).
(1.10)
8
8
8
8
xi
Sur un intervalle complet, en choisissant un nombre de points pair, N + 1,
cest-`
a-dire N impair, la methode de Simpson donne une estimation de lintegrale sur lintervalle [a, b].
Z

f (x) =
a

h
f0 + fN + 2
3

N 1
2

(2f2i1 + f2i ) + O

i=1

1
N4


(1.11)

La methode de Simpson est donc de deux ordres de grandeur plus efficace


que la methode des trap`ezes. Mais il est possible de mieux utiliser la methode
des trap`ezes. Sachant que cette derni`ere methode converge en 1/N 2 , on peut
evaluer lintegrale deux fois sur le meme intervalle par la methode des trap`ezes ;
la premi`ere fois avec N/2 points et la seconde avec N points, puis en combinant
les deux resultats de la mani`ere suivante
1
4
SN = TN TN/2
3
3

(1.12)

Sachant que le developpement asymptotique de la methode des trap`ezes est une


fonction paire de 1/N 2 , on en deduit que la formule (1.12) donne une estimation
de lintegrale en 1/N 4 , et ce resultat redonne une evaluation analogue `a la
methode de Simpson.
6

1.3 Methode de Romberg

1.3

M
ethode de Romberg

Lidee de la methode de Romberg sinspire directement de la remarque


faite au paragraphe precedent. Si on calcule successivement par la methode des
trap`ezes les integrales avec un nombres de points N/2k , N/2k1 , . . . , N , on peut
rapidement avoir une estimation de lintegrale avec une erreur en O(1/N 2k ) o`
u
k est le nombre de fois que lon a calcule lintegrale. La formule iterative utilisee
est la suivante
(Sk (h) Sk (2h))
Sk+1 (h) = Sk (h) +
(1.13)
(4k 1)
Le tableau 1.1 resume la procedure recursive employee dans la methode de
Romberg.
Pas
h
2h
4h
8h

Trap`ezes
S1 (h)
S1 (2h)
S1 (4h)
S1 (8h)

Simpson
S2 (h)
S2 (2h)
S2 (4h)

Boole
S3 (h)
S3 (2h)

troisi`eme amelioration
S4 (h)

Tab. 1.1 Table de Romberg

1.4

M
ethodes de Gauss

Dans les methodes precedentes, nous avons vu quen changeant les coefficients de ponderation des valeurs de la fonction `a integrer aux abscisses
reguli`erement espacees, on pouvait grandement ameliorer la convergence de la
methode. Les methodes de Gauss ajoutent aux methodes precedentes de pouvoir
utiliser des abscisses non reguli`erement espacees.
Soit W (x) une fonction strictement positive sur lintervalle [a, b], appelee
fonction de poids, on choisit une suite de points xi telle que lintegrale soit
approchee par une somme discr`ete de la forme
Z

W (x)f (x)dx =
a

N
X

wi fi

(1.14)

i=1

Quand les abscisses sont reguli`erement espacees, les coefficients inconnus


sont les poids wi ; cela implique que pour N points dintegration, on peut obtenir
une evaluation exacte de lintegrale jusqu`a un polynome de degre N 1 si N est
pair (trap`ezes) et N si N est impair (Simpson). Les methodes de Gauss utilise
le fait si les abscisses et les poids sont des inconnues `a determiner ; la formule
dintegration de Gauss `
a N points devient exacte jusqu`a des polynomes de degre
2N 1, ce qui augmente la precision de levaluation sans quil soit necessaire
daugmenter le nombre de points `a calculer.
Pour determiner ces 2N param`etres, on sappuie sur la construction de
polyn
omes orthogonaux. Le principe de cette construction remonte `a Gauss
7

Integration et sommes discr`etes

et Jacobi et a ete largement developpe par Christoffel. Soit un intervalle (a, b),
on introduit le produit scalaire de deux fonctions f et g avec la fonction de
poids W par :
Z b
< f |g >
W (x)f (x)g(x)dx
(1.15)
a

Les fonctions sont dites orthogonales si leur produit scalaire est nul. La fonction est normalisee quand < f |f >= 1. Un ensemble orthonorme de fonctions
est un ensemble de fonctions toutes normalisees et orthogonales deux `a deux.
On peut construire de mani`ere systematique une suite de polynomes telle
que le coefficient du mon
ome de degre le plus eleve soit egal `a un et telle quils
soient tous orthogonaux.
La relation de recurrence est la suivante.
p1 (x) = 0

(1.16)

p0 (x) = 1

(1.17)

pi+1 (x) = (x ai )pi (x) bi pi1 (x)

(1.18)

avec les coefficients ai et bi determines de la mani`ere suivante


< xpi |pi >
< pi |pi >
< xpi |pi1 >
bi =
< pi1 |pi1 >

ai =

(1.19)
(1.20)
(1.21)

Si lon divise chaque polyn


ome par < pi |pi >1/2 , on obtient alors des polynomes
normalises.
Une propriete fondamentale de ces polynomes ainsi construits est la suivante : Le polyn
ome pi a exactement j racines distinctes placees sur lintervalle
[a, b]. Chaque racine du polynome pi se trouve entre deux racines consecutives
du polyn
ome pi+1 .
Les N racines du polyn
ome pN sont choisies comme abscisses dans levaluation de lintegrale de Gauss et les poids wi sont calcules `a partir de la formule
wi =

1
< pN 1 | xx
|pN 1 >
i

pN 1 (xi )p0N (xi )


dN < pN 1 |pN 1 >
=
dN 1 pN 1 (xi )p0N (xi )

(1.22)
(1.23)

o`
u le symbole prime designe la derivee du polynome et dn le coefficient du
mon
ome le plus eleve du polynome pN 3 .
Avec ce choix, on peut montrer en utilisant la relation de recurrence, Eq. (1.18),
que < pi |p1 >= 0.
A titre dexemples voici les fonctions de poids classiques que lon utilise pour
calculer une integrale par la methode de Gauss
3

Attention, la formule 4.5.9 de la reference[1] est incorrecte et doit etre remlacee par lequation (1.22)

1.5 Methode de Gauss-Kronrod et methodes adaptatives

Gauss-Legendre
La fonction de poids est W = 1 sur lintervalle [1, 1]. La relation de
recurrence pour les polyn
omes de Legendre est
(i + 1)Pi+1 = (2i + 1)xPi iPi1

(1.24)

Gauss-Hermite
La fonction de poids est W = exp(x2 ) sur la droite reelle. La relation
de recurrence pour les polynomes dHermite est
Hi+1 = 2xHi 2iHi1

(1.25)

Gauss-Laguerre
La fonction de poids est W = x ex sur lintervalle [0, +[. La relation
de recurrence pour les polynomes de Laguerre est
(i + 1)Li+1 = (x + 2i + + 1)Li (i + )Li1

(1.26)

Gauss-Jacobi
La fonction de poids est W = (1 x) (1 + x) sur lintervalle ] 1, 1[. La
relation de recurrence pour les polynomes de Jacobi est
(,)

(,)

ci Pi+1 = (di + ei x)Pi

(,)

fi Pi1

(1.27)

o`
u les coefficients ci , di , ei et fi sont donnes par les relations
ci = 2(i + 1)(i + + + 1)(2i + + )
2

(1.28)

di = (2i + + + 1)( )

(1.29)

ei = (2i + + )(2i + + + 1)(2i + + + 2)

(1.30)

fi = 2(i + )(i + )(2i + + + 2)

(1.31)

On peut utiliser des fonctions de poids qui sont integrables sur lintervalle,
sans etre necessairement bornees.
Gauss-Chebyshev4 La fonction de poids est W = (1 x2 )1/2 sur lintervalle [1, 1]. La relation de recurrence pour les polynomes de Chebyshev.
Ti+1 = 2xTi Ti1

1.5

(1.32)

M
ethode de Gauss-Kronrod et m
ethodes adaptatives

Pour determiner la precision numerique dune integrale, il est necessaire


de faire deux evaluations differentes et dutiliser la formule de Romberg pour
obtenir une estimation de la precision. Avec une methode de Cotes, dans lesquelles
4

Pafnuty Lvovich Chebyshev (1821-1894) a un nom dont lorthographe varie un peu selon
les langues, puisquil sagit dune traduction phonetique. En Francais, son nom est generalement orthographie Tchebytchev.

Integration et sommes discr`etes

les abscisses sont reguli`erement espaces, on peut sans effort de calcul supplementaire (le co
ut provient essentiellement de levaluation de la fonction aux
differents abscisses) obtenir une evaluation de lintegrale en utilisant un point
sur deux, ce qui donne une estimation pour un pas double. Dans une methode de Gauss, les zeros dun polynome ne concident jamais avec ceux dun
polyn
ome de degre plus eleve. Kronrod, mathematicien russe a montre que
lon peut choisir un polyn
ome de degre n + p dont n racines sont les racines
du polyn
ome de Gauss. Notons G(p + n, x) le polynome de degre p + n dont
les racines correspondent aux n + p abscisses de la formule dintegration. Un
polyn
ome de degre n + 2p 1 peut sexprimer sous la forme
f (x) = G(n + p)h(x) + g(x)
o`
u
g(x) =

n+p1
X

ak xk

(1.33)

(1.34)

k=0

et
h(x) =

p1
X

bk xk

(1.35)

k=0

On impose les poids pour la nouvelle formule telle que g(x) soit integree exactement. Cette condition sexprime de la mani`ere suivante
Z 1
G(n + p, x)h(x)dx = 0
(1.36)
1

Comme tout polyn


ome de degre p 1 peut sexprimer comme une combinaison
lineaire de Polyn
ome de Legendre de degre p 1, on a le syst`eme dequation
Z 1
G(n + p, x)P (k, x)dx = 0
(1.37)
1

avec k = 0, 1, ....p 1
Si p = n + 1, on note G(2n + 1, x) = K(n + 1, x)P (n, x). La condition
Eq (2.1) est alors donnee par
Z 1
K(n + 1, x)P (n, x)P (k, x)dx = 0
(1.38)
1

avec k = 0, 1, ....p 1. Considerant le cas o`


u n est impair, on a K(n + 1, x) qui
est une fonction paire et se decompose sur les polynomes de Legendre comme
n+3

K(n + 1, x) =

2
X

ai P (2i 2, x)

(1.39)

i=1

Les coefficients ai sont calcules par les relations


n+3
2
X

i=1

P (2i 2, x)P (n, x)P (k, x)dx

ai
1

10

(1.40)

1.6 Integrales multiples

pour k = 1, . . . n (on choisit a0 = 1). Pour k pair, ces equations sont automatiquement satisfaites, les equations restantes permettent devaluer les coefficients ai (cette methode sappelle methode de Patterson).
Les methodes adaptatives partent du principe que lerreur commise dans le
calcul de lintegrale depend souvent de la portion du segment o`
u les evaluations
de fonctions sont faites. Si la fonction varie rapidement dans un intervalle restreint de lensemble du domaine dintegration, il est preferable daugmenter la
precision du calcul dans cette region plutot que sur la totalite de lintervalle. Les
methodes adaptatives consistent donc `a couper le segment en deux et evaluer
chaque partie, on compare lestimation de lerreur par rappport `a la tolerance
imposee et lon proc`ede `
a une nouvelle division de lintervalle dans les regions
les plus difficiles.

1.6

Int
egrales multiples

Le probl`eme de levaluation des integrales multiples est etroitement lie `a


la difficulte de levaluation numerique dun tr`es grand nombre de points pour
la fonction consideree. Par exemple dans un espace `a trois dimensions, si on
utilise 30 points dans chacune des directions, il est necessaire de calculer la
fonction pour 303 points. La situation saggrave tr`es rapidement quand la dimension de lespace augmente ! Le calcul des integrales multiples est neanmoins
possible dans un certain nombre de cas. Si la fonction poss`ede une symetrie
importante, par exemple la symetrie spherique dans un espace de dimension d,
on peut se ramener de mani`ere analytique `a une integrale `a une dimension (Voir
appendice A). De mani`ere generale, en utilisant une symetrie de la fonction, on
peut ramener le calcul de lintegrale de dimension n `a celui dune integrale de
dimension n0 << n o`
u les methodes precedentes peuvent encore sappliquer.
Dans le cas o`
u il nexiste pas de symetrie, la methode la plus efficace est la
methode dite de Monte Carlo dont le principe est decrit dans le cours Simulation
numerique en Physique Statistique.(http ://pascal.viot.com)

11

Integration et sommes discr`etes

12

Chapitre 2

Fonctions sp
eciales et

evaluation de fonctions
Contenu

2.1

2.1

Introduction

. . . . . . . . . . . . . . . . . . . . . . .

13

2.2

Fonctions transcendantes simples . . . . . . . . . . .

14

2.3

Fonction Gamma . . . . . . . . . . . . . . . . . . . . .

14

2.3.1

Definition et proprietes . . . . . . . . . . . . . . . . . 14

2.3.2

Fonctions reliees : , B . . . . . . . . . . . . . . . . . 16

2.4

Fonctions de Bessel . . . . . . . . . . . . . . . . . . .

18

2.5

Fonctions Hyperg
eom
etriques . . . . . . . . . . . . .

20

2.5.1

Fonction Hypergeometrique Gaussienne . . . . . . . . 20

2.5.2

Fonctions Hypergeometriques generalisees . . . . . . . 20

2.6

Fonction erreur, exponentielle int


egrale . . . . . . .

21

2.7

Conclusion

22

. . . . . . . . . . . . . . . . . . . . . . . .

Introduction

Les fonctions speciales sont definies de mani`ere assez imprecise, puisquelles


regroupent les fonctions que lusage (ou la frequence dutilisation) a fini par associer `
a un nom. Parmi ces fonctions, on trouve un grand nombre de fonctions
qui sont des solutions dequations differentielles du second ordre, sans que cette
propriete soit exclusive. Ces fonctions sont toutefois tr`es utiles, car elles apparaissent tr`es souvent, d`es que lon cherche `a resoudre des equations differentielles
du second ordre dont les coefficients ne sont pas constants. Les fonctions speciales sont disponibles en programmation sous la forme de biblioth`eques. Elles
sont aussi definies pour un grand nombre dentre elles dans les logiciels de calcul symbolique (Maple, Mathematica,...). Dans la suite de ce cours, nous allons
definir une partie dentre elles et decrire les methodes numeriques utilisees dans
les biblioth`eques de programmes pour le calcul de ces fonctions.
13

Fonctions speciales et evaluation de fonctions

20
15
10

(x)

5
0
-5
-10
-15
-20

-4

-3

-2

-1

Fig. 2.1 La fonction (x) en fonction de x.

2.2

Fonctions transcendantes simples

Les fonctions les plus simples que lon rencontre lors de lapprentissage des
mathematiques sont tout dabord les monomes, puis les polynomes, et enfin les
fractions rationnelles. Le calcul de la valeur de la fonction pour un argument
reel ou complexe necessite un nombre fini des quatre operations elementaires
que sont laddition, la soustraction, la multiplication et la division.
Les premi`eres fonctions transcendantes que lon rencontre sont alors les fonctions trigonometriques (sin, cos,tan, arccos, arcsin) ainsi que leurs fonctions inverses. Les fonctions exp et log representent generalement le reste de larsenal
des fonctions transcendantes definies dans un cursus de premier, voire de second
cycle universitaire.

2.3
2.3.1

Fonction Gamma
D
efinition et propri
et
es

La fonction Gamma est generalement definie par lintegrale suivante


Z
(z) =
tz1 et dt
(2.1)
0

quand la partie reelle de z est strictement positive, Re(z) > 0).


14

2.3 Fonction Gamma

La formule dEuler donne une expression de la fonction pour toute valeur


de z complexe hormis les valeurs de z enti`eres negatives o`
u la fonction poss`ede
des p
oles :
n!nz
(z) = lim
(2.2)
n z(z + 1) . . . (z + n)
En integrant par parties lequation (2.1), on peut facilement montrer que
(z + 1) = z(z)

(2.3)

En verifiant que (1) = 1, on obtient par recurrence que


(n + 1) = n!

(2.4)

Avec cette definition, la fonction apparat comme un prolongement analytique


de la fonction factorielle definie sur N. Dapr`es lequation (2.2), la fonction a
un pole en 0 et pour toutes les valeurs enti`eres negatives (voir Fig. (2.1)).
La formule suivante permet de relier la fonction entre les valeurs situees
dans le demi-plan complexe o`
u Re(z) > 1 et celui o`
u Re(z) < 1 :
(1 z) =

(z) sin(z)

(2.5)

Pour calculer numeriquement la fonction pour une valeur de z en dehors des


poles, il est necessaire de developper cette fonction sur la base des polynomes et
des exponentielles. La formule la plus precise est celle de Lancz`os. Ce developpement est specifique `
a la fonction . La formule qui sinspire de la formule de
Stirling bien connue pour la fonction factorielle nest valable que pour Re(z) > 0
et est donnee par

 1
1 z+ 2 (z++ 1 )
2
(z + 1) = z + +
e
2



c2
cN
c1
2 c0 +
+
+ ... +
+
z+1 z+2
z+N

(2.6)

o`
u  est le param`etre estimant lerreur. Pour le choix particulier = 5, N = 6
et c0 tr`es voisin de 1, on a || < 2.1010 .
Il est difficile de calculer la fonction pour des valeurs de z un peu importantes. Cela resulte de la croissance tr`es rapide de la fonction . On peut montrer que la fonction crot plus vite que toute exponentielle, comme de mani`ere
analogue on montre que lexponentielle crot plus vite que tout polynome. On
dit parfois que la fonction a une croissance super-exponentielle.
Dans de nombreuses formules, la fonction apparat `a la fois au numerateur
et au denominateur dune expression. Chacun des termes peut etre tr`es important, mais le rapport est souvent un nombre relativement modeste. Pour calculer
numeriquement ce type dexpression, il est preferable de calculer ln((z)) (voir
Fig. 2.2). Ainsi la fraction est alors lexponentielle de la difference de deux
logarithmes. Tous les nombres qui interviennent dans ce calcul sont exponentiellement plus petits que ceux qui apparaissent dans un calcul direct, on evite
ainsi le depassement de capacite de lordinateur.
15

Fonctions speciales et evaluation de fonctions

20

ln((x)

15

10

0
0

10

Fig. 2.2 La fonction ln((x)) en fonction de x.


On definit la fonction incompl`ete1 comme
Z x
(a, x) =
ta1 et dt

(2.7)

La fonction normalisee suivante P (a, x)


P (a, x) =

(a, x)
(a)

(2.8)

est parfois appelee aussi fonction Gamma incompl`ete. On peut montrer que
P (a, x) est monotone croissante avec x. La fonction est tr`es proche de 0 quand
x est inferieur `
a a 1 et proche de 1 quand x est tr`es superieur. La variation
entre ces deux valeurs apparat autour de labscisse a 1 et sur une largeur de

lordre de a (voir figure 2.3).

2.3.2

Fonctions reli
ees : , B

A partir de la fonction , on definit des fonctions derivees. En raison de


leur grande frequence dutilisation, elles ont recu un nom. Ainsi, la fonction
, appelee aussi fonction Digamma est definie comme la derivee logarithmique
1

Noter que dans le logiciel Maple, la fonction Gamma et les fonctions Gamma incompl`etes
sont les seules fonctions definies avec des lettres capitales.

16

2.3 Fonction Gamma

a=1

0.8

a=3
a=10

P(a,x)

0.6

0.4

0.2

10

12

14

Fig. 2.3 La fonction P (a, x) en fonction de x pour trois valeurs de a (a =


1, 3, 10).
de la fonction Gamma2 :
(x) =

d ln((x))
dx

(2.10)

Parmi les proprietes remarquables de la fonction , notons que, pour des


valeurs enti`eres, on a
(n) = +

n1
X
i=1

1
i

(2.11)

o`
u = 0.577 . . . est la constante dEuler.
Les fonctions Beta qui sont notees paradoxalement avec un B sont definies
par la relation :
B(z, w) =

(z)(w)
(z + w)

(2.12)

2
On definit aussi les fonctions polygamma comme une generalisation de la fonction
Digamma
dn (x)
(n, x) =
(2.9)
dxn

17

Fonctions speciales et evaluation de fonctions

0.5

Y(x),J(x)

-0.5

J0
J1
J2
J3
Y0
Y1
Y2
Y3

-1

-1.5

-2

10

Fig. 2.4 Les quatre premi`eres fonctions de Bessel enti`eres de premi`ere esp`ece et de deuxi`eme esp`ece. Ces fonctions sont presentes dans toutes les biblioth`eques mathematiques de programmation, dans les logiciels de calcul symbolique comme Maple et dans un logiciel graphique comme xmgrace.

2.4

Fonctions de Bessel

Les fonctions de Bessel sont definies de la mani`ere suivante : considerons


lequation differentielle du second ordre
x2 y 00 + xy 0 + (x2 2 )y = 0

(2.13)

Les solutions de cette equation sont appelees fonctions de Bessel de premi`ere


et de deuxi`eme esp`ece : La solution finie `a lorigine et notee J (x) est appelee
fonction de Bessel de premi`ere esp`ece et la seconde solution notee Y (x) est
appelee fonction de Bessel de deuxi`eme esp`ece. Si nest pas un entier, ces
fonctions sont reliees par la relation suivante :
Y (x) =

J (x) cos() J (x)


sin()

(2.14)

La figure 2.4 represente graphiquement les fonctions de Bessel de premi`ere


et de seconde esp`eces pour les quatre premi`eres valeurs enti`eres de
Le comportement asymptotique des fonctions de Bessel de premi`ere et de
18

2.4 Fonctions de Bessel

4
I0
I1
I2
I3
K0
K1
K2
K3

3.5
3

K(x),I(x)

2.5
2
1.5
1
0.5
0

2
x

Fig. 2.5 Les quatre premi`eres fonctions de Bessel enti`eres modifiees de premi`ere et de deuxi`eme esp`ece. Ces fonctions sont presentes dans toutes les biblioth`eques mathematiques de programmation, dans les logiciels de calcul symbolique comme Maple et dans un logiciel graphique comme xmgrace.
seconde esp`ece est le suivant
r

2
J (x) '
(cos(x /2 /4))
x
r
2
Y (x) '
(sin(x /2 /4))
x

(2.15)
(2.16)

Soit lequation differentielle du second ordre


x2 y 00 + xy 0 (x2 2 )y = 0

(2.17)

Les solutions de cette equation sont appelees fonctions de Bessel modifiees . La


solution finie `
a lorigine et notee I (x) est appelee fonction de Bessel modifiee
de premi`ere esp`ece et la seconde solution notee K (x) est appelee fonction de
Bessel modifiee de seconde esp`ece. Ces fonctions sont reliees par la relation
suivante :
(I (x) I (x))
K (x) =
(2.18)
2 sin()
La figure 2.5 represente graphiquement les fonctions de Bessel modifiees de
premi`ere et de deuxi`eme esp`ece pour les quatre premi`eres valeurs enti`eres de .
19

Fonctions speciales et evaluation de fonctions

Le comportement asymptotique des fonctions de Bessel modifiees est le suivant :


ez
I (x) '
2x
r
z
K (x) '
e
2x

(2.19)
(2.20)

Les fonctions de Hankel H1, and H2, sont appelees fonctions de Bessel de
troisi`eme esp`ece et sont definies par la relation

2.5
2.5.1

H1, (x) =J (x) + iY (x)

(2.21)

H2, (x) =J (x) iY (x)

(2.22)

Fonctions Hyperg
eom
etriques
Fonction Hyperg
eom
etrique Gaussienne

Les fonctions hypergeometriques gaussiennes sont definies comme etant les


solutions de lequation differentielle suivante.
x(1 x)y 00 + [c (a + b + 1)x]y 0 aby = 0

(2.23)

o`
u a, b et c sont des constantes.
Si c, a b et c a b sont non entiers, la solution generale de cette equation
est
y = F (a, b; c; x) + Bx1c F (a c + 1, b c + 1; 2 c; x)
(2.24)
La fonction F peut etre exprimee sous la forme dune serie
F (a, b; c; x) 2 F1 (a, b, c; x)

(c) X (a + n)(b + n) xn
=
(a)(b)
(c + n)
n!

(2.25)

n=0

Cette serie converge uniformement `a linterieur du disque unite. D`es que a, b


ou c sont entiers, la fonction hypergeometrique peut se reduire `a une fonction
transcendante plus simple. Par exemple, 2 F1 (1, 1, 2; x) = x1 ln(1 x)

2.5.2

Fonctions Hyperg
eom
etriques g
en
eralis
ees

On definit des fonctions hypergeometriques generalisees de la mani`ere suivante : soit le rapport



 X

(a1 )k (a2 )k . . . (ap )k xk


a1 , a2 , . . . , ap
F
;
z
=
(2.26)
p q
b1, b2 , . . . , bq
(b1 )k (b2 )k . . . (bq )k k!
k=0

o`
u on a utilise la notation de Pochhammer
(a)k =

(a + k)
(a)
20

(2.27)

2.6 Fonction erreur, exponentielle integrale

4
E1
E2
E3
E4

En(x)

2
x

Fig. 2.6 Les quatre premi`eres fonctions exponentielles integrales (fonctions


En . Ces fonctions sont presentes dans toutes les biblioth`eques mathematiques
de programmation, dans les logiciels de calcul symbolique comme Maple et dans
un logiciel graphique comme xmgrace.

2.6

Fonction erreur, exponentielle int


egrale

La fonction erreur et la fonction erreur complementaire sont definies comme


Z x
2
2
erf (x) =
(2.28)
et dt
0
erf c(x) = 1 erf (x)
Z
2
2
=
et dt
(2.29)
x
La fonction erf est aussi presente dans toutes les biblioth`eques standard de
programmation.
La fonction exponentielle integrale Ei est definie comme la valeur principale
de lintegrale suivante pour x > 0.
Z x t
e
dt
(2.30)
Ei(x) =
t
Le developpement en serie de cette fonction donne

X
xn
Ei(x) = + ln(x) +
n n!
n=1

21

(2.31)

Fonctions speciales et evaluation de fonctions

Pour des grandes valeurs de x, on a le developpement asymptotique suivant




ex
1
Ei(x) '
1 + + ...
(2.32)
x
x
De mani`ere generale, on definit les exponentielles integrales En (x) comme
Z zt
e
dt
(2.33)
En (z) =
tn
1
La Figure 2.6 represente les quatre premi`eres exponentielles integrales. Le developpement en serie de cette fonction donne
E1 (x) = ( + ln(x)) +

(1)n

n=1

xn
n n!

(2.34)

La fonction Ei (1, x) nest definie que pour des arguments reels : Pour x < 0,
on a
Ei (x) = Ei (1, x)
(2.35)
On peut noter que les exponentielles integrales En (x) sont reliees a` la fonction par la relation
En (x) = xn1 (1 n, x)
(2.36)

2.7

Conclusion

Cette introduction aux fonctions speciales est tr`es loin detre exhaustive ; il
existe de nombreuses autres fonctions dites speciales : les fonctions elliptiques,
les fonctions de Fresnel, les fonctions de Meier,. . . . Le developpement de biblioth`eques qui permettent de calculer les valeurs de ces fonctions est un secteur
tr`es actif et nous disposerons dans les annees futures de biblioth`eques encore
plus performantes.

22

Chapitre 3

Interpolation de fonctions
Contenu
3.1
3.2

Introduction . . . . . . . . . . . . . . . . . . .
Fonctions `
a une variable . . . . . . . . . . . .
3.2.1 Algorithme de Neville . . . . . . . . . . . . .
3.2.2 Polyn
omes de Chebyshev . . . . . . . . . . .
3.2.3 Methodes de lissage (Spline) . . . . . . . . .
3.2.4 Approximants de Pade . . . . . . . . . . . . .
3.2.5 Algorithme de Remez . . . . . . . . . . . . .
3.3 Fonctions `
a plusieurs variables . . . . . . . .
3.3.1 Introduction . . . . . . . . . . . . . . . . . .
3.3.2 Interpolations bilineaire et bicubiques . . . .
3.4 Conclusion . . . . . . . . . . . . . . . . . . . .

3.1

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

23
24
24
25
26
28
30
30
30
31
32

Introduction

Pour evaluer une fonction, il est frequent de ne disposer que de ses valeurs
sur un ensemble fini de points. Dans le cas le plus simple dune fonction `a une
variable, ces points sont souvent disposes sur un reseau regulier unidimensionnel. Il est souvent necessaire de pouvoir evaluer cette fonction en dehors de
cet ensemble de points. Si le point `a evaluer se situe `a linterieur dun intervalle elementaire constitue de deux points consecutifs du reseau, la procedure
dapproximation de la fonction par une fonction plus simple (tr`es souvent un
polyn
ome) sappelle une interpolation. Quand le point `a evaluer se situe en
dehors des bornes du reseau, la procedure dapproximation sappelle une extrapolation.
La mise en place dune interpolation pour une fonction evaluee initialement
sur un reseau consiste `
a optimiser la fonction approchante en utilisant lensemble des donnees. Le probl`eme est de savoir si lensemble des donnees doit etre
utilisee en une seule fois pour determiner une unique fonction sur lensemble de
lintervalle ou si on doit construire une succession de fonctions approchantes en
utilisant des donnees locales. Nous allons voir que les reponses sont adaptees
23

Interpolation de fonctions

1.0

0.75

0.5

0.25

0.0
1.0

0.5

0.0

0.5

1.0

Fig. 3.1 Trace de la fonction triangle et des interpolations polynomiales de


degre 4 (courbe rouge) et 10 (courbe noire).

en fonction des proprietes de regularite de la fonction que lon veut interpoler


ainsi que le type de fonctions approchantes utilisees.
Sur la base de ce qui nous avons vu dans le premier chapitre, les polynomes
sont a priori de bons candidats pour approximer des fonctions ; nous allons voir
ci-dessous que cela nest pas aussi simple et quil existe des situations o`
u le fait
de prendre un polyn
ome de degre de plus en plus eleve deteriore la qualite de
lapproximation. En general, une fonction dont les derivees restent bornees peut
etre approchee avec precision avec une interpolation polynomiale de degre eleve
qui necessite de faire intervenir les valeurs de la fonction sur une ensemble de
points assez grand. Dans le cas o`
u la fonction poss`ede des discontinuites dans sa
derivee, une interpolation locale basee sur un petit nombre de points est alors
plus precise.

3.2
3.2.1

Fonctions `
a une variable
Algorithme de Neville

Une approche naive consiste `a utiliser les N points o`


u la fonction a ete
evaluee yi = f (xi ) pour i = 1, n et `a interpoler par un polynome dordre N avec
24

3.2 Fonctions `a une variable

la formule de Lagrange.
(x x2 )(x x3 )...(x1 xN )
y1 +
(x1 x2 )(x1 x3 )...(x1 xN )
(x x1 )(x x3 )...(x1 xN )
+
y2 + ...
(x2 x1 )(x2 x3 )...(x2 xN )
(x x1 )(x x3 )...(x1 xN 1 )
yN
+
(xN x1 )(xN x3 )...(xN xN 1 )

P (x) =

(3.1)

Pour construire une methode iterative plus simple, il existe la methode de


Neville basee sur une structure hierarchique. Le principe est le suivant : ii on a
N points o`
u la fonction a ete evaluee, on consid`ere que ces points representent
une approximation dordre 0 du polynome.
Larborescence de la construction des polynomes dinterpolation par la methode de Neville a la structure suivante :
P1

P2 P3 P4 ... PN 1 PN
P12 P23 P34
...
P(N 1)N
P123 P234
...
...
P1234
...
...
...
P1234...(N 1)N

A partir des N polyn


omes constants, on construit les N 1 polynomes de
degre 1, puis les N 2 polyn
omes de degre 2 et ainsi de suite jusqu`a obtenir
le polyn
ome de degre N 1. Le polynome obtenu `a la fin est bien evidemment
identique `
a celui decrit par la formule de Lagrange.
La formule de recurrence pour cette construction est la suivante
Pi(i+1)...(i+m) =

3.2.2

(x xi+m )Pi(i+1)...(i+m1) (xi x)P(i+1)(i+2)...(i+m)


+
. (3.2)
(xi xi+m )
(xi xi+m )

Polyn
omes de Chebyshev

Dans le cas, o`
u la fonction `a interpoler est continue, mais poss`ede des
derivees discontinues, la procedure de Neville ne converge pas uniformement. La
figure 3.1 illustre la mani`ere dont des polynomes dinterpolation de degre croissant interpole difficilement la region o`
u la fonction continue a une discontinuite
de la derivee. En augmentant le degre du polynome, on voit clairement que lapproximation est meilleure au centre mais se deteriore gravement sur les bords de
lintervalle. En utilisant un developpement sur les polynomes de Chebyshev, on
obtient une interpolation avec des polynomes de degres identiques, cest-`a-dire
4 et 10, les approximations qui apparaissent sur la figure 3.2. Le resultat est
spectaculaire. Notons quavec cette procedure lapproximation obtenue ne passe
pas par tous les points dun reseau regulier. (voir Fig. 3.2).
25

Interpolation de fonctions

1,0

0,75

0,5

0,25

1,0

0,5

0,0
0,0

0,5

1,0

fonction
ordre 4
ordre 10

Fig. 3.2 Trace de la fonction triangle et des interpolations par polynomes


de Tchebyshev de degre 4 et 10.

3.2.3

M
ethodes de lissage (Spline)

Comme nous lavons vu ci-dessus, les interpolations de fonction avec lutilisation de polyn
omes de degre eleve peuvent conduire `a des defauts tr`es importants situes sur les limites de lintervalle o`
u la fonction est definie. Inversement,
lapproximation locale par une droite joignant deux points conecutifs presente
le defaut important que la derivee de la fonction interpolante a une derivee constante et discontinue sur chaque intervalle et une derivee seconde nulle presque
partout.
La methode spline minimise une sorte denergie elastique et consiste `a imposer que la derivee premi`ere de la fonction interpolante soit continue et que
la derivee seconde le soit aussi sur la totalite de lintervalle de definition de la
fonction.
Si on note (xi , yi = f (xi )) la suite de couples abscisse-ordonnee o`
u la fonction
a ete calculee, lapproximation cubique se construit de la mani`ere suivante
y = A(x)yi + B(x)yi+1 + C(x)yi + D(x)yi+1

(3.3)

o`
u A, B, C and D sont des fonctions de x. Ces fonctions sont determinees par
les contraintes suivantes :
A et B sont determinees par une interpolation lineaire. Ce qui donne
A(x) =
26

xi+1 x
xi+1 xi

(3.4)

3.2 Fonctions `a une variable

10,0

7,5
0.05

5,0
x
4

0.025

0.0

2,5
0.025

0,0
4

0.05

x
0.075

2,5

0.1

fonction
Spline

Fig. 3.3 Figure de gauche : trace de la fonction donnee par lequation (3.11)
ainsi que lapproximation donnee par un Spline cubique. Figure de droite :
trace de la difference pour la.
et
B(x) =

x xi
xi+1 xi

(3.5)

C(x) et D(x) doivent sannuler sur les limites de lintervalle [xi , xi+1 ] et
sont des polyn
omes de degre 2 en x.
Il est facile de verifier que

et

1
C(x) = (A(x)3 A(x))(xi+1 xi )2 )
6

(3.6)

1
D(x) = (B(x)3 B(x))(xi+1 xi )2 )
6

(3.7)

conviennent
En effet en derivant deux fois par rapport `a x, lequation (3.3), on obtient
d2 y
= A00 (x)yi + B 00 (x)yi+1
dx2

(3.8)

et donc satisfait bien les contraintes exprimees ci-dessus.


Dans le cas o`
u les derivees (premi`ere et seconde) de la fonction ne sont pas
connues, on peut estimer ces derivees en imposant que la derivee de lapproximation est continue, cest-`
a-dire que
yi+1 yi 3A(x)2 1
3B(x)2 1
dy
00
=

(xi+1 xi )yi00 +
(xi+1 xi )yi+1
(3.9)
dx
xi+1 xi
6
6
Cela donne un syst`eme dequations pour les derivees secondes
xi xi+1 00
xi+1 xi1 00 xi+1 xi 00
yi+1 yi yi yi1
yi1 +
yi +
yi+1 =

(3.10)
6
3
6
xi+1 xi xi xi1
27

Interpolation de fonctions

8
6
4
x
4

2
0

0
2
4
6
8
10
12

Fig. 3.4 Trace des derivees secondes de la fonction (3.11) (courbe rouge) et
de son approximation (courbe verte).
On a donc N inconnues pour N 2 equations ; pour lever lindetermination,
on peut imposer que la derivee seconde de la fonction sannule aux extremites
de lintervalle total.
Ce compromis permet de davoir une approximation qui convient `a un
grande nombre de fonctions. Pour illustrer cette methode, nous considerons
la fonction suivante
2
y = x2 + 6(ex 1)
(3.11)
La figure 3.3 presente la fonction ainsi que son approximation sur un reseau de
pas egal `
a 2 pour la fonction donnee par lequation (3.11) sur la figure de gauche.
La figure de droite montre la difference entre la fonction et son approximation.
Les derivees secondes de la fonction et lapproximation sont tracees sur le
meme intervalle (Voir Fig. 3.4). Lapproximation cubique conduit `a une derivee
seconde continue sur la totalite de lintervalle et sannule bien aux fronti`eres de
cet intervalle. Si une interpolation lineaire avait ete faite sur chaque intervalle
elementaire la derivee seconde serait nulle presque partout sur cet intervalle.
Lapproximation cubique est donc un compromis raisonnable.

3.2.4

Approximants de Pad
e

Il est frequent en Physique dobtenir un developpement perturbatif dune


fonction pour un nombre de derivees limite. Dans le cas o`
u la fonction inconnue
28

3.2 Fonctions `a une variable

2,0
1,6
1,2
0,8
0,4
0,0
2

0,4

0,8
y
1,2
1,6
2,0

Fig. 3.5 Trace de la fonction donnee par lequation (3.12) et des developpements `
a lordre 4, 6, 18, 20.
a un developpement en serie dont le rayon de convergence est fini, toute approximation polynomiale ne permet pas dobtenir une approche de la fonction
au del`
a du rayon de convergence du developpement en serie enti`ere. De plus,
une approximation de degre de plus en plus eleve donnera une approximation
de plus en plus mediocre quand on sapproche du rayon de convergence. Ce
phenom`ene est illustree sur la Figure 3.5 o`
u lon consid`ere la fonction
f (x) =

exp(x2 )
1 + x2

(3.12)

et o`
u les polyn
omes sont bases sur le developpement en x `a lordre 4, 6, 18, 20
et sont traces conjointement avec la fonction f (x).
Pour remedier `
a ce type de defaut, les approximants de Pade sont bases sur
une interpolation utilisant une fraction rationnelle,
P a[m, n] =

Pm (x)
Qn (x)

(3.13)

o`
u le polynome Pm (x) est un polynomes de degre m et Qn (x) est un polynome
de degre n dont le coefficient constant est egal `a 1. Ainsi un approximation de
Pade dordre [m, n] est une fraction rationnelle dont m + n + 1 coefficients sont
`a determiner. Quand on connait la valeur dune fonction et ses n + m derivees
en un point, on peut calculer n + m approximants differents. Les approximations de Pade dordre [8, 0], [6, 2], [4, 4], [2, 6] ainsi que la fonction sont tracees
29

Interpolation de fonctions

1,0

0,75

y 0,5

0,25

0,0
2

Fig. 3.6 Trace de la fonction et des approximants de Pade [8, 0] et [6, 2] sur
la partie gauche et [4, 4]et[2,6] sur la partie droite.
sur la figure 3.6. On voit clairement que les approximations par des fractions
rationnelles evitent la singularite liee au rayon de convergence pour |x| = 1. De
plus, lapproximation [2, 6] tend vers zero quand largument de x est grand et
correspond une meilleure approximation sur la totalite de lintervalle.

3.2.5

Algorithme de Remez

Pour obtenir la meilleure approximation dune fonction sur un intervalle


donne, il existe une methode, appelee algorithme de Remez, qui approche une
fonction f (x) sur un intervalle donne en minimisant lexpression suivante
M ax(w(x)|f (x) r(x)|)

(3.14)

pour tout x appartenant `


a lintervalle donne, w(x), une fonction de poids positive et r(x) est la fraction rationnelle que lon cherche `a determiner. Le detail
de la methode depasse le cadre de ce cours, mais cette methode est implementee
dans le logiciel Maple par exemple.

3.3
3.3.1

Fonctions `
a plusieurs variables
Introduction

Pour des raisons de capacite memoire sur les ordinateurs, la plupart des
fonctions de plusieurs variables que lon doit interpoler sont des fonctions `a
deux variables ou `
a trois variables au maximum. La necessite de proceder `a une
interpolation intervient par exemple dans le calcul dequations integrales.
30

3.3 Fonctions `a plusieurs variables

3.3.2

Interpolations bilin
eaire et bicubiques

Pour une fonctoin tabulee sur un reseau carre regulier, lapproximation bilineaire consiste `
a utiliser un polynome `a deux variables qui donne sur chacune
des aretes dun carre elementaire la valeur exacte de la fonction.
Soit xi = x0 + hi avec i entier et yj = y0 + hj, pour la cellule elementaire
delimite par les points (xi , yj ),(xi , yj+1 ),(xi+1 , yj+1 ),(xi+1 , yj ), on a le polynome
suivant
P (x, y) =h2 ((x xi+1 )(y yi+1 )fij + (x xi+1 )(y yi )fij+1
+(x xi+1 )(y yi )fi+1j + (x xi )(y yi )fi+1j+1 )

(3.15)

Avec cette approximation, les derivees partielles secondes de cette approximation sont toutes nulles, ce qui peut etre insuffisant pour la qualite de lapproximation. Dans le cas o`
u les derivees premi`eres ainsi que la (ou les) derivee(s)
croisee(s) seconde(s) est (sont) connue(s), on peut faire une meilleure approximation appelee approximation bicubique. En utilisant le fait que lapproximation doit donner exactement les valeurs de la fonction ainsi que celles des
derivees premi`eres et des derivees croisees secondes, cela donne seize coefficients
`a determiner. En notant
y
= y,1
(3.16)
x1
y
= y,2
(3.17)
x2
2y
= y,12
(3.18)
x1 x2
(3.19)
on doit resoudre le syst`eme dequations suivant
y(x1 , x2 ) =

4 X
4
X

cij ti1 uj1

(3.20)

i=1 j=1
4 X
4
X
y,1 (x1 , x2 ) =
(i 1)cij ti2 uj1

(3.21)

i=1 j=1
4 X
4
X
y,2 (x1 , x2 ) =
(j 1)cij ti1 uj2

(3.22)

i=1 j=1

y,12 (x1 , x2 ) =

4 X
4
X
(i 1)(j 1)cij ti2 uj2

(3.23)

i=1 j=1

(3.24)
o`
u cij sont les seize coefficients `
a determiner avec
x1 x1,i
x1,i+1 x1,i
x2 x2,i
u=
x2,i+1 x2,i
t=

31

(3.25)
(3.26)

Interpolation de fonctions

x1,i et x2,i designent les points du reseau. Ce type de formule se generalise


aisement en dimensions 3.

3.4

Conclusion

Le choix de lapproximation dune fonction connue sur un ensemble discret


de points est un probl`eme delicat et quil convient de tester avec soin pour
obtenir des resultats exploitables.

32

Chapitre 4

Racines d
equations
Contenu
4.1
4.2
4.3

Introduction . . . . . . . . . . . . . . . . . . .
Dichotomie . . . . . . . . . . . . . . . . . . . .
M
ethode de Ridder . . . . . . . . . . . . . . .
4.3.1 Methode de la position fausse . . . . . . . . .
4.3.2 Methode de Ridder . . . . . . . . . . . . . . .
4.4 M
ethode de Brent . . . . . . . . . . . . . . . .
4.5 Newton-Raphson . . . . . . . . . . . . . . . . .
4.6 Racines de Polyn
omes . . . . . . . . . . . . .
4.6.1 Reduction polynomiale . . . . . . . . . . . . .
4.6.2 Methode de Laguerre . . . . . . . . . . . . .

4.1

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.

.
.

33
34
35
35
36
37
37
38
38
39

Introduction

Lune des t
aches rencontrees frequemment lors dun calcul est la recherche
de la racine dune equation. Sans perte de generalite, on peut toujours ecrire
une equation o`
u le membre de droite est egal `a zero,
f (x) = 0

(4.1)

Si x est une variable scalaire, le probl`eme est unidimensionnel. Si x est une


variable vectorielle (`
a N dimensions) et que lon a N equations `a satisfaire, on
peut formellement ecrire sous une notation vectorielle
f (x) = 0

(4.2)

Malgre la similarite des equations (4.1) et (4.2), un syst`eme dequations `a N


variables est considerablement plus complique `a resoudre quun syst`eme unidimensionnel. La raison vient du fait que la methode generale pour la recherche de
racines est liee `
a la capacite dencadrer numeriquement la region o`
u le syst`eme
dequations poss`ede une racine particuli`ere.
On exclut de ce chapitre le cas des syst`emes lineaires qui sera traite dans
le chapitre de lalg`ebre lineaire. Le principe dominant la recherche de racines
33

Racines dequations

dequations est celui de methodes iteratives, o`


u en partant dune valeur dessai
(ou un couple de valeurs dessai), on sapproche de plus en plus pr`es de la
solution exacte. Il est evident quune estimation de depart raisonnable associee
`a une fonction f qui varie suffisamment lentement est necessaire pour obtenir
une convergence vers la solution recherchee.
Nous allons considerer le probl`eme unidimensionnel pour lequel plusieurs
methodes sont disponibles afin de choisir la methode la mieux adaptee compte
tenu des informations que lon dispose sur la fonction f . Une derni`ere partie de
ce chapitre sera consacree aux methodes plus specifiques pour la recherche de
racines de polyn
omes

4.2

Dichotomie

Comme nous lavons mentionne ci-dessus, la cle de la recherche de racines


dequations repose sur lexistence dun encadrement prealable de cette racine.
Sil existe un couple (a, b) tel que le produit f (a)f (b) < 0 et si la fonction est
continue, le theor`eme de la valeur intermediaire nous dit que fonction sannule
au moins une fois `
a linterieur de cet intervalle.
La methode de dichotomie est une methode qui ne peut pas echouer, mais
sa rapidite de convergence nest pas la meilleure en comparaison avec les autres
methodes. Lidee de cette methode est la suivante : soit une fonction f monotone
sur un intervalle [a0 , b0 ] telle que f (a0 )f (b0 ) < 0 , on sait alors quil existe une
et une seule racine comprise dans cet intervalle.
Lalgorithme de la methode de dichotomie est le suivante : tout dabord, on
0
calcule f ( a0 +b
2 ).
0
Si f ( a0 +b
efinit un nouvel encadrement de la racine par
2 )f (a0 ) < 0, on d
le couple (a1 , b1 ) tel que
a1 = a0
a0 + b0
b1 =
.
2

(4.3)
(4.4)

0
Si f ( a0 +b
efinit un nouvel encadrement de la racine
2 )f (a0 ) > 0, alors on d
par le couple (a1 , b1 ) tel que

a0 + b0
2
b1 = b0 .

a1 =

(4.5)
(4.6)

En iterant cette methode, on obtient une suite de couple (an , bn ) telle que
n = bn an verifie la relation
n
n+1 =
(4.7)
2
o`
u 0 = (b0 a0 )/2 Cela signifie que si lon se fixe la tolerance  qui represente
la precision `
a laquelle on souhaite obtenir la racine, on a un nombre diterations
`a effectuer egal `
a


|b0 a0 |
n = ln2
(4.8)

34

4.3 Methode de Ridder

o`
u la notation ln2 signifie le logarithme en base 2.
Le choix de la valeur de la tolerance necessite quelques precautions. Si la
racine recherchee est de lordre de lunite, on peut tr`es raisonnablement choisir 0
de lordre de 106 `
a 1013 selon que lon travaille en simple ou double precision.
Par contre pour une racine dont la valeur est de lordre de 1010 , une precision
de 104 sera la valeur maximale que lon peut atteindre en double precision.
Inversement, pour une racine proche de zero, la precision peut etre meilleure
que 1014 .

4.3
4.3.1

M
ethode de Ridder
M
ethode de la position fausse

La methode de dichotomie sous-exploite le fait que lon peut mieux utiliser la


fonction `
a linterieur de lencadrement effectue `a chaque iteration. La methode
de la position fausse approche la fonction de mani`ere lineaire dans lintervalle
considere.
Soit la droite y = cx+d passant par f (a0 ) et f (b0 ) en a0 et b0 respectivement,
on obtient facilement que
f (b0 ) f (a0 )
b0 a0
b0 f (a0 ) a0 f (b0 )
d=
b0 a0
c=

(4.9)
(4.10)

La nouvelle abscisse estimee pour la racine de lequation est donnee par y =


cx + d = 0, ce qui donne
d
c
a0 f (b0 ) b0 f (a0 )
=
f (b0 ) f (a0 )

x=

(4.11)
(4.12)

soit encore
f (a0 )
f (b0 ) f (a0 )
f (b0 )
= b0 (b0 a0 )
f (b0 ) f (a0 )

x = a0 (b0 a0 )

(4.13)
(4.14)

On reprend `
a ce stade le principe de lalgorithme precedent si f (x)f (a0 ) > 0
alors
a1 = x

(4.15)

b1 = b0

(4.16)

a1 = a0

(4.17)

b1 = x

(4.18)

sinon

La figure
35

Racines dequations

2
4

2
3
4

1
-2

0.5

1.5

2.5

Fig. 4.1 Schema illustrant le principe de la position fausse. Les lignes en


pointille correspondent aux interpolations lineaires. A partir de lencadrement
repere par les points 1 et 2, le processus iteratif conduit aux points 3, puis 4...

4.3.2

M
ethode de Ridder

Une variante de la methode precedente qui est tr`es efficace est basee sur
0
lalgorithme suivant. On evalue la fonction au point x3 = a0 +b
et on resout
2
lequation en z
f (a0 ) 2f (x)z + f (b0 )z 2 = 0
(4.19)
La solution positive est donnee par
p
f (x) + sgn(f (x)) f (x)2 f (a0 )f (b0 )
z=
f (b0 )

(4.20)

En appliquant la methode de la position fausse non pas `a f (a0 ), f (x3 ) et f (b0 ),


mais `
a f (a0 ), f (x3 )z et f (b0 )z 2 , on obtient une approximation de la racine,
notee x4 et donnee par
sgn(f (a0 ) f (b0 ))f (x)
x4 = x3 + (x3 a0 ) p
f (x)2 f (a0 )f (b0 )

(4.21)

Parmi les proprietes remarquables, notons que x4 est toujours situee `a linterieur
de lintervalle [a0 , b0 ]. Si le produit f (x3 )f (x4 ) est negatif, on prend lintervalle
[x3 , x4 ] comme nouvel encadrement, sinon si on consid`ere le produit f (a0 )f (x4 ) ;
si celui est negatif, le nouvel encadrement est [a0 , x4 ], sinon on prend [x4 , b]. On
it`ere ensuite le procede.
36

4.4 Methode de Brent

4.4

M
ethode de Brent

Le principe de cette methode est de combiner les avantages des methodes


precedemment exposees en utilisant, le principe de lencadrement de la racine, la
dichotomie, et linterpolation quadratique inverse. Cela necessite de connatre
trois valeurs de la fonction f dont la racine est `a determiner. Soit (a, f (a)),
(b, f (b)), et (c, f (c)) la formule dinterpolation est donnee par
(y f (a))(y f (b))c
(f (c) f (a))(f (c) f (b))
(y f (c))(y f (a))b
(y f (b))(y f (c))a
+
+
(f (a) f (b))(f (a) f (c)) (f (b) f (c))(f (b) f (a))

x=

(4.22)

En choisissant y = 0, on peut ecrire lequation (4.22) comme


x=b+

P
Q

(4.23)

o`
u P et Q sont donnes par
P = S[T (R T )(c b) (1 R)(b a)]

(4.24)

Q = (T 1)(R 1)(S 1)

(4.25)

o`
u R, S et T sexpriment comme
f (b)
f (c)
f (b)
S=
f (a)
f (a)
T =
f (c)

R=

(4.26)
(4.27)
(4.28)

P
En pratique, b est une premi`ere estimation de la racine et Q
une petite correcP
tion. Quand Q 0 la valeur de Q peut devenir tr`es grande et literation par la
methode de Brent est remplacee par une iteration de dichotomie.

4.5

Newton-Raphson

Toutes les methodes precedentes ne necessitaient que la connaissance de la


fonction en differents points de lintervalle encadrant la racine. Sous reserve
que la variation de la fonction ne soit pas trop rapide, seule une hypoth`ese de
continuite est necessaire.
La methode de Newton-Raphson necessite de plus que la fonction f dont
on cherche `
a determiner une racine, soit derivable au voisinage de celle-ci.
Les iterations successives de la methode de Newton-Raphson sont basees sur
le developpement limite de la fonction autour dun point
f (x + ) = f (x) + f 0 (x) +
37

f 00 (x) 2
+ ...
2

(4.29)

Racines dequations

Si est suffisamment petit, on peut negliger les termes non lineaires et une
estimation de la racine est donnee par f (x + ) = 0.
=

f (x)
f 0 (x)

(4.30)

On voit immediatement quil est necessaire que la derivee de la fonction ne


sannule pas dans le voisinage de x, sous peine que lestimation de devienne
tr`es grande et ne permette pas `a la methode de converger.
Si les conditions precedemment enoncees sont verifiees, on a une methode
qui converge de mani`ere quadratique.
En effet, la relation de recurrence entre estimations successives est donnee
par
f (xi )
xi+1 = xi 0
(4.31)
f (xi )
En posant i+1 = xi+1 x, o`
u x est la racine exacte, on a
i+1 = i

f (xi )
f 0 (xi )

(4.32)

Si on utilise un developpement limite de f au deuxi`eme ordre au point xi (ce


qui suppose que la fonction est deux fois derivable au voisinage de la racine),
on obtient
f 00 (xi )
i+1 = 2i 0
(4.33)
2f (xi )
La methode converge donc tr`es rapidement par comparaison avec les methodes
precedentes.
A noter que si la derivee de la fonction nest pas connue analytiquement,
levaluation numerique de sa derivee est possible par une formule daccroissement
f (x + x) f (x)
f 0 (x) '
(4.34)
x
Dans ce cas, la methode de Newton-Raphson se reduit `a une methode dintersection et la convergence de celle-ci est moins rapide que la convergence
quadratique.

4.6
4.6.1

Racines de Polyn
omes
R
eduction polynomiale

La recherche de racines dun polynome se construit de la mani`ere suivante :


soit Pn (x) un polyn
ome de degre n. Si on obtient une premi`ere racine, on peut
ecrire
Pn (x) = (x x1 )Pn1 (x)
(4.35)
o`
u Pn1 (x) est un polyn
ome de degre n 1. Ainsi, theoriquement, une fois
obtenue une premi`ere racine, on peut recommencer la recherche dune autre
racine pour une polyn
ome de degre strictement inferieur. Successivement, on
poursuit cette procedure jusqu`a lobtention de lensemble des n racines du
38

4.6 Racines de Polynomes

polyn
ome Pn (x). Rappelons que les polynomes `a coefficients complexes se factorisent en un produit de mon
omes de degre 1. Cette propriete exprime le fait
que les polyn
omes `
a coefficients complexes ont lensemble de leurs racines dans
le plan complexe,
n
Y
Pn (x) =
(x xi )
(4.36)
i=1

(C est un corps algebriquement clos).

4.6.2

M
ethode de Laguerre

Les methodes de recherche de zeros de polynomes sont nombreuses et une


presentation detaillee depasse largement le cadre de ce cours. Nous avons choisi
de presenter une methode dont le principe est assez simple. La methode de
Laguerre utilise le fait que les derivees logarithmiques successives dun polynome
divergent au voisinage dune racine. En prenant le logarithme de lequation
(4.36), on obtient
n
X
ln(|Pn (x)|) =
ln(|x xi |)
(4.37)
i=1

En derivant lequation (4.37), on obtient


n

d ln(|Pn (x)|) X 1
=
dx
x xi
=

i=1
Pn0 (x)

Pn (x)
=G

(4.38)
(4.39)

En derivant lequation (4.38), il vient


n

d2 ln(|Pn (x)|) X
1
=
2
dx
(x xi )2
i=1
 0

Pn (x) 2 Pn00 (x)
=

Pn (x)
Pn (x)
=H

(4.40)

Soit la racine x1 `
a determiner, on suppose que la valeur de depart x est situee
`a une distance a de x1 et que lensemble des autres racines sont situees `a une
distance supposee identique et qui vaut b
x x1 = a
x xi = b

(4.41)
i [2, n]

(4.42)

En inserant les equations (4.41) et (4.42) dans les equations (4.38), (4.40), on
en deduit respectivement les relations suivantes
1 n1
+
=G
a
b
1
n1
+ 2 =H
2
a
b
39

(4.43)
(4.44)

Racines dequations

Apr`es elimination de b, la valeur de a est


a=

n
p
G (n 1)(nH G2 )

(4.45)

Le signe place devant la racine du denominateur est choisi tel que le denominateur soit le plus grand possible. x a devient alors la nouvelle valeur de
depart et on it`ere le processus. En combinant cette methode avec celle de la
reduction polynomiale, on peut calculer lensemble des racines. En pratique,
comme chaque racine nest determinee quavec une precision finie, il est necessaire dajouter une procedure dite de lissage pour eviter les probl`emes dinstabilite numerique.

40

Chapitre 5

Equations diff
erentielles
Contenu
5.1
5.2
5.3

5.4

5.5
5.6
5.7
5.8

5.1

Introduction . . . . . . . . . . . . . . . . . . . . .
D
efinitions . . . . . . . . . . . . . . . . . . . . . . .
Equations diff
erentielles sp
eciales . . . . . . . .
5.3.1 Introduction . . . . . . . . . . . . . . . . . . . .
5.3.2 Equations du premier ordre . . . . . . . . . . . .
5.3.3 Equation differentielles du second ordre . . . . .
5.3.4 Equation de Bessel . . . . . . . . . . . . . . . . .
5.3.5 Equation differentielle erreur . . . . . . . . . . .
5.3.6 Equation differentielle dHermite . . . . . . . . .
M
ethodes dint
egration `
a pas s
epar
e . . . . . . .
5.4.1 Introduction . . . . . . . . . . . . . . . . . . . .
5.4.2 Methode dEuler . . . . . . . . . . . . . . . . . .
5.4.3 Methode RK explicites `a un point . . . . . . . .
5.4.4 Methodes RK implicites `a un point . . . . . . . .
5.4.5 Methodes RK explicites `a 2 points intermediaires
5.4.6 Methodes RK explicites `a 3 points intermediaires
5.4.7 Formule generale des methodes RK explicites . .
M
ethode dint
egration `
a pas variables . . . . . .
5.5.1 Introduction . . . . . . . . . . . . . . . . . . . .
M
ethodes de Runge-Kutta embarqu
ees . . . .
M
ethode de Bulirsh-Stoer . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

41
42
42
42
43
44
45
45
45
45
45
46
47
47
47
48
48
49
49
49
50
51

Introduction

La resolution numerique dequations differentielles est tr`es souvent necessaire, faute de lexistence de solutions analytiques. Le but de ce chapitre est
de montrer que la meilleure methode, ou la plus efficace `a utiliser pour obtenir
une solution, necessite de connatre la nature de lequation differentielle `a resoudre. Les methodes les plus standards que nous allons presenter sont largement presentes dans les logiciels de calcul comme Maple, Matlab, Scilab, Octave, ou Mathematica, et surtout dans les biblioth`eques pour la programmation
41

Equations differentielles

(IMSL, NAG, GSL). Il est donc preferable dutiliser ces biblioth`eques plutot
que de reecrire un code peu performant et probablement faux dans un premier
temps.

5.2

D
efinitions

Soit une fonction numerique notee y(x) definie sur un intervalle de R et de


classe Cp (contin
ument derivable dordre p). On appelle equation differentielle
dordre p une equation de la forme
F (x, y, y 0 , y 00 , . . . y (p) ) = 0

(5.1)

o`
u y 0 represente la derivee premi`ere par rapport `a x, y 00 la derivee seconde,
etc... Plus generalement, on appelle syst`eme differentiel un ensemble dequations
differentielles reliant une variable x et un certain nombre de fonction yi (x)
ainsi que leurs derivees. Lordre du syst`eme differentiel correspond `a lordre de
derivation le plus eleve parmi lensemble des fonsctions.
On appelle solution de lequation differentielle (5.1) toute fonction y(x) de
classe Cp qui verifie lequation (5.1).
On appelle forme canonique dune equation differentielle une expression du
type
y (p) = f (x, y, y 0 , y 00 , . . . y (p1) )
(5.2)
Seul ce type dequations sera considere dans ce chapitre.
Il est facile de verifier que toute equation differentielle canonique peut etre
ecrite comme un syst`eme dequations differentielles du premier ordre.
Si on introduit p 1 fonctions definies comme
y1 = y
y2 = y 0
...
yp = y (p1)

(5.3)

on peut exprimer lequation (5.2) sous la forme


y10 = y2
y20 = y3
...
yp0 = f (x, y, y1 , y2 , . . . yp )

5.3
5.3.1

(5.4)

Equations diff
erentielles sp
eciales
Introduction

Une classe restreinte, mais importante, dequations differentielles ont des


solutions mathematiques sous la forme de fonctions transcendantes ou de fonctions speciales en general. Nous allons donc donner un rapide apercu de ces
42

5.3 Equations differentielles speciales

equations differentielles particuli`eres qui contiennent en autres quelques equations differentielles non-lineaires, dont limmense majorite ne peut etre resolue
que numeriquement.

5.3.2

Equations du premier ordre

Equation `
a coefficients constants
Les equations differentielles a` coefficients constants de forme generale
a

dy
+ by(x) = c(x)
dx

(5.5)

ont pour solution generale


b/ax

y(x) = e

Z


c(t) b/at
dt
e
+ cste
a

(5.6)

Equation lin
eaire
Une equation differentielle lineaire a pour forme generale
dy
+ f (x)y(x) = g(x)
dx

(5.7)

o`
u f (x) et g(x) sont des fonctions arbitraires. La solution de cette equation
differentielle est
Z

R
Rt
x f (u)du
f (u)du
y(x) = e
(
dtg(t)e
+ Cste
(5.8)

Equation de Bernouilli
Lequation de Bernouilli a pour forme generale
dy
+ f (x)y(x) + g(x)y(x)a = 0
dx

(5.9)

o`
u f (x) et g(x) sont des fonctions arbitraires. En introduisant le changement
de fonction
1

y(x) = u(x) 1a

(5.10)

lequation differentielle devient une equation differentielle du premier ordre


du
= (a 1) (u(x)f (x) + g(x))
dx
qui sintegre alors comme une equation differentielle lineaire.
43

(5.11)

Equations differentielles

Equation de Clairaut
Une equation de Clairaut est une equation de la forme
 
dy
dy
y(x) = x
+g
dx
dx

(5.12)

Ce type dequation differentielle admet une solution lineaire de la forme


y(x) = Cx + g(C)

(5.13)

o`
u C est une constante arbitraire. On peut aussi exprimer la solution de lequation sous forme parametrique
x(s) = g 0 (s)

(5.14)
0

y(s) = g(s) sg (s)

(5.15)

Equation de Riccatti
La forme dune equation de Riccatti est donnee par lexpression suivante
dy
f (x)y(x)2 g(x)y(x) h(x) = 0
(5.16)
dx
o`
u f (x), g(x) et h(x) sont des fonctions arbitraires. Il ny a pas de solutions
generales pour lequation de Riccatti. Quand h(x) = 0, on retrouve la forme
dune equation de Bernouilli dont la solution a ete donnee plus haut. La forme
dite speciale de lequation de Riccatti est definie par lequation differentielle
suivante
dy
ay(x)2 bxc = 0
(5.17)
dx
Si de plus c est de la forme
4 i
c=
(5.18)
2i 1
avec i entier relatif, on peut obtenir une expression analytique de lequation
differentielle de Riccati.

5.3.3

Equation diff
erentielles du second ordre

Equations diff
erentielles `
a coefficients constants
Les equations differentielles `a coefficients constants de forme generale
a

d2 y
dy
+b
+ cy(x) = d(x)
2
dx
dx

(5.19)

ont pour solution compl`ete


y(x) =

2
X
i=1

ui x




Z
2ad(t) uj t
bx
Ci + e a
dt
e
b2 4ac

(5.20)

o`
u les ui sont les solutions de lequation caracteristique
au2 + bu + c = 0

(5.21)

et uj est la seconde racine de lequation caracteristique quand ui est la premi`ere.


44

5.4 Methodes dintegration `a pas separe

5.3.4

Equation de Bessel

Les equations differentielles de Bessel sont definies par les equations suivantes
d2 y
dy
x2 2 + x
+ (x2 n2 )y(x) = 0
(5.22)
dx
dx
et
d2 y
dy
x2 2 + x
(x2 n2 )y(x) = 0
(5.23)
dx
dx
ce qui donne respectivement pour solutions les equations de Bessel J et Y pour
la premi`ere et les equations de Bessel modifiees I et K pour la seconde.

5.3.5

Equation diff
erentielle erreur

On appelle equation differentielle erreur lequation suivante


dy
d2 y
+ 2x
2ny(x) = 0
dx2
dx

(5.24)

o`
u n est un entier. Pour n = 0 la solution est de la forme
y(x) = c + derf (x)

(5.25)

o`
u c et d sont des constantes arbitraires. Dans le cas o`
u o`
u n = 1, la solution
est de la forme

2
(5.26)
y(x) = cx + d(ex + erf (x)x)
De mani`ere generale, la solution est une combinaison generale de fonction de
WhittakerM.

5.3.6

Equation diff
erentielle dHermite

Lequation differentielle dHermite est tr`es proche de lequation differentielle


precedente, puisque on a
d2 y
dy
2x
+ 2ny(x) = 0
2
dx
dx

(5.27)

De mani`ere generale, la solution est aussi une combinaison generale de fonction


de WhittakerM.

5.4
5.4.1

M
ethodes dint
egration `
a pas s
epar
e
Introduction

Soit lequation differentielle definie par les equations (5.4). On suppose que la
fonction f satisfait une condition de Lipschitz afin detre certain que la solution
existe, est unique et que le probl`eme est bien pose.
On cherche `
a calculer une approximation de la solution y(x) en un certain
nombre de points x1 , x2 , . . . xN de lintervalle [a, b], appele maillage de lintervalle, avec x0 = a et xN = b
45

Equations differentielles

Nous supposons que la suite des points est choisie de mani`ere `a ce que la
distance entre deux points consecutifs soit constante et on pose
(b a)
N

(5.28)

xk = a + kh

(5.29)

h=
ce qui donne

avec k = 0, 1, . . . , N
On appelle methode dintegration `a pas separe toute formule de recurrence
de la forme
yk+1 = yk + h(xk , yk , h)
k = 0, 1, . . . N

avec y0 donne

(5.30)

la fonction est supposee continue par rapport aux trois variables x, y, h.


On appelle methode `
a pas multiples les methodes telles que yk+1 depend de
plusieurs valeurs precedentes yk , yk1 , . . . ykr .

5.4.2

M
ethode dEuler

Cette methode est definie par


yk+1 = yk + hf (yk , xk )

(5.31)

avec y0 donne.
Cette methode revient `
a approximer la solution au voisinage de xk par sa
tangente et nous allons voir quelle est dordre 1. En effet, si la solution est
suffisamment derivable, on peut ecrire
y(xk + h) = y(xk ) + hy 0 (xk ) +

h2 00
y (xk + h)
2

(5.32)

avec 0 1. ce qui donne


y(xk + h) = y(xk ) + hf (yk , xk ) +

h2 00
y (xk + h)
2

(5.33)

Dapr`es la definition de la methode


1
y(xk + h) y(xk )
f (y(xk ), xk )
(y(xk + h) y(xk ) (yk (xk ), xk , h)) =
h
h
(5.34)
ou
1
y 00 (xk + h)
(y(xk + h) y(xk ) (yk (xk ), xk , h)) = h
(5.35)
h
2
Si la derivee seconde de y est bornee par une constante K dans lintervalle
dintegration [a, b], on aura
1
max k (y(xk + h) y(xk ) (yk (xk ), xk , h))k Kh
(5.36)
h
ce qui montre que la methode est dordre un.
La methode dEuler est une methode numerique peu co
uteuse numeriquement, mais peu precise quand on int`egre sur plusieurs pas de temps. Des ameliorations sont possibles d`es que lon consid`ere des points intermediaires, ce que
nous allons voir ci-dessous en considerant des methodes dites de Runge-Kutta
46

5.4 Methodes dintegration `a pas separe

5.4.3

M
ethode RK explicites `
a un point

yk,1 = yk +

h
f (xk , yk )
2

yk+1 = yk + h(1 )f (xk , yk ) + f (xk +

h
, yk,1 )
2

y0 donne
avec un nombre reel compris entre 0 et 1. Les valeurs de couramment
utilisees sont = 1, = 1/2 et = 3/4. Ces methodes sont dordre 2.

5.4.4

M
ethodes RK implicites `
a un point

La formule de recurrence est definie par la relation


yk+1 = yk + h[(1 )f (xk , yk ) + f (xk+1 , yk+1 )]

(5.37)

o`
u est un nombre reel appartenant `a lintervalle ]0, 1] (si = 0, on retrouve la
methode dEuler). Si = 1/2, la methode est dordre 2 et sappelle la methode
des trap`ezes. Si 6= 1/2, la methode est dordre 1.

5.4.5

M
ethodes RK explicites `
a 2 points interm
ediaires

Ces methodes sont definies par les relations


h
f (xk , yk )
3 

2h
h
f xk + , yk,1
= yk +
3
3



h
2h
= yk +
f (xk , yk ) + 3f xk +
, yk,2
4
3

yk,1 = yk +
yk,2
yk+1

(5.38)

ou par
yk,1 = yk +
yk,2
yk+1

h
f (xk , yk )
2



h
= yk + h f (xk , yk ) + 2f xk + , yk,1
2




h
h
= yk +
f (xk , yk ) + 4f xk + , yk,1 + f (xk+1 , yk,2 )
6
2

(5.39)

Ces deux methodes sont dordre 3. La premi`ere est parfois appelee methode de
Heun.
47

Equations differentielles

5.4.6

M
ethodes RK explicites `
a 3 points interm
ediaires

La methode suivante est de loin la plus connue et utilisee. Les relations de


recurrence sont les suivantes.
h
yk,1 = yk + f (xk , yk )
2 

h
h
yk,2 = yk + f xk + , yk,1
2
2


h
h
yk,3 = yk + f xk + , yk,2
2
2






h
h
h
f (xk , yk ) + 2f xk + , yk,1 + 2f xk + , yk,2 + f (xk+1 , yk,3 )
yk+1 = yk +
6
2
2
(5.40)
Cette methode est dordre 4.

5.4.7

Formule g
en
erale des m
ethodes RK explicites

Les methodes de Runge Kutta secrivent de mani`ere generale


K1 = h[f (xk + 1 h, yk + 1,1 K1 + 1,2 K2 + . . . + 1,n Kn )]
K2 = h[f (xk + 2 h, yk + 2,1 K1 + 2,2 K2 + . . . + 2,n Kn )]
......
Kn = h[f (xk + n h, yk + n,1 K1 + n,2 K2 + . . . + n,n Kn )]
yk+1 = yk + h[1 K1 + 2 K2 + . . . n Kn ]

(5.41)

Les coefficients sont determines afin que lordre soit le plus eleve possible. On
note A la matrice de coefficients (i,j ), le vecteur des coefficients i et le
vecteur des coefficients i .
Quand la matrice A est triangulaire inferieure stricte, ij = 0 pour j i,
on dit que la methode est explicite. Si seule la partie triangulaire superieure est
nulle, ij = 0 pour j > i, la methode est dite implicite ; sinon elle est totalement
implicite.
Une representation en forme de tableau des equations (5.41) donne
1
2
...
n

1
1,1
2,1
...
n,1

2
1,2
2,2
...
n,2

...
...
...
...
...

n
1,n
2,n
n,n

Avec cette representation, la methode Runge-Kutta explicite `a deux points


qui est dordre 4 est representee par le tableau suivant
0
1/2
1/2
1

1/6
0
1/2
0
0

1/3
0
0
1/2
0
48

1/3
0
0
0
1

1/6
0
0
0
0

5.5 Methode dintegration `a pas variables

5.5
5.5.1

M
ethode dint
egration `
a pas variables
Introduction

Un integrateur intelligent poss`ede une procedure de controle de la methode


de convergence, cest `
a dire un moyen destimer lerreur commise par le calcul
sur un pas dintegration et la possibilite de choisir en consequence un nouveau
pas si le syst`eme differentiel aborde une region o`
u la fonction prend des valeurs
plus importantes. Le calcul de cette estimation entrane un surco
ut de calcul,
quil convient de bien gerer afin de minimiser cet effort supplementaire.
Lidee la plus simple pour estimer cette erreur consiste `a calculer la solution
donnee par un algorithme (de Runge-Kutta dordre 4 par exemple) pour deux
pas dintegration differents, h et 2h. Soit y(x + 2h) la solution exacte `a x + 2h
et y(x + h) la solution exacte `
a x + h, on a
y(x + 2h) = y1 + (2h)5 + O(h6 )
5

y(x + 2h) = y2 + 2(h ) + O(h )

(5.42)
(5.43)

o`
u est une fonction qui reste constante sur lintervalle x, x + 2h `a lordre h5 .
La premi`ere equation correspond `a une integration avec un pas egal `a 2h tandis
que la seconde correspond `
a deux integrations successives avec un pas de h. La
difference
= y2 y1
(5.44)
fournit une estimation de lerreur commise avec un pas dintegration h.

5.6

M
ethodes de Runge-Kutta embarqu
ees

Une autre methode pour estimer lerreur commise par lutilisation dun pas
h est due `
a Fehlberg. Il utilise le fait quen choisissant des valeurs particuli`eres
de i (voir section 5.4.7), on peut changer lordre de levaluation de la solution
pour un pas de temps h donne.
y1 = y(x) +

y2 = y(x) +

6
X
i=1
6
X

i Ki + 0(h6 )

(5.45)

i Ki + 0(h5 )

(5.46)

i=1

ce qui conduit `
a une estimation de lerreur
=

6
X

(i i )Ki

(5.47)

i=1

Pour determiner la valeur du pas la plus adaptee, on note tout dabord que
est calcule `
a lordre h5 . Si on a un pas h1 qui donne une erreur 1 , le pas h0
donne pour une erreur 0 fixee `a lavance, est donne par la relation
1/5
0
h0 = h1
(5.48)
1
49

Equations differentielles

10

8
1

2
3

-2
0.5

1.5

2.5

3.5

Fig. 5.1 Schema illustrant le principe de la methode de Burlish-Stoer. Les


lignes en pointille correspondent aux integrations realisees avec trois pas dintegration differents. La courbe en trait plein correspond `a la solution exacte.
Il est donc possible, pour une valeur de |0 | donnee `a lavance de diminuer h0
pour obtenir une erreur plus faible ou daugmenter h0 de mani`ere raisonnable
si 1 est inferieur en valeur absolue `a |0 |.
Une difficulte apparat pour ce type de methode quand on consid`ere un syst`eme differentiel `
a plusieurs variables. Lestimation de lerreur est alors donnee `a
priori par un vecteur. La generalisation de la procedure ebauchee reste possible,
mais nous ne detaillerons pas ce type de subtilite dans ce chapitre.

5.7

M
ethode de Bulirsh-Stoer

Lidee de cette methode repose sur les trois principes suivants : la resolution
de lequation differentielle pour un accroissement de x est donnee par une
fonction qui depend de h, mais qui tend vers une limite finie (independante de
h) ; on cherche `
a estimer la valeur exacte du syst`eme differentiel `a integrer en
calculant pour differents pas et en prenant la limite dun pas tendant vers zero.
La figure 5.1 illustre graphiquement les differentes estimations de la valeur
de la fonction solution en utilisant trois pas dintegration differents. La limite
dun pas de temps nul correspond `a la solution exacte donnee par la courbe
en trait plein. Ce point est tr`es comparable `a celui de la methode de Romberg
decrite pour lintegration.
50

5.8 Conclusion

Le second principe de la methode consiste `a extrapoler cette limite non pas


sur la base de developpements polynomiaux mais de developpements en fractions rationnelles. Le troisi`eme principe consiste `a utiliser des fonctions derreur
qui sont paires en pas dintegration.

5.8

Conclusion

Les methodes exposees ci-dessus permettent dobtenir une solution de plus


en plus precise pour des syst`emes differentiels o`
u le nombre de fonctions nest
pas tr`es important. En simulation de Dynamique Moleculaire, un crit`ere de
qualite pour le choix dune methode est le respect de la propriete dinvariance
par renversement du temps, qui est une propriete satisfaite pour les syst`emes
hamiltoniens. Les algorithmes satisfaisant cette propriete sont appeles symplectiques ; un exemple de ce type dalgorithme est lalgorithme dit de Verlet dont
le principe est decrit dans le cours Simulation numerique en Physique Statistique.(http ://www.viot.fr)

51

Equations differentielles

52

Chapitre 6

Equations diff
erentielles
stochastiques
Contenu
6.1
6.2
6.3

Introduction . . . . . . . . . . . . . . . . . . . . . . .
Variables al
eatoires et processus stochastiques . . .
Processus de Wiener, bruit blanc . . . . . . . . . . .
6.3.1 Equation de diffusion . . . . . . . . . . . . . . . . . .
6.3.2 Equation de Langevin . . . . . . . . . . . . . . . . . .
6.4 Calcul dIto et
equations diff
erentielles stochastiques
6.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
6.4.2 Calcul differentiel stochastique . . . . . . . . . . . . .
6.4.3 Processus dOrstein-Uhlenbeck . . . . . . . . . . . . .
6.4.4 Mod`ele de Black-Scholes . . . . . . . . . . . . . . . . .
6.4.5 Transformee de Lamperti . . . . . . . . . . . . . . . .
6.5 M
ethodes num
eriques . . . . . . . . . . . . . . . . . .
6.5.1 Introdution . . . . . . . . . . . . . . . . . . . . . . . .
6.5.2 Schema dEuler . . . . . . . . . . . . . . . . . . . . . .
6.5.3 Schema de Milstein . . . . . . . . . . . . . . . . . . . .
6.5.4 Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . .
6.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . .

6.1

53
54
56
56
57
58
58
59
60
61
62
63
63
64
64
65
65

Introduction

Depuis les observations de Robert Brown sur le deplacement des grains de


pollen en solution et les travaux dEinstein et de Smoluchowski qui ont propose une description de ce phenom`ene, on sest rendu compte que de nombreux
situations pouvaient etre decrites en faisant intervenir des forces aleatoires :
la dynamique des particules collodales en solution est bien decrite par une
dynamique Brownienne, (voir le cours de simulation numerique en Physique
Statistique), la cinetique dune reaction chimique peut etre decrite de mani`ere
plus realiste en incorporant des fluctuations liees `a lenvironnement par laddition dun bruit aleatoire, les evolutions des marches financiers ont ete depuis
53

Equations differentielles stochastiques

ces trente derni`eres annees lobjet dune intense recherche par des modelisations
faisant intervenir des forces aleatoires,...
Le propos de ce chapitre est de donner des principes de bases pour la resolution des equations differentielles stochastiques. Sur un sujet tr`es vaste et en evolution rapide, nous serons tr`es loin de lexhaustivite. Nous allons donc rappeler
les definitions et proprietes fondamentales concernant les processus stochastiques ainsi que ceux des equations differentielles stochastiques, et nous renvoyons le lecteur `
a plusieurs ouvrages de base concernant les processus stochastiques.

6.2

Variables al
eatoires et processus stochastiques

Pour definir une variable aleatoire X, il est necessaire davoir `a la fois un


ensemble de valeurs que peut prendre la variable aleatoire X et une loi de
probabilite definissant la mani`ere dont les valeurs de cette variable aleatoire
peuvent apparaitre.
Compte tenu du fait que la variable aleatoire X prend des valeurs successives
`a chaque nouveau tirage, on associe `a chacun de ces tirages un ecoulement du
temps, et les instants successifs sont notes t1 , t2 , ..., tn , ....
Un processus stochastique est defini comme une dynamique dont les evevements successifs sont donnes par une loi de probabilite. Trois definitions sont
particuli`erement importantes pour classifier le type de processus stochastique
que lon etudie. Si on note x1 , x2 , ...xn la sequence de la variable X, on definit
la probabilite jointe de ces n valeurs successives
p(x1 , t1 ; x2 , t2 ; ...xn , tn ),

(6.1)

comme la probabilite de voir realiser la sequence de valeurs de X constituant


des valeurs (dans lordre) de x1 `a xn aux instants de t1 `a tn .
On definit alors la probabilite conditionnelle de la sequence xi , xi+1 , ...xn
arrivant aux instants ti , ti+1 , ...tn sachant la sequence x1 , x2 , ..., xi1 a eu lieu
aux instants t1 , t2 , ..., ti1 comme
p(x1 , t1 ; x2 , t2 ; ...xn , tn )
p(x1 , t1 ; x2 , t2 ; ...xi1 , ti1 ),
(6.2)
On definit la probabilite marginale p(x2 , t2 ) dune probabilite jointe p(x2 , t2 ; x1 , t1 )
comme la somme sur tous les evenements x1 qui sont apparus `a linstant t1
Z
p(x2 , t2 ) = dx1 p(x2 , t2 ; x1 , t1 )
(6.3)
p(xi , ti ; xi+1 , ti+1 ; ...xn , tn |x1 , t1 ; x2 , t2 ; ...xi1 , ti1 ) =

de mani`ere similaire, on peut generaliser ce type dequation pour la probabilite


davoir un evenements x3 `
a t3 sachant que lon a eu un evevement x1 `a linstant
t1 .
Z
p(x3 , t3 |x1 , t1 ) = dx2 p(x3 , t3 ; x2 , t2 |x1 , t1 )
(6.4)
Z
= dx2 p(x3 , t3 |x2 , t2 , x1 , t1 )p(x2 , t2 |x1 , t1 )
(6.5)

54

6.2 Variables aleatoires et processus stochastiques

Une classe particul`erement importante de processus stochastiques a ete plus


particuli`erement etudiee ; il sagit de dynamiques pour lesquelles la probabilite
conditionannelle ne depend pas de lhistoire du parcours de la particule, mais
uniquement de linstant present. En dautres termes, les processus Markoviens
sont definis par une loi de probabilite conditionnelle qui est independente des
evevements anterieurs `
a linstant present. En termes de probabilites, la probabilite conditionnelle que levenement xi apparaisse `a linstant ti est donnee par
lequation
p(xi , ti |xi1 , ti1 ; ...x2 , t2 ; x1 , t1 ) = p(xi , ti |xi1 , ti1 )

(6.6)

Ainsi un Processus Markovien ne garde la memoire que de la valeur do`


u la
variable est partie. Cette classe de processus stochastique nest pas restrictive
car elle contient de tr`es nombreux exemples physiques comme la diffusion de
particules, la simulation Monte Carlo, et aussi les modelisations des marches
financiers...
Pour un processus Markovien, lequation (6.4) se simplifie compte tenu de
la propriete, Eq. (6.13), et on obtient lequation dite de Chapman-Kolmogorov
Z
p(x3 , t3 |x1 , t1 ) = dx2 p(x3 , t3 |x2 , t2 )p(x2 , t2 |x1 , t1 )
(6.7)
Elle traduit le fait que les probabilites conditionnelles sont reliees entre elles
et ne font pas intervenit des probabilites jointes, contrairement aux processus
stochastiques en general.
Le raisonnement precedent correspondant aux processus `a evenements et
temps discr`ets peut etre generalise `a des espaces devevements continus ainsi
quune evolution `
a temps continu. Lequation de Chapman Kolmogorov peutetre aussi generalisee et apr`es calculs on obtient (dans le cas o`
u espace et temps
sont continus)
 1 2 

p(y, t|x, t0 )

=
A(y, t)p(y, t|x, t0 ) +
B(y, t)p(y, t|x, t0 )
2
t
y
2 y
Z
+ dz(W (y|z, t), p(y, t|x, t0 )| W (z|x, t)p(z, t|x, t0 ))

(6.8)

o`
u les fonctions A(x, t), B(x, t) et W(z|x, t) sont definis de mani`ere suivante :
Z
1
A(x, t) = lim
dy(y x)p(y, t + t|x, t),
(6.9)
t0 t |xy|<
1
t0 t

dy(y x)2 p(y, t + t|x, t),

B(x, t) = lim
et

(6.10)

|xy|<

1
p(x, t + t|z, t).
t0 t

W (x|z, t) = lim

(6.11)

Dans le cas o`
u lespace est discr`et et le temps continu, lequation de ChapmanKolmogorov prend alors la forme suivante
55

Equations differentielles stochastiques

p(n, t|n0 , t0 ) X
(W (n|m, t), p(m, t|n0 , t0 )| W (m|n, t)p(n, t|n0 , t0 )) (6.12)
=
t
m
Cette derni`ere equation correspond par exemple `a la dynamique Monte-Carlo
dans le cas dun mod`ele dIsing. Pour les differentes equations de ChapmanKolmogorov, il existe une infinite de solutions qui satisfont ces equations et il est
necessaire de specifier plus precisement la dynamique pour obtenir une solution
unique. Nous allons voir maitenant des processus Markoviens tr`es utiles.

6.3
6.3.1

Processus de Wiener, bruit blanc


Equation de diffusion

Quand un processus de Markov `a espace et temps continus Eq. (6.13), est tel
que W (x|z, t) = 0 pour tout temps t et x, z ainsi que A(x, t) = 0, et B(x, t) = 1
on obtient un processus de Wiener avec une equation devolution de la probabilite donnee par
p(w, t|w0 , t0 )
1 2
=
p(w, t|w0 , t0 )
t
2 w2

(6.13)

ce qui correspond `
a une equation de diffusion. La solution de cette equation est
bien entendu exacte et donnee par une Gaussienne


1
(w w0 )2
p(w, t|w0 , t0 ) = p
(6.14)
exp
2(t t0 )
2(t t0 )
Cela donne pour la valeur moyenne
< W (t) >= w0

(6.15)

< (W (t) w0 )2 >= t t0

(6.16)

et la variance
Un processus de Wiener est aussi appele mouvement Brownien puisque
lequation devolution de sa probabilite est identique `a celle obtenue par Einstein
pour la description du comportement erratique des particules en solution.
Trois proprietes essentielles caracterisent un processus de Wiener : (i) la
trajectoire est continue (quand lintervalle de temps tend vers zero, les valeurs
possibles de la position de la particule `a linstant t + t reste au voisinage
de la position de la particule `a linstant t. (ii) On peut montrer que la valeur
de la vitesse en tout point est infinie ce qui correspond au fait que la trajectoire nest pas differentiable (iii) Partant dune meme condition initiale, si
on gen`ere plusieurs dynamiques de Wiener, on obtient des trajectoires dont la
valeur moyenne est la meme, mais dont la dispersion augmente avec le temps,
car la variance crot lineairement avec le temps (voir Fig. (6.2)), (iv) la derni`ere
propriete importante concernant les processus de Wiener est liee `a lindependance statistique des increments successifs de la variable W.
56

0
5

y1

6.3 Processus de Wiener, bruit blanc

20

40

60

80

100

Fig. 6.1 Trajectoires de mouvement Brownien `a une dimension en fonction


du temps : les cinq trajectoires partent de lorigine.

6.3.2

Equation de Langevin

Lequation stochastique differentielle que lon cherche `a resoudre est lequation de type Langevin definie comme suit
dx
= a(x, t) + b(x, t)(t)
(6.17)
dt
o`
u a(x, t) et b(x, t) sont des fonctions continues et (t) est un fonction aleatoire
fluctuante variant rapidement. Sans perdre de generalite, on peut toujours imposer (`
a une redefinition pr`es de la fonctions a) que la moyenne de est nulle,
< (t) >= 0 et on impose que
< (t)(t0 ) >= (t t0 )

(6.18)

qui impose labscence de correlations entre les differents temps du processus.


La notion de bruit blanc provient du fait que si lon fait la transformee de
Fourier de la fonction de correlation temporelle definie par lequation (6.18), on
obtient une fonction independante de la frequence, ce qui signifie que toutes les
frequences sont egalement representees dans le spectre et par analogie avec le
spectre lumineux, on qualifie ce processus de bruit blanc.
Soit le processus u(t) defini par lintegrale suivante
Z t
u(t) =
dt0 (t0 )
(6.19)
0

u(t0 ) u(t)

Il est simple de verifier que u(t) et


sont statistiquement independant
pour t0 > t. En dautres termes u(t) est un processus stochastique Markovien.
De plus, on verifie que < u(t0 ) u(t) >= 0 et < (u(t0 ) u(t))2 >= t0 t, ce
qui montre que le processus u(t) est en fait un processus de Wiener. On a donc
ainsi le resultat suivant
dW (t) = (t)dt
(6.20)
57

x1

0.4

0.2

0.0

0.2

0.4

Equations differentielles stochastiques

20

40

60

80

100

t2

Fig. 6.2 Bruit blanc `a une dimension en fonction du temps


Il faut toutefois souligner quun processus de Wiener conduit `a une trajectoire
non differentiable, ce qui signifie que la definition de (t) est en fait mathematiquement delicate et lequation de Langevin nest pas a priori integrable. Il
faut donc preciser son sens ce que nous allons voir maintenant avec la procedure
introduite par Ito. Pour comprendre
simplement cette difficulte, on peut voir

que dW (t) est de lordre de dt contrairement `a une forme differentielle usuelle.

6.4
6.4.1

Calcul dIto et
equations diff
erentielles stochastiques
Introduction

Pour resoudre lequation de Langevin precedemment introduite, nous avons


`a calculer une integrale de la forme
Z

f (t)dW (t)

(6.21)

t0

o`
u W (t) est un processus de Wiener et f (t) une fonction quelconque La mani`ere
naturelle de chercher `
a calculer cette integrale est de faire une discretisation du
temps avec un intervalle de temps constant et devaluer une integrale de type
Riemann. Ainsi on a
Sn =

n
X

f (i )(W (ti ) W (ti1 ))

(6.22)

i=1

o`
u i est un temps intermediaire entre ti1 et ti .
Si on choisit maintenant f (t) = W (t), on peut calculer exactement la
58

6.4 Calcul dIto et equations differentielles stochastiques

moyenne de lintegrale sur les differentes realisations du processus de Wiener


< Sn >=
=

n
X
i=1
n
X

(Min(i , ti ) Min(i , ti1 ))

(6.23)

(i ti1 )

(6.24)

i=1

Si maintenant on choisit de prendre i comme le barycentre des extr`emites de


lintervalle de temps
i = ti + (1 )ti1
(6.25)
avec compris entre 0 et 1, on obtient pour la valeur moyenne de Sn
< Sn >= (t t0 )

(6.26)

ce qui conduit `
a avoir un resultat qui depend compl`etement du point intermediaire, meme une fois la moyenne sur les differentes realisations !
Pour definir de mani`ere la valeur dune integrale stochastique, il est necessaire de choisir le point intermediaire et le choix dIto est de prendre = 0.
Ainsi, on a
Z

f (t)dW (t) = lim

t0

n
X

f (ti1 )(W (ti ) W (ti1 ))

(6.27)

i=1

Ce choix est physiquement raisonnable car il signifie que lon choisit devaluer lintegrale en prenant une valeur de la fonction f qui est independante du
comportement du processus de Wiener dans le futur. Un respect de la causalite
en quelque sorte !
Lintegrale stochastique dIto a des proprietes un peu non intuitives. En
effet, on peut montrer en utilisant les proprietes dun processus de Wiener que
Z t
Z t
f (t)(dW (t))2 =
f (t)dt
(6.28)
t0

t0

ce qui, unefois de plus, met en evidence que la forme differentielle dW (t) est
de lordre dt

6.4.2

Calcul diff
erentiel stochastique

Soit le changement de variable dy = f (x(t), t). Si on fait un developpement


`a lordre 2 en dx, on obtient
f
dt
t
f (x, t)
2 f (x, t)
f
=
dx(t) +
dx(t)2 +
dt...
x
2x2
t

dy(t) = f (x(t + dt)) f (x(t)) +

(6.29)
(6.30)

Compte tenu de la forme differentielle de lequation de Langevin, le terme


en dx(t)2 contient des termes en dt2 , dW dt qui sont negligeables, mais il reste
59

Equations differentielles stochastiques

10

OrnsteinUhlenbeck

0.0

0.2

0.4

0.6

0.8

1.0

Time

Fig. 6.3 Exemple de trajectoire dun processus dOrnstein-Uhlenbeck


un terme dW (t)2 qui est egale `a dt que lon doit conserver. Ainsi, on obtient le
resultat suivant
f (x, t)
f (x, t) 2 f (x, t) 2
+ a(x, t)
+
b (x, t))dt
t
x
2x2
+ b(x, t)f 0 (x).dW (t)

dy(t) =(

(6.31)

Une fois ces r`egles parfaitement definies il est possible de donner un sens

a` lequation de Langevin ; sa solution est une integrale stochastique integrale


donnee par
Z t
Z t
0
0
0
x(t) x(t0 ) =
dt a(x(t ), t ) +
dW (t0 )b(x(t0 ), t0 )
(6.32)
t0

t0

Nous allons voir maintenant quelques exemples tr`es connus dequations de


Langevin avant daborder les methodes de resolution numerique.

6.4.3

Processus dOrstein-Uhlenbeck

Un procesus dOrnstein-Uhlenbeck satisfait lequation de Langevin suivante


dx
= ( x(t)) + (t)
dt

(6.33)

ou de mani`ere equivalente (et mathematiquement plus correcte), on peut ecrire


sous la forme differentielle suivante
dx = ( x(t))dt + dW (t)

(6.34)

o`
u dW (t) est la forme differentielle dun processus de Wiener.
On utilise le changement de variable suivant
y(t) = x(t)et
60

(6.35)

7
6
5
4
3
2
1

GBM(x = 1, r = 0.2, sigma = 0.4, T = 10, N = 500)

6.4 Calcul dIto et equations differentielles stochastiques

10

Time

Fig. 6.4 Exemple de trajectoire dun mouvement Brownien geometrique


En appliquant les r`egles dIto, on a
dy(t) =x(t)et dt + et dx(t)
t

=e dt + e dW (t)
On peut alors faire lintegrale stochastique, ce qui donne
Z t
t
es dW (s)
y(t) = y(t0 ) + (e 1) +

(6.36)
(6.37)

(6.38)

t0

Revenant `
a la variable initiale x(t), on obtient
t

x(t) = x(t0 )e

+ (1 e

)+

e(st) dW (s)

(6.39)

t0

La valeur moyenne `
a linstant t est donnee par
< x(t) >= x(t0 )et + (1 et )

(6.40)

tandis que la variance est donnee par


2
(1 e2t )
(6.41)

Le processus dOrnstein-Uhlenbeck est un processus de Markov qui conduit


donc une valeur moyenne qui devient independante de la condition initiale et
dont la variance est finie quand le temps devient tr`es grand.
< x(t)2 > < x(t) >2 =

6.4.4

Mod`
ele de Black-Scholes

Le mod`ele de Black-Scholes est un processus Markovien stochastique satisfaisant lequation de Langevin suivante
dS(t)
= S(t)( + (t))
dt
61

(6.42)

Equations differentielles stochastiques

o`
u S(t) est le prix de lactif sous-jacent `a linstant t. Pour les lecteurs peu
familiers au mod`eles financiers, je vous renvoie au cours de N. Sator, et bien
sur aussi `
a des ouvrages plus specialises.
On applique `
a nouveau la formule dIto en utilisant le changement de variable
y(t) = ln(S(t))
(6.43)
ce qui donne
dS(t) 2 dt

S(t)
2
2

=( )dt + dW (t)
2

dy(t) =

(6.44)
(6.45)

La solution est donnee par lintegrale stochastique suivante


y(t) = y(t0 ) + (

2
)t + W (t)
2

(6.46)

Revenant `
a la variable S(t), on obtient
S(t) = S(t0 ) exp((

2
)t + W (t))
2

(6.47)

Compte tenu de lexpression de la solution, on parle souvent de mod`ele Brownien


geometrique. La distribution de la probabilite de S est une loi log-normale, cest`a-dire une une distribution Gaussienne avec le logarithme de la variable.
Ce type de mod`ele peut etre aisement generalise pour tenir compte de comportements plus realistes, en particulier, la volatilite symbolisee par nest
generalement pas constante en fonction du temps.

6.4.5

Transform
ee de Lamperti

Avant daborder les methodes de resolution numerique, nous allons introduire la transformee de Lamperti qui est tr`es utile pour traiter de nombreux processus stochastiques Markoviens. Sous la forme differentielle (autonome) suivante
dX(t) = a(X, t)dt + b(X)dW (t)
(6.48)
On appelle la transformee de Lamperti de X, la fonction Y definie de la mani`ere
suivante
Z
Y (t) = F (X(t)) =
0

X(t)

du
b(u)

(6.49)

Avec ce changement de variable, lequation stochastique devient


dY (t) = aY (Y, t)dt + dW (t)
avec
aY (y, t) =

a(t, F 1 (y) 1 b 1

(F (y))
b(F 1 (y))
2 x
62

(6.50)

(6.51)

6.5 Methodes numeriques

La demonstration de cette propriete est un simple exercice du calcul differentiel


stochastique expose ci-dessus. Linter`et de cette transformation est quelle supprime le bruit multiplicatif de lequation differentielle stochastique initiale au
profit dune equation de Langevin non lineaire avec un bruit blanc simple. Nous
allons voir par la suite que sur le plan numerique ce changement de variable est
tr`es utile et peut ameliorer la precision numerique.

6.5
6.5.1

M
ethodes num
eriques
Introdution

De mani`ere similaire aux equations differentielles ordinaires o`


u la resolution
numerique passe par une discretisation du temps et un schema dapproximation
concernant lintervalle de temps elementaire sur lequel lintegration est faite, il
est necessaire de proceder de mani`ere similaire avec les equations differentielles
stochastiques, `
a quelques differences pr`es : (i) pour une equation ordinaire, la
trajectoire etant deterministe (en tout cas pour les exemples simples `a une
particule, oscillateur harmonique ou anharmonique), on peut controler avec la
solution exacte la qualite de lapproximation. Avec un processus de Wiener, nous
avons vu que deux trajectoires sont tr`es differentes, cette difference saccroissant
avec le temps. Si par contre, on cherche `a resoudre un processus dOrnsteinUhlenbeck, on sait que le syst`eme evolue vers une distribution stationnaire que
la variance des trajectoires est finie... (ii) Les schemas dapproximation des
methodes de resolution des equatioins differentielles sont bases sur le calcul
differentiel usuel. Dans le cas des equations differentielles stochastiques, ces
schemas reposent sur le calcul differentiel stochastique de nature assez differente.
(iii) Des questions fondamentales sur lexistence et lunicite dune solution pour
une equation existent de mani`ere similaire aux equations ordinaires.
Sans bien evidemment rentrer dans le detail qui rel`eve de travaux tr`es techniques, il y a deux cri`eres pour prouver lexistence ete lunicite dune solution
sur un intervalle donne
1. Une condition de Lipschitz qui exprime le fait que pour tout couple (x, y)
et tout t appartenant `
a lintervalle o`
u lintegration numerique doit etre
faite, il existe une constante K telle que
|a(x, t) a(y, t)| + |b(x, t) b(y, t)| K|x y|

(6.52)

2. Une condition de croissance qui exprime le fait que les variations de


a(x, t) et de b(x, t) ne sont pas trop rapides, cest-`a-dire quil existe une
constante K telle que dans lintervalle de temps de lintegration on ait la
condition
|a(x, t)|2 + |b(x, t)|2 K 2 (1 + x2 )
(6.53)
Sur le plan numerique, on parle dordre fort de convergence si une approximation discretisee en temps X dun processus continu X, representant
la borme superieure des increments de temps utilises verifie la propriete
h|X (T ) X(T )|i C
63

(6.54)

Equations differentielles stochastiques

les crochets symbolisant la valeur moyenne sur les trajectoires et C etant une
constante.

6.5.2

Sch
ema dEuler

Soit `
a nouveau la forme differentielle de lequation stochastique
dX(t) = a(X, t)dt + b(X, t)dW (t)
avec une valeur initiale X0 .
Lapproximation dEuler consiste `a utiliser une discretisation reguli`erement
espacee du temps ti = it avec t = T /N et i varie de 0 `a N .
Le schema dEuler est bien evidemment analogue `a celui que lon a pour les
equations differentielles ordinaires
Xi+1 = Xi + a(Xi , ti )(ti+1 ti ) + b(Xi , ti )(Wi+1 Wi )

(6.55)

On peut montrer que lordre fort de convergence de la methode dEuler


est egal `
a = 1/2. Facile `
a mettre en oeuvre, lalgorithme dEuler souffre de
defaults similaires `
a ceux rencontres lors des equations differentielles ordinaires,
car la precision nest pas tr`es grande et il convient de diminuer fortement le pas
de temps pour eviter les probl`emes numeriques.

6.5.3

Sch
ema de Milstein

Il est bien evidemment raisonnable de chercher davoir une methode de resolution allant au dela de cette approximation et dans cet etat desprit, Milstein
a propose une approximation du second ordre qui utilise `a nouveau le calcul
stochastique differentiel. En utilisant `a nouveau un pas de discretisation tempotrel constant, on a le schema iteratif suivant
Xi+1 = Xi + a(Xi , ti )(ti+1 ti ) + b(Xi , ti )(Wi+1 Wi )+
1
b
b(Xi , ti ) (Xi , ti )[(Wi+1 Wi )2 (ti+1 ti )]
2
x

(6.56)

Cette approximation a un ordre fort de convergence egal `a 1. Cette methode


ameliore donc les instabilites numeriques par rapport `a la methode dEuler.
Toutefois, il y a un lien entre les deux methodes dans le cas o`
u on peut realiser
une transformee de Lamperti de lequation differentielle stochastique de depart.
En effet, dans le cas o`
u lequation stochastique de depart na pas de bruit multiplicatif, comme par exemple dans lexemple du processus dOrnstein-Uhlenbeck,
la methode dEuler a un ordre de convergence fort qui devient egal `a 1. Or,
avec une transformee de Lamperti (si b(x, t) = b(x) est independant du temps),
on peut transformer lequation stochastique en une autre equation sans bruit
multiplicatif. Ainsi, on peut montrer que le schema dEuler de lequation transformee est identique au schema de Milstein sur lequation originale. Dans le cas
o`
u la transformee de Lamperti est difficile `a obtenir analytiquement, il est utile
dutiliser le schema de Milstein qui est plus precis.
64

6.6 Conclusion

6.5.4

Runge-Kutta

En continuant le parall`elisme avec les equations differentielles ordinaires, on


peut aller aller au dela et des methodes plus precises ont ete developpes. Jusqu`a
une periode recente (1996), on pensait que les methodes de type Runge-Kutta
ne pouvaient pas donner un ordre de convergence superieur `a 1.5. Cette limite
est aujourdhui depassee et il est possible de contruire de mani`ere systematique
des schemas dapproximation qui augmentent progressivement lordre fort de
convergence. Pour information, nous donnons ci-dessous une methode de RungeKutta explicite dordre 1.5
Xi+1 = Xi + a(Xi , ti )(ti+1 ti ) + b(Xi , ti )(Wi+1 Wi )+
1
[(Wi+1 Wi )2 (ti+1 ti )]
p
(b(Xi0 , ti ) b(Xi , ti ))
2
(ti+1 ti )

(6.57)

p
Xi0 = Xi + a(Xi )(ti+1 ti ) + b(Xi ) (ti+1 ti )

(6.58)

avec
Cette methode permet de realiser des simulations en nutilisant quun nombre aleatoire issu dune distribution gaussienne. Il existe bien entendu dautres
methodes dordre plus eleve, mais faisant faisant intervenir des nombres aleatoires qui ne sont pas des variables aleatoires gaussiennes, ce qui complique de
beaucoup la resolution de lequation differentielle stochastique. Toutefois, pour
des equations de Langevin sans bruit multiplicatif, il a ete developpe des algorithmes dordre eleve (jusqu`
a 4) et ne faisant intervenir que des variables
aleatoires gaussiennes.

6.6

Conclusion

Compte tenu des applications en physique et en sciences sociales et en


econometrie, le domaine des equations differentielles stochastiques est en plein
essor et lamelioration des methodes numeriques pour leur resolution lest tout
autant. Ce bref survol aurait montre, je lesp`ere, limportance de ce sujet.

65

Equations differentielles stochastiques

66

Chapitre 7

Transform
ee de Fourier rapide
et algorithmes de tri
Contenu
7.1
7.2
7.3

Introduction . . . . . . . . . . . . . . . . . . .
Propri
et
es . . . . . . . . . . . . . . . . . . . . .
Discr
etisation de la transform
ee de Fourier .

7.3.1 Echantillonage . . . . . . . . . . . . . . . . .
7.3.2 Transformee de Fourier discr`ete . . . . . . . .
7.4 Transform
ee de Fourier rapide . . . . . . . .
7.5 Algorithmes de tri . . . . . . . . . . . . . . . .
7.5.1 Introduction . . . . . . . . . . . . . . . . . .
7.5.2 Methode dinsertion . . . . . . . . . . . . . .
7.5.3 Tri `
a bulles . . . . . . . . . . . . . . . . . . .
7.5.4 Tri rapide . . . . . . . . . . . . . . . . . . . .

7.1

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.

.
.
.
.

67
68
70
70
71
72
74
74
74
75
75

Introduction

Largement utilisee en Physique, la transformee de Fourier dune fonction


dependant dune variable (par exemple du temps) est devenue si naturelle que
sa representation graphique est generalement aussi utile, voire plus, que celle
de la fonction elle-meme. Apr`es un rappel des proprietes elementaires et fondamentales des transformees de Fourier pour la resolution de probl`emes mathematiques, nous allons presenter le principe de la methode numerique de levaluation
de cette transformee. Plus specifiquement, depuis pr`es de 40 ans est apparu un
algorithme performant pour le calcul de la transformee de Fourier dont le temps
de calcul varie essentiellement comme N ln2 (N ) o`
u N est le nombre de points
o`
u la fonction f a ete evaluee. Par opposition `a une approche trop nave, o`
u
le nombre doperations crot comme N 2 cette methode a recu le nom de transformee de Fourier rapide (FFT, Fast Fourier Transform, en anglais), que toute
biblioth`eque mathematique propose generalement `a son catalogue.
Profitant du fait que lune des operations essentielles de la transformee de
Fourier est un rearrangement des elements dun tableau, nous allons voir les
67

Transformee de Fourier rapide et algorithmes de tri

principaux algorithmes de tri que lon peut utiliser pour reordonner les elements
dun tableau.

7.2

Propri
et
es

Soit une fonction f definie sur R, on appelle transformee de Fourier de f ,


la fonction f
Z +
f() =
f (t)e2it dt
(7.1)

La transformee de Fourier inverse est definie comme


Z +
f1 (t) =
f()e2it d

(7.2)

Pour une fonction f integrable, il y a identite entre la fonction f1 et la fonction


f , hormis eventuellement sur un support de R de mesure nulle.
Une autre definition de la transformee de Fourier rencontree dans la litterature est celle qui correspond `a une representation en pulsation au lieu de celle
en frequence donnee ci-dessus.
Z +

f () =
f (t)eit dt
(7.3)

La transformee de Fourier inverse correspondante est definie comme1


Z +
1
f1 (t) =
f()eit d
2

(7.6)

Avec le logiciel Maple, la transformee de Fourier est definie dune mani`ere


encore differente !
Z +

f () =
f (t)eit dt
(7.7)

avec bien entendu la transformee de Fourier inverse correspondante


Z +
1
f1 (t) =
f()eit d
2

(7.8)

Compte tenu des differentes definitions des transformees de Fourier et en


labsence de documentation precise dans certaines biblioth`eques mathematiques,
il est fortement recommande de tester la transformee de Fourier numerique que
1

Pour symetriser les expressions, la transformee de Fourier est parfois definie comme
Z +
1
f() =
f (t)eit dt
(7.4)
2

et la transformee de Fourier inverse comme


1
f1 (t) =
2

68

f()eit d

(7.5)

7.2 Proprietes

lon va utiliser, en testant une fonction dont la transformee de Fourier est connue analytiquement pour determiner de mani`ere simple la convention utilisee
dans la biblioth`eque disponible. Au del`a du principe general de la transformee
de Fourier rapide, il existe des optimisations possibles compte tenu de larchitecture de lordinateur sur lequel le programme sera execute. Cela renforce laspect
totalement inutile de la reecriture dun code realisant la dite transformee, ce
code serait en general tr`es peu performant compare aux nombreux programmes
disponibles.
Dans le cas o`
u la fonction f poss`ede des symetries, sa transformee de Fourier
presente des symetries en quelque sorte duales de la fonction initiale
Si f (t) est reelle, la transformee de Fourier des frequences negatives est
complexe conjuguee de celle des arguments positifs f() = (f()) .
Si f (t) est imaginaire, la transformee de Fourier des frequences negatives
est egale `
a lopposee du complexe conjugue de celle des arguments positifs
f() = (f()) .
Si f (t) est paire, la transformee de Fourier est aussi paire, f() = f().
Si f (t) est impaire, la transformee de Fourier est aussi impaire, f() =
f().
Si f (t) est paire et reelle, la transformee de Fourier lest aussi.
Si f (t) est impaire et reelle, la transformee de Fourier est imaginaire et
impaire.
Si f (t) est paire et imaginaire, la transformee de Fourier lest aussi.
Si f (t) est impaire et imaginaire, la transformee de Fourier est reelle et
impaire.
Des proprietes complementaires sont associees aux operations de translation
et dilatation
1
Soit f (at), sa transformee de Fourier est donnee par |a|
f ( a ).
1
t
Soit f ( ), la transformee de Fourier est donnee par f(b).
|b|

|b|

Soit f (t t0 ), la transformee de Fourier est donnee par f()e2it0 .


Soit f (t)e2it0 , la transformee de Fourier est donnee par f( 0 ).
Une identite particuli`erement utile concernant les transformees de Fourier
concerne la distribution de Dirac : soit f une fonction continue definie sur R,
La distribution est definie `
a partir de la relation suivante
Z +
dxf (x)(x x0 ) = f (x0 )
(7.9)

Ainsi, on en deduit facilement que


Z +
dx(x x0 )e2kix = e2kix0

(7.10)

et donc que
Z

dx(x)e2ikx = 1

(7.11)

Par inversion de cette relation, on a la representation integrale de la distribution

Z
+

(x) =

69

dke2ikx

(7.12)

Transformee de Fourier rapide et algorithmes de tri

De mani`ere equivalente, on montre que


Z +
1
(x) =
dkeikx
2

(7.13)

La propriete sans doute la plus importante concernant les transformees de


Fourier concerne la convolution. Soit deux fonctions f et g definie sur C, on
definit la convolution de f avec g notee f g comme
Z +
(f g)(t) =
f ( )g(t )d
(7.14)

On verifie immediatement que f g = g f . Loperateur de convolution est


commutatif, car la multiplication de deux nombres complexes lest aussi.
La transformee de Fourier de la convolution de deux fonctions f et g est
egale au produit de leurs transformees de Fourier.
\
(f
g)() = f()
g ()

(7.15)

Soit une fonction reelle f , on definit la fonction dautocorrelation comme


Z +
Cf (t) =
duf (u)f (t + u)
(7.16)

La transformee de Fourier de la fonction Cf est alors donnee par


Cf () = f()f()

(7.17)

Compte tenu du fait que f est reelle, on a f() = (f()) , ce qui donne
cf () = |f()|2
C
Cette relation est appelee theor`eme de Wiener-Khinchin.
Le theor`eme de Parseval donne que
Z +
Z +
|f (t)|2 dt =
|f()|2 d

7.3
7.3.1

(7.18)

(7.19)

Discr
etisation de la transform
ee de Fourier

Echantillonage

Dans la situation la plus frequemment rencontree, la fonction f est echantillonnee `


a intervalle regulier. Soit le pas separant deux mesures consecutives,
on a
fn = f (n)
avec n = . . . , 2, 1, 0, 1, 2, 3, . . .
(7.20)
Pour le pas de lechantillonnage , il existe une frequence critique, appelee
frequence de Nyquist,
1
c =
(7.21)
2
70

7.3 Discretisation de la transformee de Fourier

au del`
a de laquelle il nest pas possible davoir une information sur le spectre
de la fonction echantillonnee. Supposons que la fonction soit une sinusode de
frequence egale `
a celle de Nyquist. Si la fonction est maximale pour un point,
elle est minimale au point suivant et ainsi de suite.
La consequence de ce resultat est que si on sait que le support de la transformee de Fourier est strictement limite `a lintervalle [c , c ], la fonction f (t)
est alors donnee par la formule
f (t) =

+
X

fn

n=

sin(2c (t n))
(t n)

(7.22)

Si la fonction f (t) est multipliee par la fonction e21 t avec 1 qui est un
multiple de 1/, les points echantillonnes sont exactement les memes. Une
consequence de cette propriete est lapparition du phenom`ene de duplication
(aliasing en anglais). Cela se manifeste de la mani`ere suivante : supposons
que la transformee de Fourier exacte dune fonction ait un spectre plus large
que celui donne par lintervalle de Nyquist, le spectre situe `a droite se replie `a
gauche et celui `
a droite se replie `a gauche.

7.3.2

Transform
ee de Fourier discr`
ete

Soit un nombre fini de points o`


u la fonction f a ete echantillonnee
avec k = 0, 1, 2, . . . , N 1

fk = f (tk )

(7.23)

Avec N nombres fournis, il semble evident que lon peut obtenir N frequences
pour la transformee de Fourier. Soit la suite
n =

n
N

avec n = N/2, . . . , 0, . . . , N/2

(7.24)

Le nombre de frequences est a priori egale `a N + 1, mais comme les bornes


inferieure et superieure de lintervalle en frequence correspondent aux bornes
definies par la frequence critique de Nyquist, les valeurs obtenues pour n =
N/2 et n = N/2 sont identiques et nous avons donc bien N points independants.
Soit un nombre fini de points note hk , on definit la transformee de Fourier
discr`ete comme
N
1
X
n = 1
h
hk e2ikn/N
(7.25)
N
k=0

La transformee de Fourier discr`ete inverse est donnee par


hk =

N
1
X

n e2ikn/N
h

(7.26)

n=0

Ces transformees de Fourier sont definies independamment des abscisses correspondant aux valeurs originales o`
u la fonction h a ete evaluee. Il est toutefois
71

Transformee de Fourier rapide et algorithmes de tri

possible de relier la transformee de Fourier discr`ete `a la transformee de Fourier


de depart par la relation
f(n ) ' fn
(7.27)
2

Notons que les proprietes etablies pour les transformees de Fourier au debut de
ce chapitre, selon le cas o`
u la fonction est paire ou impaire, reelle ou imaginaire
se transposent compl`etement au cas de la transformee de Fourier discr`ete. Les
r`egles concernant la convolution se retrouvent bien evidemment et par exemple
lexpression du theor`eme de Parseval est alors
N
1
X

k |2 =
|h

k=0

N 1
1 X
|hk |2
N

(7.30)

k=0

Le passage de la transformee de Fourier continue `a la transformee de Fourier


discr`ete est en fait un changement de mesure, ce qui explique que les proprietes
etablies pour lune restent vraies pour la seconde.
On peut noter que les differences entre la transformee de Fourier discr`ete et
son inverse sont au nombre de deux : un changement de signe dans lexponentielle complexe et un facteur de normalisation en 1/N . Ces faibles differences
expliquent pourquoi les procedures sont souvent identiques pour le calcul de la
transformee de Fourier et de son inverse dans les biblioth`eques mathematiques.

7.4

Transform
ee de Fourier rapide

Lidee de base de la transformee de Fourier rapide repose sur la remarque


suivante : posons
W = e2i/N
(7.31)
La composante de Fourier de h sexprime alors comme
N
1
X

n =
h

W nk hk

(7.32)

k=0

Ainsi le vecteur h de composante hk est multiplie par une matrice de coefficients


ank = W nk . Sans utiliser dastuces particuli`eres, le temps de calcul pour une
telle operation est alors en N 2 . Pour ameliorer de mani`ere spectaculaire la
rapidite de ce traitement, on note que la transformee de Fourier discr`ete de
longueur N peut etre ecrite comme la somme de deux transformees de Fourier
discr`ete chacune de longueur N/2. En effet, en supposant que le nombre N est
2

La transformee de Fourier continue est approchee de la mani`ere suivante


Z +
f(n ) =
f (t)e2in t dt

(7.28)

N
1
X

fk e2in tk

k=0

72

(7.29)

7.4 Transformee de Fourier rapide

pair, on peut separer la contribution des termes pairs et celle des termes impairs
dans lequation
Fk =

N
1
X

e2ijk/N fj

(7.33)

j=0
N/21

N/21

2i(2j)k/N

f2j +

j=0

(7.34)

j=0

N/21

e2i(2j+1)k/N f2j+1
N/21

2ijk/(N/2)

f2j + W

j=0

e2ijk/(N/2) f2j+1

(7.35)

j=0

=Fkp + W k Fki

(7.36)

o`
u Fkp represente la ki`eme composante de Fourier pour les composantes paires
de la fonction de depart et Fki represente la ki`eme composante de Fourier pour
les composantes impaires de la fonction de depart. A noter que ces deux composantes sont periodiques en k avec une periode N/2.
Pour iterer ce type de procedure, nous allons supposer que le nombre de
points de la fonction de depart est dorenavant une puissance de deux. On peut
alors exprimer chaque composante de Fourier en fonction de deux nouvelles
composantes de Fourier sur un intervalle de longueur N/4 et ainsi de suite. Une
fois obtenue un intervalle de longueur 1, on a la transformee de Fourier pour
cet intervalle qui est egale au nombre fn correspondant. Le nombre dindices
pour caracteriser ce nombre est egal `a ln2 (N )
Fkiipip...ppi = fn

(7.37)

On remarque donc que pour chaque valeur de n on a un alphabet fini dindice


iipip . . . ppi constitue de i et de p. Cette correspondance est biunivoque. Si on
pose que i = 1 et p = 0, on a lexpression inversee en binaire de chaque valeur
de n.
La procedure de transformee de Fourier rapide est alors constituee dune premi`ere operation de tri pour reordonner la matrice selon la lecture de lalphabet
genere, puis on calcule successivement les composantes de Fourier de longueur
2, puis 4, jusqu`
a N . La figure 7.1 illustre le nombre doperations `a effectuer
pour inverser les elements du tableau selon le mecanisme du renversement de
bits.
De nombreuses variantes de cet algorithme original sont disponibles, qui permettent dobtenir la transformee de Fourier pour un nombre de points different
dune puissance de deux.

73

Transformee de Fourier rapide et algorithmes de tri

000

000

000

001

001

001

010

010

010

011

011

011

100

100

100

101

101

101

110

110

110

111

111

111
(b)

(a)

Fig. 7.1 Schema illustrant le principe de la mise en ordre du tableau par


renversement de bits. (a) Sur un tableau de 8 elements etiquettes en binaire, on
note les operations de deplacements. (b) Bilan des deplacements `a effectuer :
deux operations dechange delements.

7.5
7.5.1

Algorithmes de tri
Introduction

Un tableau est une suite delements reperes par un entier appele indice. Une
operation tr`es classique consiste `a changer lordre initial (qui peut etre aleatoire)
en respectant un crit`ere defini par lutilisateur. Une operation de base consiste `a
trier des nombres selon un ordre croissant ou decroissant. Une operation voisine
est la recherche du plus petit ou du grand element de ce tableau.
Les operations precedentes sont destructrices dans le sens o`
u lordre initial
du tableau est perdu une fois loperation effectuee. On peut en creant un tableau
supplementaire construire une correspondance entre lordre obtenu par un tri et
lindice occupe par lelement du tableau correspondant dans le tableau initial.
Si, au lieu dutiliser un tableau de nombres, on dispose dun tableau dobjets,
cest-`
a-dire un tableau dont lelement de base est une structure comprenant
des champs, qui sont eux-memes des nombres et des chanes de caract`eres,
les operations de tri peuvent aussi realisees sur plusieurs champs de mani`ere
sequentielle ; cette operation est appelee operation de tri multiple.

7.5.2

M
ethode dinsertion

Supposons que lon veuille trier des elements dun tableau de nombre selon
un ordre croissant.Lalgorithme de la methode dinsertion est le suivant : on
74

7.5 Algorithmes de tri

place un `
a un les elements du tableau `a la bonne place du nouveau tableau
rempli des elements tries. On proc`ede donc de mani`ere iterative jusquau dernier
element du tableau `
a trier. On peut choisir de construire un nouveau tableau
ou de reutiliser le tableau existant. Pratiquement, on proc`ede de la mani`ere
suivante. On choisit le premier element : il est automatiquement bien place
dans un tableau `
a un element. On tire le second element : on augmente dun
element la taille du tableau `
a trier ; soit le nouvel element est plus grand que
le precedent et on place cet element `a la deuxi`eme place, sinon, on deplace
lelement initialement place `
a la seconde place et lon place le nouvel element
`a la premi`ere place. On choisit alors un troisi`eme element ; on teste si celui-ci
est plus grand que le deuxi`eme. Si le test est positif, cet element est place en
troisi`eme place, sinon on deplace lelement place en numero deux en numero
trois et on teste si le nouvel element est plus grand que lelement un. Si le
test est positif, on place le nouvel element en numero deux, sinon on deplace
le premier element en deux et on place le nouvel element en un. On continue
cet algorithme jusquau dernier element du tableau `a trier. Il est facile de voir
que le nombre doperations en moyenne evolue comme N 2 , o`
u N est le nombre
delements `
a trier. Comme nous allons le voir ci-dessous les algorithmes de
type tri rapide sont beaucoup plus efficaces car ceux-ci dependent du nombre
delements comme N log2 (N ). Neanmoins, un algorithme de type insertion reste
suffisamment efficace si N < 20.

7.5.3

Tri `
a bulles

Le tri `
a bulles es un algorithme en N 2 qui op`ere de la mani`ere suivante :
On compare les deux premiers elements du tableau ; si lordre est correct, on ne
fait rien sinon on echange les deux elements : on passe alors au couple suivant
constitue des elements 2 et 3, et on effectue un test `a nouveau. Apr`es N 1
operations de ce type, on a place le plus grand element du tableau en derni`ere
position ; on peut alors recommencer sur le tableau restant des N 1 elements ;
cet algorithme est bien evidemment un algorithme en N 2 et ne peut servir que
pour des valeurs de N tr`es modestes.

7.5.4

Tri rapide

Connu par son nom anglais quicksort, le tri dit rapide proc`ede de la
mani`ere suivante : on prend le premier element du tableau `a trier, note a1 .
On construit avec les autres elements deux sous tableaux : le premier contient
les elements plus petits que a1 et le second les elements plus grands. On peut
placer a1 `
a la bonne place dans le tableau final et on applique lalgorithme du
tri rapide sur chacun des deux sous-tableaux. On peut montrer quen moyenne
lalgorithme est en N log2 (N ), mais il est possible dobtenir des situations o`
u
lalgorithme est en N 2 .
Des variantes de cet algorithme puissant existent pour par exemple eviter
la recursivite qui penalise la rapidite dexecution du programme. A nouveau,
il est inutile, hormis pour des raisons pedagogiques, de chercher `a reecrire un
programme pour ces algorithmes, que cela soit en programmation o`
u de nom75

Transformee de Fourier rapide et algorithmes de tri

breuses biblioth`eques sont disponibles, ou dans les logiciels scientifiques o`


u les
instructions de tri sont disponibles, mais il convient de tester la methode la plus
adaptee car le desordre initial du tableau `a trier influe de mani`ere significative
sur la performance des algorithmes.

76

Chapitre 8

Equations aux d
eriv
ees
partielles
Contenu
8.1
8.2

8.3
8.4

8.5

8.6

8.1

Introduction . . . . . . . . . . . . . . . . . . . . . . .
M
ethode de la caract
eristique . . . . . . . . . . . . .
8.2.1 Equation du premier ordre lineaire et quasi-lineaire .
8.2.2 Surface solution . . . . . . . . . . . . . . . . . . . . .
8.2.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . .
Classification des EPDL du second ordre . . . . . .
Equations avec conditions aux fronti`
eres . . . . . .
8.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . .
8.4.2 Differences finies . . . . . . . . . . . . . . . . . . . .
8.4.3 Methodes matricielles . . . . . . . . . . . . . . . . .
8.4.4 Methodes de relaxation . . . . . . . . . . . . . . . .
8.4.5 Methodes de Fourier . . . . . . . . . . . . . . . . . .
Equations avec conditions initiales . . . . . . . . . .
8.5.1 Equations `
a flux conservatif . . . . . . . . . . . . . .
8.5.2 Une approche nave . . . . . . . . . . . . . . . . . .
8.5.3 Crit`ere de Stabilite de Von Neumann . . . . . . . . .
8.5.4 Methode de Lax . . . . . . . . . . . . . . . . . . . .
8.5.5 Methode de Crank-Nicholson . . . . . . . . . . . . .
8.5.6 Methode `
a contre-vent . . . . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.

.
.
.
.
.
.
.
.
.
.
.

77
78
78
78
81
81
84
84
84
85
85
85
87
87
88
89
90
91
92
93

Introduction

Les equations aux derivees partielles interviennent dans de nombreux domaines de physique, qui comprennent les probl`emes de diffusion, les phenom`enes
de propagation, ainsi que le domaine de la mecanique des fluides decrite par
les equations hydrodynamiques comme celles de Navier-Stokes et lequation de
Schr
odinger dependante du temps pour la mecanique quantique. Ces equations
77

Equations aux derivees partielles

differentielles nont generalement pas de solutions analytiques et une resolution


numerique de ces equations est alors necessaire.
Une equation aux derivees partielles est une relation liant une fonction de n
variables `
a ses derivees partielles. Lordre de lequation est donne par lordre le
plus eleve des derivees partielles apparaissant dans lequation. La forme generale
dune equation aux derivees partielles lineaires est
L[f (x)] = g(x)

(8.1)

o`
u un x est un vecteur de composante (x1 , x2 , . . . , xn ) et o`
u L est un operateur
defini par la relation
L = p0 (x) +

n
X

pi (x)i +

i=1

n
X

pij (x)i j + . . .

(8.2)

i,j=1

Si g(x) = 0, on dit que lequation est homog`ene.

8.2
8.2.1

M
ethode de la caract
eristique
Equation du premier ordre lin
eaire et quasi-lin
eaire

Il existe une classe dequations aux derivees partielles dont on peut obtenir
les solutions en utilisant une methode de resolution de type geometrique, la
methode de la caracteristique. Ces equations sont des equations aux derivees
partielles du premier ordre qui sont lineaires pour lordre de la derivation, mais
quelconques pour la dependence dans la fonction. Plus explicitement, ces equations correspondent `
a la forme suivante
P (x, y, f )

f
f
+ Q(x, y, f )
= R(x, y, f )
x
y

(8.3)

o`
u P , Q et R sont des fonctions scalaires `a trois variables et f une fonction de
deux variables x et y. La methode de resolution que nous allons presenter sapplique aux equations du premier ordre avec une nombre de variables superieur
`a deux, mais pour une representation geometrique de cette methode et pour la
clarte de lexpose, nous nous limitons `a une equations aux derivees partielles de
deux variables.

8.2.2

Surface solution

Nous cherchons `
a exprimer la solution de lEDP du premier ordre sous la
forme dune equation de surface suivante
g(x, y, f ) = 0

(8.4)

En exprimant la differentielle de cette equation, on obtient


dg =

g
g
g
dx +
dy +
df
x
y
f
78

(8.5)

8.2 Methode de la caracteristique

O
Fig. 8.1 Schema illustrant la geometrie de la surface solution, le vecteur
gradient qui est perpendiculaire `a la surface et le vecteur V
.
Vu que f (x, y) est une solution de lequation (8.3), on a
df =

f
f
dx +
dy
x
y

(8.6)

En eliminant df dans lequation (8.5), on obtient la differentielle de g sous la


forme




g f
g
g f
g
dg =
+
dx +
+
dy
(8.7)
x f x
y f xy
Comme les variables x et y sont independantes, on doit necessairement avoir
g
g f
+
=0
x f x
g
g f
+
=0
y f y
Comme par hypoth`ese on a

g
f

(8.8)
(8.9)

6= 0, on en deduit que
g

f
= x
g
x

(8.10)

f
=
y

(8.11)

f
g
y
g
f

79

Equations aux derivees partielles

En inserant les equations (8.10)- (8.11) dans lequation (8.3), il vient


P (x, y, f )

g
g
g
+ Q(x, y, f )
+ R(x, y, f )
=0
x
y
f

(8.12)

En introduidant le vecteur gradient `a la surface g(x, y, f ) = 0, on


g =

g
g
g
i+
j+
k
x
y
f

(8.13)

Par definition le vecteur f est un vecteur normal `a la surface au point r de


coordonnees (x, y, f ). On definit un vecteur V tel que
V = P (x, y, f )i + Q(x, y, f )j + R(x, y, f )k

(8.14)

Ainsi lequation (8.12) peut sexprimer de mani`ere vectorielle


g.V = 0

(8.15)

Comme le vecteur gradient est un vecteur normal `a la surface g(x, y, f ) = 0),


cela signifie que V est un champ de vecteur qui vit sur la surface definie par
lequation g = 0 (voir fig.8.1). Pour determiner la caracteristique de ce champ
de vecteur, on doit resoudre lequation differentielle suivante
dr(t)
=V
dt

(8.16)

r(t) = x(t)i + y(t)j + f (t)k

(8.17)

o`
u r(t) est un vecteur

avec t qui est un param`etre caracterisant la caracteristique.


On a de facon evidente
dx(t)
dy(t)
df (t)
dr(t)
=
i+
j+
k
dt
dt
dt
dt

(8.18)

Par identification avec les equations (8.14) et (8.17), on obtient le syst`eme


dequations differentielles suivant
dx(t)
= P (x, y, f )
dt
dy(t)
= Q(x, y, f )
dt
df (t)
= R(x, y, f )
dt

(8.19)
(8.20)
(8.21)

Il est `
a noter que deux de ces trois equations differentielles sont independantes.
La methode de la caracteristique permet de reduire une equation differentielle
du premier ordre lineaire ou quasi-lineaire en un syst`eme dequations differentielles du premier ordre, bien plus facile `a trater pour obtenir une solution.
80

8.3 Classification des EPDL du second ordre

8.2.3

Exemple

Pour illustrer la methode decrite precedemment nous allons resoudre un


exemple dequation aux derivees partielles du premier ordre. Soit lequation
f
f
+
=f
x
t

(8.22)

f (x, 0) = x

(8.23)

2xt
avec la condition initiale

En utilisant les equations de la caracteristique, on obtient le syst`eme dequations


differentielles suivant
dx
df
= dt =
2xt
f

(8.24)

En integrant la premi`ere equation, on obtient


ln(|x/x0 |) = t2
soit une equation pour x

x = x0 e t

(8.25)

(8.26)

En integrant la troisi`eme equation differentielle, on a


f = F (x0 )et

(8.27)

En inserant lequation (8.26) dans lequation (8.27) on obtient la solution generale


de lEDP (8.22)
2
f = F (xet )et
(8.28)
Pour determiner la fonction F , on va utiliser la condition initiale. A t = 0,
lequation generale donne
f = F (x)
(8.29)
qui doit etre egal `
a x. On en deduit facilement que la fonction F est telle que
F (x) = x. On peut alors ecrire la solution de lequation (8.22) avec la condition
initiale et lon a
2
f = xett
(8.30)

8.3

Classification des EPDL du second ordre

Pour les equations aux derivees partielles du second ordre, nous allons nous
limiter aux equations aux derivees partielles lineaires. Une premi`ere classification non exhaustive fait apparatre trois types dequations : equations hyperboliques, paraboliques et elliptiques. Cette classification provient de lanalyse
des derivees partielles dordre le plus eleve. Pour les equations dordre deux,
une solution unique existe si la relation appelee equation aux caracteristiques
p
(p12 + p21 (p12 + p21 )2 4p11 p22
6= 0
(8.31)
2p11
81

Equations aux derivees partielles

Conditions
aux
limites
3

1
Conditions initiales
0
-1

Fig. 8.2 Schema illustrant le principe de la resolution dune equation aux


derivees partielles avec des conditions initiales et des conditions aux limites :
La propagation de la solution le long de laxe temporel (axe vertical) se fait par
tranche horizontale.
est vraie. Si la valeur du membre de gauche de lequation (8.31) est reelle, on
dit que lon a une equation hyperbolique. Si la valeur est complexe, on dit que
lon a une equation elliptique et si elle est nulle, on a une equation parabolique.
On peut illustrer ces trois categories par les exemples physiques suivants :
Equation hyperbolique. La propagation des ondes dans un milieu continu (unidimensionnel) obeit `a lequation suivante
2
2 u(x, t)
2 u(x, t)
=
c
t2
x2

(8.32)

o`
u u(x, t) peut designer une variable scalaire comme la densite locale
(x, t) ou une variable vectorielle comme la vitesse locale v(x, t).
Equation parabolique. La diffusion de particules dans un milieu continu
obeit `
a lequation suivante
(x, t)
2 (x, t)
=D
t
x2

(8.33)

o`
u D est la constante de diffusion et (x, t) la densite locale instantanee
des particules diffusantes.
Equation elliptique. En dimensions deux, le potentiel coulombien induit
par une densite de charges electriques satisfait lequation suivante (avec
82

8.3 Classification des EPDL du second ordre

6
Conditions aux bords
5

0
-1

Fig. 8.3 Schema illustrant le principe de la resolution dune equation aux


derivees partielles avec des conditions aux bords : lensemble des points de la
grille doit etre garde tout au long du calcul.
des unites choisies de mani`ere appropriee)
(x, y) =

2 V (x, y, t) 2 V (x, y, t)
+
x2
y 2

(8.34)

o`
u (x, y) est la densite locale de charge et V (x, y) le potentiel electrostatique `
a determiner.
La resolution numerique repose sur une distinction importante entre ces
type dequations : Les deux premi`eres equations correspondent `a une evolution
temporelle tandis que la troisi`eme equation correspond `a un probl`eme statique.
Dans le premier cas, la solution est donnee `a partir dune fonction (ou condition
initiale) que lon doit propager le long de laxe du temps ; en complement on
doit tenir compte des conditions au limites du probl`eme. En discretisant la
resolution, on obtient un schema du type de celui illustre par la figure 8.2.
En effet pour une equation dependante du temps du type equation de diffusion, la resolution de lequation se fait pour un temps donne en fonction des
valeurs de la fonction `
a linstant anterieur precedent (ou de quelques instants
anterieurs precedents). Il nest donc pas necessaire de garder en memoire la
solution `
a tous les temps.
Pour lequation de Poisson, la solution est unique une fois donnee la fonction (x, y). La solution ne pouvant etre obtenue numeriquement directement
`a partir de lintegration `
a partir dune fronti`ere du syst`eme, il est necessaire de
proceder `
a des reajustements, ce qui implique de garder en memoire la totalite
83

Equations aux derivees partielles

de valeurs de la fonction V `
a determiner tout au long de la resolution numerique
(voir figure 8.3).

8.4
8.4.1

Equations avec conditions aux fronti`


eres
Introduction

Le prototype de ces equations est la resolution de lequation de Poisson. Ces


equations sont a priori plus simples `a resoudre car le probl`eme de la stabilite
de lalgorithme se pose moins frequemment que dans pour des equations avec
conditions initiales, que nous allons discuter dans la section suivante.
Avant de proceder `
a la resolution numerique, il est important de bien distinguer le type de conditions aux fronti`eres du probl`eme : condition de Dirichlet, qui specifie les valeurs des points `a la fronti`ere ; condition de Neumann qui
specifie les valeurs des gradients normaux `a la fronti`ere, voire des conditions
mixtes.

8.4.2

Diff
erences finies

La premi`ere etape consiste `a choisir un maillage regulier de lespace (que


nous choisissons bidimensionnel dans notre exemple). Soit la fonction de deux
variables V (x, y)
xi = x0 + j

j = 0, 1, ..., J

(8.35)

yk = x0 + k

k = 0, 1, ..., K

(8.36)

o`
u est le pas de la grille. On note Vjk = V (xj , yk ). On approxime le laplacien
par la formule de difference finie suivante
Vj+1,k + Vj1,k 2Vj,k
Vj,k+1 + Vj,k1 2Vj,k
+
= jk
2

(8.37)

que lon peut ecrire simplement


Vj+1,k + Vj1,k + Vj,k+1 + Vj,k1 4Vj,k = 2 jk

(8.38)

Ce syst`eme dequations lineaires peut sexprimer sous une forme matricielle en


utilisant lindexation suivante
i = j(K + 1) + k

j = 0, 1, ..., J et k = 0, 1, ..., K

(8.39)

Lequation (8.37) est correcte pour lensemble des points interieurs au rectangle.
Pour les points aux fronti`eres, les valeurs de V ou de ces derivees sont donnees
par le probl`eme lui-meme. On obtient finalement la structure matricielle suivante.
A.Y = b
(8.40)
La matrice A est une matrice tridiagonale avec des franges, le vecteur Y est un
vecteur `
a JK composantes (Yi Vjk ) et le vecteur b `a JK composantes (bi
84

8.4 Equations avec conditions aux fronti`eres

jk ) Ce type de representation est similaire pour des equations elliptiques du


second ordre
2V
V
2V
a(x, y) 2 +b(x, y)
+ c(x, y) 2
x
x
y
V
2V
+ d(x, y)
+ e(x, y)
+ f (x, y)V = g(x, y)
(8.41)
y
xy
En choisissant une classification tr`es rapide, on peut dire quil existe trois
types de methodes pour resoudre ce type dequations : les methodes de relaxation, les methodes de Fourier et les methodes matricielles directes.

8.4.3

M
ethodes matricielles

Les methodes matricielles ou methodes directes consistent `a determiner les


valeurs de la fonction V en calculant la matrice inverse de A. La difficulte
de cette methode repose sur la taille considerable de la matrice que lon doit
inverser. En effet, si on consid`ere un reseau bidimensionnel dont la taille est
100100, et compte tenu de lequation (8.39), la matrice A est alors une matrice
carree de taille 10000 10000, contenant 108 elements. Il est donc necessaire
que cette matrice soit tr`es creuse et de structure simple afin que le calcul de
son inverse soit effectue avec un algorithme rapide.
Pratiquement, la matrice inverse est facile `a obtenir quand les elements de
matrice ne dependent pas des abscisses du reseau (cas dune equation elliptique
`a coefficients constants).

8.4.4

M
ethodes de relaxation

Les methodes de relaxation reposent sur le schema iteratif suivant. On decompose la matrice A comme
A=EF

(8.42)

o`
u E est une matrice facilement inversible et F le reste. On peut ecrire alors
que
E.u = F.u + b
(8.43)
En choisissant un vecteur u(0) , on proc`ede `a la succession de calculs suivants
E.u(r) = F.u(r1) + b

(8.44)

La convergence de la methode est obtenue quand la difference entre deux valeurs


de la fonction
a , ku(r) u(r1) k < . La norme kuk designe par
P est2inferieure `
exemple ij |uij | .

8.4.5

M
ethodes de Fourier

Principe
On exprime la transformee de Fourier discr`ete de V dans les deux directions
Ox et Oy.
K1 L1
1 XX
Vkl =
Vmn e2ikm/K e2iln/L
(8.45)
KL
m=0 n=0

85

Equations aux derivees partielles

Une expression analogue pour la fonction peut etre obtenue


K1 L1
1 XX
kl =
mn e2ikm/K e2iln/L
KL

(8.46)

m=0 n=0

En prenant la transformee de Fourier discr`ete de lequation (8.38), les composantes de Fourier de V sont reliees `a celles de par la relation


Vmn e2im/K + e2im/K + e2in/L + e2in/L 4 =
mn 2
(8.47)
ce qui peut se reecrire plus simplement pour si n et m differents de zero comme
Vmn =

mn 2

2 cos 2m
+ cos
K

2n
L

(8.48)

La relation algebrique entre les composantes de Fourier de V et de indique


que le calcul dans lespace de Fourier est elementaire et revient `a multiplier
individuellement chaque composante de par un scalaire.
La methode de resolution numerique est donc la suivante :
Calculer les composantes de Fourier de : mn
Calculer les composantes de Fourier de V en utilisant la relation (8.48) :
Vmn
Calculer la transformee de Fourier inverse de V pour obtenir V .
Noter que la transformee de Fourier obtenue donne les relations suivantes
ujk = uj+J,k = uj,k+K

(8.49)

ce qui en dautres termes correspond `a une solution satisfaisant des conditions


aux limites periodiques. A partir de lequation (8.48), on voit que lon peut
choisir V00 = 0, mais quil est necessaire que 00 = 0. Si cette derni`ere relation
nest pas satisfaite, il faut modifier la solution choisie pour V comme nous allons
le voir ci-dessous.
Condition de Dirichlet
Si on impose des conditions de Dirichlet aux bords du rectangle, cest-`a-dire
u = 0 pour j = 0 et j = J et pour k = 0 et k = K, la transformee de Fourier
adaptee est alors celle en sinus.
Vkl =





K1 L1
2 XX
km
ln
Vmn sin
sin
KL
K
L

(8.50)

m=0 n=0

Une expression similaire pour la fonction peut etre ecrite. Un calcul simple
montre que la relation (8.48) relie les composantes de Fourier en sinus des
deux fonctions. et la methode de calcul donnee dans le paragraphe precedent
sapplique `
a nouveau `
a condition de considerer les transformees de Fourier en
sinus.
86

8.5 Equations avec conditions initiales

Condition de Neumann
Si on impose des conditions de Neumann aux bords du rectangle, cest-`adire u = 0 pour j = 0 et j = J et pour k = 0 et k = K, la transformee de
Fourier adaptee est alors celle en cosinus.




K1 L1
ln
2 XX
km
cos
(8.51)
Vkl =
Vmn cos
KL
K
L
m=0 n=0

ainsi que pour la fonction . A nouveau, les composantes de Fourier sont reliees
par la relation (8.48). Le meme schema donne ci-dessus sapplique alors.
Conditions complexes
Ceci represente le cas general o`
u par exemple la fonction u(x, y) sannule sur
lune des fronti`eres (j = 0), mais vaut u = f (y) sur la fronti`ere opposee (j = J).
La methode consiste alors `
a ecrire que la solution de ce probl`eme est la somme
de deux contributions : celle de la solution de lequation pour une condition
de Dirichlet et celle de la solution qui est nulle `a linterieur du rectangle. En
ecrivant la solution sous la forme
u = u0 + uB

(8.52)

avec uB = 0 sauf uB = f `
a la fronti`ere, on obtient
2 u0 = 2 uB +

(8.53)

ce qui montre que la fonction satisfait alors une condition de Dirichlet. Le calcul
de u0 est effectue en ajoutant un terme de source `a . Pratiquement, cela ajoute
une contribution sur la ligne situee juste avant la fronti`ere.
De mani`ere analogue, si la condition aux fronti`eres est donnee par un gradient normal non nul, on decompose la solution dune premi`ere contribution
correspondant `
a la solution du probl`eme de Neumann et dune seconde contribution nulle en dehors de la fronti`ere. En utilisant une decomposition analogue
`a celle introduite ci-dessus, cela revient `a resoudre le probl`eme de Neumann en
modifiant le terme de source.

8.5
8.5.1

Equations avec conditions initiales


Equations `
a flux conservatif

Les equations `
a flux conservatif dans un espace unidimensionel peuvent
secrire sous la forme
u
F (u)
=
(8.54)
t
x
o`
u u et F sont des fonctions soit scalaires soit vectorielles ; F est appele flux
conserve, on peut citer lexemple de lequation de la conservation de la masse
(correspondant `
a une fonction u scalaire)

= .(v)
t
87

(8.55)

Equations aux derivees partielles

Si de plus on a une relation constitutive, comme la loi de Fick, F = v =


D(), on obtient lequation parabolique de la diffusion.
Si u est un vecteur, lequation de propagation des ondes (sonores ou electromagnetiques, par exemple) se ram`ene `a ce type dequation. En effet soit
lequation des ondes suivante,
2
2v
2 v
=
c
t2
x2

(8.56)

on introduit les fonctions auxiliaires r et s


v
x
v
s=
t

r=c

(8.57)
(8.58)

et lequation de propagation sexprime alors par un ensemble de deux equations


aux derivees partielles du premier ordre
r
s
=c
t
x
s
r
=c
t
x

(8.59)
(8.60)

Si on consid`ere que r et s sont les deux composantes du vecteur u, lequation de


propagation est alors donnee par lequation (8.54) avec la relation matricielle
suivante


0 c
.u
(8.61)
F (u) =
c 0
Ainsi les equations `
a flux conserve comprennent `a la fois les equations aux
derivees partielles paraboliques et hyperboliques.
Par souci de simplicite, nous allons considerer par la suite lequation `a flux
conservatif suivante
u
u
= c
(8.62)
t
x
La solution de cette equation est bien evidemment connue u = f (x ct), mais
nous allons chercher `
a construire une procedure numerique pour determiner la
solution.

8.5.2

Une approche nave

Une premi`ere etape consiste `a discretiser lespace et le temps sur un reseau


regulier
xj = x0 + jx

j = 0, 1, . . . J

(8.63)

tn = t0 + nt

n = 0, 1, . . . N

(8.64)

o`
u x et t sont les pas despace et de temps respectivement.
88

8.5 Equations avec conditions initiales

La difficulte reside maintenant dans le choix de lalgorithme dintegration.


La methode la plus simple consiste `a utiliser un algorithme de type Euler

un+1
unj
u
j
=
+ O(t)
t j,n
t

(8.65)

Meme si la precision de lalgorithme nest pas tr`es importante, cela permet


dexprimer la solution `
a linstant n + 1 uniquement en fonction de linstant n.
Pour integrer spatialement, on utilise un algorithme du second ordre

unj+1 unj1
u
=
+ O(x2 )
(8.66)
x j,n
2x
ce qui donne finalement
un+1
unj
j

= c

unj+1 unj1
2x

(8.67)

un+1
= unj ct
j

unj+1 unj1
2x

(8.68)

t
soit encore

La determination de un+1
se fait en fonction des trois points : unj , unj+1 et unj1 .
j
On parle de methode explicite. Malheureusement, ce schema tr`es simple ne
fonctionne pas en ce sens quil ne permet pas dobtenir une solution correcte de
lequation aux derivees partielles. En dautres termes, on dit quil est instable.

8.5.3

Crit`
ere de Stabilit
e de Von Neumann

Pour faire lanalyse de la stabilite des algorithmes, on suppose que les coefficients de lequation aux differences varient tr`es peu dans lespace et le temps.
Les modes propres solutions de cette equation peuvent alors secrire sous la
forme
(8.69)
unj = (k)n eikjx
o`
u k est un vecteur donde reel et (k) une fonction complexe qui depend de
k. On voit facilement que lintegration temporelle conduit `a une progression
geometrique pour les valeurs de unj . Afin que la solution soit stable, il est necessaire que les modes exponentiellement divergents nexistent pas. Cela revient `a
dire que lalgorithme est instable d`es quil existe un vecteur donde k0 tel que
|(k0 )| > 1

(8.70)

En inserant lequation (8.69) dans lequation (8.67) et on obtient


(k) = 1 i

ct
sin(kx)
x

(8.71)

Le module de (k) est strictement superieur `a 1 pour tous les vecteurs donde,
hormis ceux o`
u kx = p o`
u p est un entier. Ceci permet de comprendre la
nature catastrophique de la methode precedente.
89

Equations aux derivees partielles

Fig. 8.4 Schema illustrant le principe de la resolution dune equation aux


derivees partielles avec la methode de Lax : La zone hachuree indique la zone
de dependance (a) Methode instable (b) Methode stable

8.5.4

M
ethode de Lax

Pour corriger le grave probl`eme dinstabilite de la methode precedente, Lax a


propose la modification suivante : le terme unj provenant de la derivee temporelle
est remplace par la moyenne sur les deux points adjacents :
1
unj (unj+1 + unj1 )
2

(8.72)

ce qui donne la relation iterative suivante


unj+1 unj1
1 n
n
un+1
=
(u
+
u
)
+
t
j+1
j1
j
2
2x

(8.73)

En inserant la solution (8.69) dans lequation (8.73), on obtient une expression


pour (k)
ct
(k) = cos(kx) i
sin(kx)
(8.74)
x
La condition de stabilite |(k)| < 1 equivaut `a choisir
ct
<1
x

(8.75)

Cette condition, dite de Courant est appelee aussi condition de stabilite de


Courant-Friedrichs-Lewy. Il est facile de comprendre que la discretisation spatiotemporelle doit se faire `
a une vitesse qui est donnee par x
erieur `a la vitesse
t sup
de propagation du phenom`ene c. Pour comprendre graphiquement la raison pour
laquelle le rapport du pas du reseau sur celui du temps doit exceder la vitesse de
90

8.5 Equations avec conditions initiales

propagation, considerons les figures suivantes : les zones hachurees correspondent `


a la solution donnee par la solution exacte de lequation de propagation :
si la valeur du point `
a letape n+1 depend des valeurs des points situees dans la
zone hachuree, lalgorithme est instable. Inversement dans la figure de droite, le
sommet de cette zone depend de points situes `a lexterieur de la zone hachuree
et lalgorithme est stable.

8.5.5

M
ethode de Crank-Nicholson

Nous venons de voir ci-dessus que lon peut corriger en partie les defauts
de la methode nave en modifiant la methode dEuler. La methode est unconditionnellement stable dans le sens o`
u quel que soit le vecteur donde k, (k) a
un module inferieur `
a 1, mais doit satisfaire un crit`ere sur la relation entre le
pas temporel et le pas spatial par la relation Eq.(8.75). Avec des schemas de
resolution implicite, on va voir que lon peut obtenir une methode inconditionnellement stable.
La derivee spatiale discretisee avec le schema dEuler calcule en fait la
derivee au temps demi-entier. La methode de Crank-Nicholson corrige ce defaut
en faisant une moyenne temporelle de derivee spatiale de la mani`ere suivante.
un+1
= unj c
j

i
 
t h n
n+1
uj+1 unj1 + un+1

u
j+1
j1
4x

(8.76)

On peut aussi reecrire cette equation en separant les termes `a linstant n + 1


de ceux `
a linstant n,
i
i
  n+1
t h n+1
t h n
n+1
n
n
uj+1 un+1
=
u

c
u

u
+
u

u
j
j+1
j1
j1
j+1
j1
4x
4x
(8.77)
Cette equation peut sexprimer sous la forme dun ecriture matricielle

un+1
+c
j

A.un+1 = un

(8.78)

o`
u un est un vecteur dont les composantes sont les coordonnees spatiales.
En faisant une analyse du crit`ere de stabibilite de Von Neumann, on obtient
(k) qui est donne par
(k) =

1+
1

ct
2x i sin(kx)
ct
2x i sin(kx)

(8.79)

Pour toute valeur de k, on a|(k)| = 1, ce qui donne une methode qui est
inconditionnellement convergente.
La methode de Crank-Nicholson est une amelioration significative par rapport `a la methode de Lax precedemment decrite. Elle est remarquable si le front
ou la queue donde ne presente pas de discontinuite, mais elle genere des oscillations rapides si les discontinuites dans les conditions initiales sont presentes. Les
Figures 8.5 gauche et droitre montrent levolution, sur un temps court t = 0.1,
de lequation de propagation donnee par la methode de Crank-Nicholson pour
des conditions initiales suivantes : `a gauche, la courbe est une arche de sinusoide
91

Equations aux derivees partielles

1.2

0.8
1

0.8

0.6

0.6

0.4
0.4

0.2

0.2

2
x

0.2

Fig. 8.5 Illustration de la methode dintegration `a contre vent pour la propagation dun front donde abrupte (figure de gauche) avec la methode de CrankNicholson (figure de droite) pour un front donde initialement donnee par une
fonction porte. La methode de Crank-Nicholson genere des oscillations au voisinage des fortes changements de pente du front donde, un effet attenue par la
methode `
a contre-vent
et `
a droite une fonction porte. Le fait que le module de (k) soit egal `a 1 pour
toutes les valeurs de k est `
a la lorigine de ce phenom`ene.
Pour eviter ces probl`emes doscillation sur le front donde, il est necessaire
de choisir une methode qui verifie la condition de CFL, cest `a dire une methode
o`
u (k) < 1.

8.5.6

M
ethode `
a contre-vent

Dans le cas o`
u le front donde presente une discontinuite, la methode la plus
adaptee est la methode dite `a contre-vent. La discretisation de lequation de
propagation se fait de la mani`ere suivante
un+1
unj
j
t

unj unj1
= c
x

(8.80)

Une analyse de stabilite de Von Neumann conduit facilement `a


(k) = 1 c

x
x
(1 cos(kx)) ic
sin(kx)
t
t
92

(8.81)

8.6 Conclusion

Le module de (k) est maintenant strictement inferieur `a 1 si c x


t < 1. On
retrouve la condition CFL obtenue dans la methode de Lax. Il nexiste pas de
methode qui soit inconditionnellement convergente et qui verifie la condition
CPL. Il est donc necessaire danalyser au prealable le probl`eme physique `a
resoudre pour choisir la methode de resolution la plus adaptee.

8.6

Conclusion

Les difficultes des methodes numeriques pour la resolution des equations


derivees partielles ont des origines diverses : elles proviennent soit des subtilites
liees au choix de lalgorithme comme dans le cas des equations avec conditions
initiales, soit des probl`emes de stockage en memoire dans le cas des equations
avec conditions aux fronti`eres. Des difficultes supplementaires apparaissent pour
des equations aux derivees partielles non-lineaires (cas de lhydrodynamique) o`
u
il est necessaire dintroduire des nouveaux crit`eres pour lanalyse de la stabilite
des algorithmes.
De tels developpements depassent largement le cadre de ce cours introductif,
mais cela illustre la grande complexite de ce sujet. En effet, le domaine de
la resolution des equations aux derivees partielles reste un domaine tr`es actif
de recherche en analyse numerique, soulignant `a la fois linteret de nouvelles
methodes et la necessite dobtenir des methodes de plus en plus performantes.

93

Equations aux derivees partielles

94

Chapitre 9

Alg`
ebre lin
eaire
Contenu
9.1
9.2

9.3
9.4

9.5

9.6
9.7

9.1

Introduction . . . . . . . . . . . . . . . . . . .

Elimination
de Gauss-Jordan . . . . . . . . .
9.2.1 Rappels sur les matrices . . . . . . . . . . . .
9.2.2 Methode sans pivot . . . . . . . . . . . . . .
9.2.3 Methode avec pivot . . . . . . . . . . . . . .

Elimination
gaussienne avec substitution . .
D
ecomposition LU . . . . . . . . . . . . . . . .
9.4.1 Principe . . . . . . . . . . . . . . . . . . . . .
9.4.2 Resolution dun syst`eme lineaire . . . . . . .
Matrices creuses . . . . . . . . . . . . . . . . .
9.5.1 Introduction . . . . . . . . . . . . . . . . . .
9.5.2 Matrices tridiagonales . . . . . . . . . . . . .
9.5.3 Formule de Sherman-Morison . . . . . . . . .
D
ecomposition de Choleski . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

95
97
. 97
. 97
. 98
98
99
. 99
. 100
101
. 101
. 102
. 102
102
103

Introduction

Les deux chapitres qui suivent concernent le traitement numerique des matrices Ce premier chapitre est consacre aux methodes employees pour resoudre
les quatre t
aches les plus frequemment rencontrees pour les syst`emes lineaires.
Par definition, on peut ecrire celles-ci comme
A.x = b

(9.1)

a11 a12 . . . a1N


a21 a22 . . . a2N

..
..
..

. ...
.
A= .

..
..
..
..
.
.
.
.
aM 1 aM 2 . . . aM N

(9.2)

o`
u A est une matrice M N

95

Alg`ebre lineaire

x est un vecteur colonne de M elements et b un vecteur colonne de N elements.

x1
x2

..

x=
.
..
.
xM

b1
b2

..

b=
.
..
.
bN

(9.3)

Si N = M , il y autant dequations que dinconnues et si aucune des equations


nest une combinaison lineaire des N 1 autres, la solution existe et est unique.1
Hormis pour des valeurs de N tr`es petites (typiquement N 4), o`
u les formules sont simples `
a exprimer, il est generalement necessaire de proceder `a un
calcul numerique pour obtenir la solution dun syst`eme dequations lineaires.
Comme nous allons le voir ci-dessous, si la matrice A nest pas une matrice
creuse (matrice dont la majorite des elements est nulle), il est necessaire dappliquer une methode generale qui revient en quelque sorte `a inverser la matrice
A (ou `
a la factoriser), ce qui necessite un grand nombre doperations qui augmente comme le cube de la dimension lineaire de la matrice, N 3 .
Meme si la procedure numerique est censee conduire `a une solution dans le
cas dune matrice non singuli`ere (det(A) 6= 0), laccumulation derreurs darrondi, souvent liee `
a des soustractions de nombres voisins fournit un vecteur
x errone. Dans le cas dune matrice dont le determinant est tr`es voisin de
zero (matrice presque singuli`ere), les solutions obtenues peuvent etre aussi
fausses. Lenorme biblioth`eque de sous-programmes pour les probl`emes dalg`ebre lineaire montre limportance de ces probl`emes dans le calcul numerique
et la necessite de choisir une methode specifique d`es que la matrice a des proprietes particuli`eres.
Parmi les t
aches typiques dalg`ebre lineaire hormis la resolution dun syst`eme lineaire, on peut citer
la determination des solutions dun ensemble de syst`emes, par exemple
A.xj = bj o`
u xj et bj sont des vecteurs `a N composantes et j un indice
parcourant un ensemble fini dentiers,
le calcul de linverse de A : A1 ,
le calcul du determinant de A.
De mani`ere encore plus aigue que dans les chapitres precedents, une methode de force brute est bien moins efficace pour resoudre un probl`eme dalg`ebre lineaire quune methode specifique. Nous allons donc voir tout dabord
le principe dune methode generale pour une matrice quelconque, puis considerer quelques unes des techniques specifiques qui dependent de la structure des
matrices.
1

Si N > M , les equations sont independantes entre elles et il ny a pas de solution. Si


N < M , il y a une indetermination et il existe une infinite de solutions.

96


9.2 Elimination
de Gauss-Jordan

9.2
9.2.1

Elimination
de Gauss-Jordan
Rappels sur les matrices

Il est utile de remarquer que le calcul des quatre taches precedentes peut
etre a priori execute de mani`ere similaire : en effet, si on consid`ere par exemple
un syst`eme 4 4, on a


y11 y12 y13 y14
t1
x1
a11 a12 a13 a14
a21 a22 a23 a24 x2 t2 y21 y22 y23 y24

a31 a132 a133 a34 . x3 t t3 t y31 y132 y133 y34 =


y41 y42 y43 y44
t4
x4
a41 a42 a43 a44

b1
c1
1 0 0 0
b2 c2 0 1 0 0

=
(9.4)
b3 t c3 t 0 0 1 0
b4
c4
0 0 0 1
o`
u loperateur t designe loperateur reunion de colonnes. Ainsi on voit que
linversion dune matrice est identique `a la resolution dun ensemble de N syst`emes lineaires pour lequel le vecteur situe dans le membre de droite a tous les
elements nuls sauf un seul qui est different pour chaque colonne.
Les trois r`egles elementaires que lon peut realiser sur les matrices sont les
suivantes.

Echanger
les lignes de A et de b (ou c ou de la matrice identite) et en
gardant x (ou t ou Y ) ne change pas la solution du syst`eme lineaire. Il
sagit dune reecriture des equations dans un ordre different.
De mani`ere similaire, la solution du syst`eme lineaire est inchangee si toute
ligne de A est remplacee par une combinaison lineaire delle-meme et des
autres lignes, en effectuant une operation analogue pour b (ou c ou la
matrice identite).
Lechange de deux colonnes de A avec echange simultane des lignes correspondantes de x (ou t ou Y ) conduit `a la meme solution. Toutefois, si
on souhaite obtenir la matrice Y dans lordre initialement choisi, il est
necessaire de proceder `
a loperation inverse une fois la solution obtenue.

9.2.2

M
ethode sans pivot

Pour la simplicite de lexpose, on consid`ere tout dabord une matrice dont


les elements diagonaux sont strictement differents de zero.
On multiplie la premi`ere ligne de A par 1/a11 (et la ligne correspondante
de b ou de la matrice identite). On soustrait a21 fois la 1`ere ligne `a la deuxi`eme
ligne, a31 fois la 1`ere ligne `
a la troisi`eme ligne et ainsi de suite jusqu`a la derni`ere
ligne. La matrice A a maintenant la structure suivante

1 a012 a013 a014


0 a022 a023 a024

(9.5)
0 a032 a033 a034
0 a042 a043 a044
97

Alg`ebre lineaire

o`
u les coefficients a0ij sexpriment en fonction des coefficients o`
u les coefficients
aij .
On multiplie alors la deuxi`eme ligne par 1/a022 , puis on soustrait a012 fois
la deuxi`eme ligne `
a la premi`ere ligne, a032 fois la deuxi`eme ligne `a la troisi`eme
ligne et ainsi de suite jusqu`
a la derni`ere ligne. La matrice A a maintenant la
structure suivante

1 0 a0013 a0014
0 1 a0023 a0024

(9.6)
0 0 a033 a0034
0 0 a0043 a0044
On it`ere le procede jusqu`a la derni`ere ligne et on obtient alors la matrice
identite. On peut obtenir alors facilement la solution du syst`eme dequations.

9.2.3

M
ethode avec pivot

La methode precedente souffre du defaut de ne sappliquer quaux matrices


dont tous les elements de la diagonale sont non nuls. Or, une matrice nest
pas necessairement singuli`ere si un seul element de la diagonale est nul. Pour
permettre une plus grande generalite de la methode, on ajoute aux operations
precedentes la troisi`eme r`egle enoncee ci-dessus. On peut en effet, en utilisant
linversion des colonnes, placer sur la diagonale un element non nul de la ligne
(si tous les elements dune ligne sont nuls, cela signifie que le determinant de la
matrice est nul et que la matrice est singuli`ere, ce qui a ete exclu par hypoth`ese).
De plus, on peut montrer que la recherche du plus grand element de la ligne
pour faire la permutation des colonnes rend la procedure bien plus stable, en
particulier en augmentant de mani`ere importante la precision numerique des
solutions.
Ce type dalgorithme est disponible dans de nombreuses biblioth`eques et il
est parfaitement inutile de chercher `a reecrire un code qui necessite un temps
important `
a la fois pour sa realisation et pour sa validation.

9.3

Elimination
gaussienne avec substitution

Pour la resolution stricte dun syst`eme lineaire, il nest pas necessaire dobtenir
une matrice diagonale comme celle obtenue par la methode precedente. Ainsi
en effectuant `
a chaque ligne la soustraction des lignes situees au dessous de la
ligne dont le coefficient de la diagonale vient detre reduit `a lunite, on obtient
une matrice triangulaire superieure dont la structure est la suivante
a011 a012 a013
0 a022 a023

0
0 a0133
0
0
0

0
x1
b1
a014
x2 b02
a024
. =
a034 x3 b03
a044
x4
b04
98

(9.7)

9.4 Decomposition LU

Il est possible de faire la resolution de ce syst`eme lineaire par une procedure de


substitution successive
b04
a044
1
x3 = 0 (b03 x4 a034 )
a33
x4 =

(9.8)
(9.9)

et de mani`ere generale
xi =

N
X
1
(b

a0ij xj )
i
a0ii

(9.10)

j=i+1

Cette methode est avantageuse dans le cas des syst`emes lineaires car le nombre
doperations `
a effectuer est dordre N 2 , contrairement `a la methode precedente
qui necessite de calculer compl`etement linverse de la matrice et necessite un
temps de calcul en N 3 .
Sil faut resoudre un ensemble de syst`emes lineaires comprenant N termes,
cela est alors equivalent `
a resoudre linversion dune matrice et lon retrouve un
temps de calcul de lordre de N 3 .

9.4

D
ecomposition LU

Les methodes precedentes necessitent de connatre `a lavance le membre


de gauche de lequation (9.1). Les methodes qui suivent consiste `a reecrire la
matrice A afin que la resolution du syst`eme dequations soit executee plus facilement.

9.4.1

Principe

Nous allons montrer que toute matrice N N peut se decomposer de la


mani`ere suivante.
A = L.U
(9.11)
o`
u L est une matrice triangulaire inferieure et U une matrice triangulaire
superieure, soit

11
0
0
...
0
21 22
0 ............
0

..

.
.
.
.
.
.
.
.
...
.
L=
(9.12)
.

..

..
..
.
. (N 1)(N 1)
0
.
N 1 N 2 . . .
...
N N
et

11 12 13
...
1N
0 22 23 . . . . . . . . . . . .
2N

..
..
..
..

.
.
...
.
U = .

..

..
..
.
.
. (N 1)(N 1) (N 1)N
0
0 ...
0
N N
99

(9.13)

Alg`ebre lineaire

En effectuant la multiplication matricielle de L par U , on obtient les relations


suivantes
aij =

i
X

il lj

ij

(9.14)

il lj

i>j

(9.15)

l=1

aij =

j
X
l=1

2
Ce syst`
 eme dequations lineaires donne N equations et le nombre dinconnues
N (N +1)
est 2
. Ce syst`eme est donc surdetermine. On peut donc choisir N
2
equations supplementaires afin dobtenir une et une seule solution. On fixe donc
la valeur de la diagonale de la matrice L

ii = 1

(9.16)

pour i [1, N ].
Lalgorithme de Crout permet de calculer simplement les N 2 coefficients
restants, en utilisant les relations suivantes
ij = aij

ij =

1
(aij
jj

i1
X

ik kj

k=1
j1
X

ik kj )

ij

(9.17)

ij+1

(9.18)

k=1

Il faut noter que les sous-programmes creant cette decomposition sappuie sur
la recherche du meilleur pivot afin que la methode soit stable.2

9.4.2

R
esolution dun syst`
eme lin
eaire

La resolution dun syst`eme lineaire devient tr`es simple en introduisant le


vecteur y.
A.x = L.U.x

(9.20)

= L.(U x) = b

(9.21)

Soit
L.y = b

(9.22)

Sachant que le nombre dinconnues est devenu egale a


` N 2 , on peut ecrire les deux matrices
sous la forme dune seule matrice de la forme
0
1
11
12 13
...
1N
B 21
22 23 . . . . . . . . . . . . 2N C
B
C
..
.. C
B ..
..
B .
C
.
.
.
.
.
.
(9.19)
B
C
B .
C
.
.
..
..
@ ..

0 A
(N 1)(N 1)

N 1

N 2

...

...

N N

en se rappelant que les elements diagonaux de la matrice ont ete choisis egaux `
a un.

100

9.5 Matrices creuses

U.x = y

(9.23)

Chaque syst`eme peut etre resolu par une procedure de substitution.


y1 =

b1
11

yi =

X
1
(bi
ij yj )
ii

(9.24)
i1

(9.25)

j=1

(substitution `
a partir du premier element car la matrice est triangulaire inferieure). On obtient la solution pour le vecteur x en utilisant
xN =

yN
N N

(9.26)

N
X
1
(yi
ij xj )
xi =
ii

(9.27)

j=i+1

car la matrice est triangulaire superieure.


Une fois effectuee la decomposition LU , le calcul du determinant dune matrice devient tr`es simple. On sait que le determinant dun produit de matrices
est egale au produit des determinants. De plus pour une matrice triangulaire,
le determinant de la matrice est egal au produit des elements de sa diagonale.
Comme les elements de la diagonale de L ont ete choisis egaux `a 1, le determinant de cette matrice est donc egal `a 1, et le determinant de A est donc egal
`a
N
Y
det(A) =
jj
(9.28)
j=1

9.5
9.5.1

Matrices creuses
Introduction

On appelle matrice creuse une matrice dont la plupart des elements sont
egaux `
a zero. Si de plus, la structure des elements non nuls est simple, il nest
pas necessaire de reserver une quantite de memoire egale `a celle de la matrice
compl`ete. Des algorithmes specifiques permettent de reduire le temps de calcul
de mani`ere considerable. Parmi les cas simples de matrices creuses, citons les
matrices
tridiagonales : les elements de matrice non nuls sont sur la diagonale et
de part et dautre de celle-ci sur les deux lignes adjacentes. On a aij = 0
pour |i j| > 1,
diagonales par bande de largeur M : les elements de matrice tels que
|i j| > M sont nuls aij = 0,
simplement ou doublement bordees : par rapport `a la definition precedente, des elements non nuls supplementaires existent le long des lignes
ou colonnes du bord de la matrice.
101

Alg`ebre lineaire

9.5.2

Matrices tridiagonales

Soit le syst`eme suivant

b1 c1
0
a2 b2 c2

..
..
0
.
.

..
0 ...
.
0
0 ...


x1
y1
x2 y2

.. ..
= . .

. .
cN 1 .. ..
bN N
xN
yN

...
...
..
.

0
0
..
.

bN 1
...

(9.29)

Noter quavec cette notation a1 et cN ne sont pas definis. Il y a un vaste de choix


de biblioth`eques disponibles pour calculer les solutions qui prennent un temps
de calcul proportionnel `
a N . De mani`ere generale, on peut obtenir aussi avoir
un algorithme proportionnel `a N pour une matrice `a bandes. Le prefacteur de
lalgorithme est proportionnel `a M .

9.5.3

Formule de Sherman-Morison

Supposons que lon ait une matrice A dont on a facilement calcule linverse
(cas dune matrice tridiagonal). Si on fait un petit changement dans A en modifiant par exemple un ou quelques elements de lensemble de la matrice, peut-on
calculer encore facilement linverse de cette nouvelle matrice ?
B =A+uv

(9.30)

ou le symbole designe le produit exterieur. u v represente une matrice dont


lelement ij est le produit de la i`eme composante de u par la j`eme composante
de v.
La formule de Sherman-Morison donne linverse de B
B 1 = (1 + A1 .u v)1 .A1

(9.31)

= (1 A1 .u v + A1 .u v.A1 .u v . . .).A1
=A

= A1

.u vA

(A1 .u)

(1 + + . . .)

(v.A1 )

1+

(9.32)
(9.33)
(9.34)

o`
u = v.A1 u. On a utilise lassociativite du produit exterieur et produit
interne.
Posons z = A1 u et w = (A1 )T v, on a = v.z et
B 1 = A1

9.6

zw
1+

(9.35)

D
ecomposition de Choleski

Une matrice est definie positive symetrique (aij = aji ) quand x, on a


x.A.x > 0
102

(9.36)

9.7 Conclusion

quel que soit x. Il existe alors une matrice L triangulaire inferieure telle que
A = L.LT

(9.37)

Les elements de matrice sont determines par les relations


Lii = (aii

i1
X

L2ik )1/2

(9.38)

k=1
i1

Lji =

X
1
(aij
Lik Ljk )
Lii

(9.39)

k=1

avec j [i + 1, N ]. Une fois cette construction realisee, on peut resoudre un


syst`eme lineaire simplement en utilisant la procedure de substitution precedemment detaillee dans la section 9.4.2.

9.7

Conclusion

Avant de resoudre des syst`emes lineaires de grande dimension, il est imperatif de commencer par une analyse des proprietes de la matrice afin de
determiner la methode la plus adaptee afin dobtenir une solution avec une
precision correcte et pour un temps de calcul qui sera minimal. Les differentes
methodes presentees dans ce chapitre ne sont quune introduction `a ce tr`es vaste
sujet.

103

Alg`ebre lineaire

104

Chapitre 10

Analyse spectrale
Contenu
10.1 Introduction . . . . . . . . .
10.2 Propri
et
es des matrices . . .
10.3 M
ethodes directes . . . . . .
10.3.1 Methode de Jacobi . . . .
10.3.2 Reduction de Householder
10.3.3 Algorithme QL . . . . . .
10.3.4 Factorisation de Schur . .
10.4 M
ethode it
eratives . . . . . .
10.4.1 Methodes des puissances .
10.4.2 Methode de Lancz`os . . .

10.1

. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

105
106
108
. 108
. 110
. 112
. 113
114
. 114
. 115

Introduction

Ce chapitre est consacre aux operations que lon peut realiser sur des matrices. Plus specifiquement, nous allons nous interesser `a la determination des
valeurs propres et/ou vecteurs propres correspondants. Tout dabord, quelques
rappels utiles pour la suite de ce chapitre : soit une matrice carree A de dimension N , on appelle un vecteur propre x associe `a la valeur propre , un vecteur
qui satisfait la relation
A.x = x
(10.1)
Si x est un vecteur propre, pour tout reel 6= 0, x est aussi un vecteur propre
avec la meme valeur propre .
Les valeurs propres dune matrice peuvent etre determinees comme les racines
du polyn
ome caracteristique de degre N
det(A .1) = 0

(10.2)

o`
u 1 designe la matrice identite.
Compte tenu du fait que dans C, tout polynome de degre N a N racines, la
matrice A poss`ede N valeurs propres complexes.
105

Analyse spectrale

Quand une racine du polynome caracteristique est multiple, on dit que la


valeur propre est degeneree, et la dimension de lespace associe `a cette valeur
propre est superieure ou egale `a deux.
La determination des valeurs propres dune matrice `a partir de lequation
caracteristique nest pas efficace sur le plan numerique. Des methodes plus adaptees sont exposees dans la suite de ce chapitre.
Si une matrice poss`ede une valeur propre nulle, la matrice est dite singuli`ere.
Une matrice est symetrique si elle est egale `a sa transposee
A = AT
aij = aji

(10.3)
i, j

(10.4)

Une matrice est hermitienne ou auto-adjointe si elle est egale au complexe


conjugue de sa transposee.
A = A

(10.5)

Une matrice est orthogonale si son inverse est egale `a sa transposee


A.AT = AT .A = 1

(10.6)

Une matrice est unitaire si sa matrice adjointe est egale `a son inverse
A.A = A .A = 1

(10.7)

Pour les matrices `


a coefficients reels, il y a identite de definition entre matrice
symetrique et Hermitienne, entre matrice orthogonale et unitaire.
Une matrice est dite normale si elle commute avec son adjointe.

10.2

Propri
et
es des matrices

Les valeurs propres dune matrice Hermitienne sont toutes reelles. Parmi les
matrices Hermitiennes tr`es utilisees en Physique, il vient `a lesprit la representation matricielle de loperateur de Schrodinger en mecanique quantique1
Un corollaire de la propriete precedente est que les valeurs propres dune
matrice reelle symetrique sont elles aussi toutes reelles.
Les vecteurs propres dune matrice normale ne possedant que des valeurs
propres non degenerees forment une base dun espace vectoriel de dimension
N . Pour une matrice normale avec des valeurs propres degenerees, les vecteurs
propres correspondant `
a une valeur propre degeneree peuvent etre remplaces
par une combinaison lineaire de ceux-ci.
Pour une matrice quelconque, lensemble des vecteurs propres ne constituent
pas necessairement une base dun espace de dimension N .
Pour une matrice non normale, les vecteurs propres ne sont pas orthogonaux.
On appelle vecteur `
a droite les vecteurs tels que
R
A.xR
i = i xi
1

(10.8)

La representation de cet operateur correspond en general a


` une matrice de dimension
infinie, mais nous ne considerons ici que les syst`emes ou la representation matricielle est
possible dans un espace de dimension finie.

106

10.2 Proprietes des matrices

o`
u i est la i`eme valeur propre. De mani`ere similaire, on appelle vecteurs propres
a` gauche, les vecteurs tels que
L
xL
i .A = i xi

(10.9)

Le transpose du vecteur `
a gauche de A est le vecteur propre `a droite de la
transposee de la meme matrice. Si la matrice est symetrique, les vecteurs propres
`a gauche sont les transposes des vecteurs propres `a droite2 .
Si la matrice est Hermitienne, les vecteurs propres `a gauche sont les transposes des vecteurs propres conjugues `a droite.
Dans le cas dune matrice non normale, on definit la matrice XR comme la
matrice constituee de colonnes formees par les vecteurs `a droite. On introduit la
matrice XL formee par les lignes des vecteurs `a gauche. On obtient par definition
que
A.XR = XR .diag(1 , . . . , n )
(10.10)
de meme on a
XL .A = diag(1 , . . . , n ).XL

(10.11)

En multipliant lequation (10.10) par XL et lequation (10.11) par XR , on obtient


XL .XR .diag(1 , . . . , n ) = diag(1 , . . . , n )XL .XR
(10.12)
ce qui montre que la matrice diagonale formee par les valeurs propres de A
commute avec le produit XL .XR . Sachant que les seules matrices qui commutent
avec une matrice diagonale constituee delements differents sont elles-memes
diagonales, on en deduit que chaque vecteur `a gauche est orthogonal `a chaque
vecteur `
a droite et reciproquement. En normalisant les vecteurs `a droite et `a
gauche, on peut obtenir que la matrice XL .XR soit egale `a lidentite.
Dans le cas o`
u lensemble des vecteurs propres ne constitue une base compl`ete, il est toujours possible de completer cet ensemble afin davoir une matrice
telle que XL .XR = 1.
Si la matrice A est inversible, on obtient en multipliant lequation (10.10)
1
par XR
que
1
XR
.A.XR = diag(1 , . . . , n )
(10.13)
Nous avons alors construit une matrice de transformation similaire de A
Rappelons la propriete suivante : soit B une matrice telle que
B = P 1 .A.P

(10.14)

o`
u P est une matrice inversible. On a
det(B 1) = det(P 1 .A.P .1)
= det(P

.(A .1)P )

= det(A .1)
2

(10.15)
(10.16)
(10.17)

Puisque le determinant dune matrice et de sa transposee sont les memes, les valeurs
propres de ces deux matrices sont identiques.

107

Analyse spectrale

Ainsi, on a montre que lon peut construire une matrice de transformation


similaire o`
u la matrice A devient diagonale dans cette nouvelle base.
Pour une matrice reelle symetrique, la matrice de passage est une matrice
orthogonale.
La strategie generale pour determiner les valeurs propres dune matrice consiste `
a construire une suite de transformations de similarite jusqu`a lobtention
dune matrice diagonale, ou plus simplement jusqu`a lobtention dune matrice
tridiagonale `
a partir de laquelle il est possible de determiner assez facilement
les valeurs propres.
Pour realiser ces transformations, deux grandes classes de methodes sont
disponibles : les methodes directes et les methodes iteratives.
Les premi`eres consistent `
a effectuer une suite de transformations similaires
et ne sappliquent quaux matrices de taille relativement modeste, car le temps
de calcul crot comme le cube de la dimension lineaire de la matrice.
Pour les matrices de grande taille et generalement creuses, les methodes
iteratives sont plus adaptees. Dans la mesure o`
u la plupart du temps, le spectre
complet dune tr`es grande matrice nest pas recherchee, mais seulement une
partie, les methodes iteratives peuvent realiser plus efficacement cette tache.
Nous allons voir dans la suite de ce chapitre quelques algorithmes de base, tout
en ayant `
a lesprit quil existe une tr`es vaste litterature sur ce sujet, et pour un
probl`eme particulier, il est necessaire de commencer par analyser precisement le
type de matrice dont on souhaite obtenir le spectre, afin de choisir la methode
la plus adaptee pour resoudre ce probl`eme.

10.3

M
ethodes directes

10.3.1

M
ethode de Jacobi

La methode de Jacobi revient `a effectuer une suite de transformations similaires orthogonales. Chaque transformation est une simple rotation planaire qui
permet dannuler un element de la matrice A initial.
La rotation elementaire Ppq est donne par la matrice

Ppq

1
0

=
0
0

0
0

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

0 ... ... ... ... 0


0 . . . . . . . . . . . . 0

c . . . . . . s . . . 0

. . . . . . . . . . . . . . . 0

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

. . . . . . . . . . . . . . . 0

s . . . . . . c . . . 0

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

(10.18)

c2 + s2 = 1.

(10.19)

T
A0 = Ppq
.A.Ppq

(10.20)

avec la condition que


Soit la matrice A0 telle que

108

10.3 Methodes directes

En notant les coefficients de la matrice aij , on obtient apr`es calculs que


a0rp = carp sarq

(10.21)

a0rq
a0pp
a0qq
a0pq

= carq + sarp

(10.22)

= c2 app + s2 aqq 2csapq

(10.23)

= s app + c aqq + 2csapq

(10.24)

= (c2 s2 )apq + cs(app aqq )

(10.25)

avec r 6= p et r 6= q.
Si on annule le terme a0pq , en introduisant langle de rotation , (c = cos(),
s = sin()) on a le rapport
c2 s2
2sc
= cot(2)
aqq app
=
apq

(10.26)
(10.27)
(10.28)

Si on appelle t = s/c, on obtient en utilisant lequation (10.26)


t2 + 2t 1 = 0

(10.29)

La plus petite des racines correspond `a un angle de rotation inferieur `a /4 et


donne la methode la plus stable numeriquement. Cette racine3 peut sexprimer
sous la forme4
sgn()

t=
(10.30)
|| + 2 + 1
En utilisant que c2 + s2 = 1 on obtient pour c que

1
c=
1 + t2

(10.31)

et on a immediatement s = tc. En imposant que le terme a0pq sannule, on a


finalement les relations suivantes
a0pp = app tapq

(10.32)

a0qq
a0rp
a0rq

= aqq + tapq

(10.33)

= arp s(arq + arp )

(10.34)

= arq + s(arp arq )

(10.35)

s
1+c

(10.36)

avec defini par


=
3

Pour eviter les depassements de capacite de lordinateur, on choisit t = 1/2


Noter que la fonction sgn que lon definit dans lequation (10.29) vaut soit +1 soit 1.
Cette fonction est generalement intrinsique a
` beaucoup de langages, mais produit aussi la
valeur 0 dans certains langages. Il faut donc sassurer que cette fonction est correctement
implementee dans le langage informatique que lon utilise.
4

109

Analyse spectrale

En calculant la somme S
S=

|ars |2

(10.37)

r6=s

on peut obtenir une estimation de la convergence de la methode. Pour une


transformation similaire elementaire, on a
S 0 = S 2|apq |2

(10.38)

Ainsi la suite des transformations conduit `a faire decrotre la contribution des


elements non diagonaux. Comme la transformation est orthogonale, la somme
des carres des elements de la matrice est conservee, ce qui revient `a ce que
la somme des carres de la diagonale augmente de ce qui a ete perdu par les
elements non diagonaux. Ainsi formellement, on peut choisir les elements de la
matrice A dans nimporte quel ordre et on obtient une methode qui converge
vers une matrice diagonale. Au terme de cette procedure, on a
D = V T .A.V

(10.39)

o`
u D est une matrice diagonale contenant les differentes valeurs propres et V
est une matrice contenant les vecteurs propres correspondants.

10.3.2

R
eduction de Householder

La methode precedente est tr`es co


uteuse en temps de calcul. Pour reduire
celui-ci, la procedure de Householder se propose de transformer une matrice
symetrique en une matrice tridiagonale par une serie de transformations orthogonales suivantes.
Une matrice de Householder est definie par la relation suivante
P = 1 2w.wT

(10.40)

o`
u w est un vecteur reel normalise, wT .w = |w|2 = 1.
Verifions que la matrice P est une matrice orthogonale
P 2 = (1 2w.wT ).(1 2w.wT )

(10.41)

= 1 4w.wT + 4w.(wT .w).wT

(10.42)

=1

(10.43)

Cela implique que P = P 1 . En utilisant la definition de P , on verifie facilement


que P T = P , et on a donc bien construit une transformation orthogonale.
Nous allons maintenant appliquer `a P le vecteur x constitue de la premi`ere
colonne de A. Pour cela, on exprime la matrice P sous la forme suivante
P =1

u.uT
H

(10.44)

avec H = |u|2 /2. Si on choisit le vecteur u tel que


u = x |x|e1
110

(10.45)

10.3 Methodes directes

o`
u e1 est le vecteur colonne unitaire tel que seule la premi`ere composante est
non nulle et egale `
a 1. On obtient facilement la valeur de H
H = 2(|x2 | |x|x1 )

(10.46)

En appliquant P `
ax
u
.(x |x|e1 )T .x
H
2u.(|x|2 |x|x1 )
=x
2|x|2 2|x|x1
=x u

P.x =x

= |x|e1

(10.47)
(10.48)
(10.49)
(10.50)

Cela montre que la matrice P annule tous les elements du vecteur x hormis le
premier.
La strategie pour construire les matrices de Householder est la suivante : on
choisit un vecteur x constitue des n1 derniers elements de la premi`ere colonne
pour construire la matrice P1 . En consequence, on obtient la structure suivante
pour P1

1 0 0
...
... 0
0

P1 =
(10.51)

..

(n1)
.

P1

0
En appliquant la transformation orthogonale `a la matrice A, on obtient
A0 =P.A.P

a11 k 0 . . .
k

= 0
..
.

0
0

(10.52)
...

(10.53)

o`
u le nombre k est au signe pr`es la norme du vecteur (a21 , . . . , an1 )T .
On choisit la seconde matrice de Householder avec un vecteur x qui constitue
avec les (n 2) derniers elements de la seconde colonne

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

0 0

0 0

P1 =
(10.54)

.. ..

(n2)
. .

P2

0 0

0 0
111

Analyse spectrale

La tridiagonalisation de la partie superieure de la matrice precedente est preservee,


on construit ainsi colonne par colonne une tridiagonalisation de la matrice A. La
procedure est compl`ete apr`es (n 2) transformations similaires de Householder.
Pratiquement, pour eviter la multiplication de matrices, tr`es co
uteuse numeriquement, on peut exprimer le produit P.A.P en introduisant la notation suivante
p=

A.u
H

(10.55)

En consequence, la premi`ere multiplication matricielle peut etre ecrite comme


u.uT
)
H
= A p.uT

A.P = A.(1

(10.56)
(10.57)

de meme pour la seconde


A0 = P.A.P = A p.uT u.pT + 2Ku.uT
avec
K=

uT .p
2H

(10.58)

(10.59)

En posant
q = p Ku

(10.60)

on a la matrice A0 qui sexprime alors simplement


A0 = A q.uT u.q T

10.3.3

(10.61)

Algorithme QL

En utilisant une suite de transformations de Householder, on peut ecrire


tout matrice reelle sous la forme
A = Q.R

(10.62)

o`
u Q est une matrice orthogonale et R une matrice triangulaire superieure. Pour
obtenir une telle decomposition, les matrices de Householder sont construites
dans ce cas de mani`ere `
a ce que la premi`ere colonne ne poss`ede que le premier
element non nul une fois la transformation effectuee, pour la deuxi`eme colonne,
on choisit le vecteur de la matrice de Householder pour que tous les elements de
la matrice transformee soient nuls sous la diagonale et ainsi de suite jusqu`a former une matrice triangulaire superieure. Le nombre de matrices de Householder
pour obtenir ce resultat est egal `a (n 1).
De mani`ere analogue, on peut montrer quil existe une decomposition de la
forme
A = Q.L
(10.63)
. o`
u Q est une matrice orthogonale et L une matrice triangulaire inferieure. Les
transformations de Householder correspondantes consistent `a annuler, colonne
112

10.3 Methodes directes

par colonne, les elements de la matrice transformee qui sont situes au dessus de
la diagonale.
Si on definit la matrice A0 comme
A0 = L.Q

(10.64)

Puisque Q est orthogonal, on en deduit de lequation (10.63) que


L = Q1 .A

(10.65)

A0 = QT .A.Q

(10.66)

ce qui donne
ce qui montre que A0 est une transformation orthogonale de A.
Pour des raisons de minimisation derreurs darrondi, il est preferable dutiliser la decomposition QL au lieu de la decomposition QR.
Lalgorithme QL est defini par la suite suivante
As = Qs .Ls

(10.67)

As+1 = Ls .Qs

(10.68)

La methode repose sur les bases suivantes : (i) Si A a des valeurs propres
toutes distinctes de valeur absolue |i |, alors As tend vers une matrice triangulaire inferieure quand s . Les valeurs propres apparaissent sur la diagonale par valeur absolue croissante (ii) Si A a une valeur propre degeneree de
multiplicite p,quand s , As tend vers une matrice triangulaire inferieure,
exceptee pour un bloc dordre p correspondant `a la valeur propre degeneree.
Pour une matrice quelconque, une iteration a un co
ut de calcul proportionnel
`a n3 , mais pour une matrice tridiagonale, ce co
ut est lineaire avec n. On peut
montrer que la convergence depend de la difference entre deux valeurs propres
successives. Quand deux valeurs propres sont trop proches, il est quand meme
possible dameliorer la convergence de lalgorithme en deplacant ces valeurs
propres successives.

10.3.4

Factorisation de Schur

La factorization de Schur consiste `a reecrire une matrice carree A sous la


forme suivante
Si la matrice A est complexe
A = ZT Z
o`
u Z est unitaire et T est une matrice triangulaire superieure.
Si la matrice A est reelle
A = ZT Z T

(10.69)

(10.70)

o`
u Z est orthogonale et T est une matrice quasi-triangulaire superieure,
ce qui signifie que la diagonale est constituee soit de blocs 1 1 soit de
blocs 2 2.
113

Analyse spectrale

Les colonnes de Z sont appelees les vecteurs de Schur. Les valeurs propres de
A apparaissent sur la diagonale de T ; les valeurs propres complexes conjuguees
dune matrice A reelle correspondent aux blocs 2x2 de la diagonale.
Lalgorithme utilisee dans la biblioth`eque LAPACK, on commence par transformer la matrice A en la transformant en une matrice de Hessenberg, qui est
une matrice triangulaire superieure bordee une ligne delements nuls sous la
diagonale.
Si la matrice A est complexe
A = QHQ
o`
u Q est unitaire et H est une matrice de Hessenberg.
Si la matrice A est reelle
A = QT QT

(10.71)

(10.72)

o`
u Q est orthogonale et H est une matrice de Hessenberg.
Dans une deuxi`eme etape, on transforme la matrice de Hessenberg en une matrice de Schur.

10.4

M
ethode it
eratives

Ces methodes sont principalement appliquees `a des matrices de grande taille


et largement creuses. Les calculs croissent dans ce cas lineairement avec n.
Pour toute methode iterative, il convient de sassurer que la convergence est
suffisamment rapide pour que le temps de calcul ne soit pas consomme sans que
la recherche dune solution ne soit reellement effectuee.

10.4.1

M
ethodes des puissances

Le principe de cette methode est tr`es simple, car il repose sur le fait quen
appliquant un grand nombre de fois la matrice sur un vecteur initial quelconque,
les vecteurs successifs vont prendre une direction qui se rapproche du vecteur
propre de la plus grande valeur propre (en valeur absolue). Le principe iteratif
de cette methode est la suivante : soit x0 un vecteur initial quelconque, et A la
matrice dont on cherche `
a determiner la plus grande valeur propre. On effectue
loperation suivante
x1 = A.x0
(10.73)
Si on designe comme langle entre ces deux vecteurs, on a
cos() =

x1 .x0
|x1 |.|x0 |

(10.74)

Si x0 nest pas perpendiculaire au vecteur recherche (ce qui est rarement le


cas pour un vecteur choisi au depart aleatoirement), le cosinus de langle entre
x0 et x1 est different de zero. En appliquant `a nouveau la matrice A sur le
vecteur x1 on cree un vecteur x2 et on calcule langle entre x1 et x2 qui est
inferieur au precedent en valeur absolue. On continue jusqu`a ce que langle entre
deux vecteurs successifs devienne plus petit quune nombre  choisi initialement.
114

10.4 Methode iteratives

On en deduit alors le vecteur propre recherche et donne par xn , ainsi que la


valeur propre correspondante. La convergence de cette methode varie comme
(1 /2 ) ce qui peut devenir assez lent quand les valeurs propres deviennent
quasi-degenerees. Cette methode nest pas tr`es efficace, mais poss`ede le merite
de secrire rapidement.

10.4.2

M
ethode de Lancz`
os

La methode de Lancz`
os consiste `a la fois `a calculer les puissances successives
de A, en sinspirant de la methode precedente, mais de mani`ere bien plus efficace en construisant un ensemble de vecteurs orthogonaux. Par simplicite, nous
allons voir la methode pour des matrices hermitiennes, mais la methode peut
etre etendue pour des matrices plus generales, en particulier quand les vecteurs
`a gauche diff`erent des vecteurs a` droite.
Soit un vecteur de depart normalise u0 : ce vecteur est convenablement choisi
cest `
a dire que sa projection sur la base de la valeur propre `a determiner est
non nulle. On construit les vecteurs successifs de la base dite de Krylov `a partir
de la relation
2 u1 = A.u0 1 u0

(10.75)

o`
u 2 et 1 sont des constantes determinees de la mani`ere suivante : 1 est
choisi de mani`ere `
a ce que le vecteur u1 soit orthogonal au vecteur u0
1 = uT0 .A.u0
et 2 est determine de mani`ere a` ce que le vecteur u1 soit normalise.
q
2 = uT0 .A2 .u0 12

(10.76)

(10.77)

Pour le vecteur suivant u2 , on utilise la relation :


3 u2 = A.u1 2 u1 2 u0

(10.78)

On note tout dabord quavec cette construction, le vecteur u2 est orthogonal au


vecteur u0 . De mani`ere similaire, on impose que u2 soit un vecteur orthogonal
`a u1 ce qui conduit `
a la relation
2 = uT1 .A.u1
et la normalisation de u2 est imposee en choisissant 3 comme
q
3 = uT1 .A2 .u1 22 2

(10.79)

(10.80)

Par iteration, on obtient pour le i`eme vecteur


i+1 ui = A.ui1 i ui1 i ui2

(10.81)

On verifie facilement que tous les vecteurs uj avec j < i 2 sont orthogonaux avec le vecteur ui+1 en raison de la construction dans un sous espace
115

Analyse spectrale

orthonorme sur ses vecteurs. Les valeurs i et i+1 sont determinees par les
relations suivantes
i =uTi1 .A.ui+1
q
i+1 = uTi1 .A2 .ui1 i2 i
Dans cette base, la matrice

1
2

0
A =
0
0

0
0

A0 est tridiagonale et est donnee

2
0 ... ...
...
0
2 3
0
...
...
0

3 3 4
0
...
0

...
...
...
0

... ... ... ...


...
0

. . . . . . 0 n1 n1 n
... ... ...
0
n n

(10.82)
(10.83)

(10.84)

Il est possible dutiliser alors une methode de type QL pour obtenir rapidement
les valeurs propres de la matrice A0 , cest `a dire aussi la matrice A.
Quelques remarques : en construisant progressivement une base de vecteurs
de plus en plus grande, on voit que la valeur propre recherchee peut etre estimee
en utilisant les sous espaces successifs. On peut donc arreter literation quand
la difference entre deux estimations successives de la valeur propre est devenue
suffisamment petite.
Dans le cas o`
u la matrice A est une representation tronquee dun operateur
dont la base propre est infinie (par exemple, un operateur de Schroringer),
le procede iteratif conduit progressivement `a des valeurs de i de plus en en
plus petites. On peut considerer que la base de Krylov est compl`ete quand
n est devenu inferieure en valeur absolue `a une valeur  choisie `a lavance
(generalement 1012 ).

116

Chapitre 11

Equations int
egrales
Contenu
11.1 Introduction . . . . . . . . . . . . . . . . . . .
11.2 Equation de Fredholm . . . . . . . . . . . . .
11.2.1 Equation de premi`ere esp`ece . . . . . . . . .
11.2.2 Equation de seconde esp`ece . . . . . . . . . .
11.3 Equation de Volterra . . . . . . . . . . . . . .
11.3.1 Equation de premi`ere esp`ece . . . . . . . . .
11.3.2 Equation de seconde esp`ece . . . . . . . . . .
11.4 Conclusion . . . . . . . . . . . . . . . . . . . .

11.1

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

117
117
. 117
. 118
119
. 119
. 119
119

Introduction

Les equations integrales sont a priori moins simples `a resoudre que les
equations algebriques ou les equations differentielles. Nous allons voir dans ce
chapitre que pour des equations integrales lineaires, une fois realisee la discretisation de ces equations, on se ram`ene au probl`eme de la recherche de solutions
dun syst`eme lineaire que nous avons vu chapitre 6.

11.2

Equation de Fredholm

11.2.1

Equation de premi`
ere esp`
ece

Lequation de Fredholm inhomog`ene de premi`ere esp`ece est definie par la


relation suivante
Z b
K(t, s)f (s)ds = g(t)
(11.1)
a

o`
u f (t) est la fonction inconnue que lon souhaite determiner. g(t) est le terme
de source et K(t, s) est appele le noyau.
En notant gi = g(ti ), Kij = K(si , tj ) et fj = f (tj ) o`
u i est un indice
variant de 1 `
a N et j un indice variant de 1 `a M (M peut etre different de N ).
117

Equations integrales

Lequation (11.1) se reecrit alors comme


M
X

Kij fj = gi

(11.2)

j=1

Soit encore sous une forme matricielle


K.f = g

(11.3)

Formellement, si le noyau K nest pas singulier, la solution existe, est unique


et est donnee par la relation
f = K 1 .g
(11.4)

11.2.2

Equation de seconde esp`


ece

Lequation de Fredholm inhomog`ene de deuxi`eme esp`ece est definie par la


relation suivante
Z b
K(t, s)f (s)ds + g(t)
(11.5)
f (t) =
a

o`
u f (t) est la fonction inconnue que lon souhaite determiner. g(t) est le terme de
source, K(t, s) est appele le noyau et est un scalaire introduit par commodite
pour la suite de cette equation.
Suivant le meme principe que celui defini ci-dessus, une fois discretisee,
lequation (11.5) se reexprime comme
fi =

M
X

Kij fj + gi

(11.6)

j=1

Soit encore sous une forme matricielle


(K 1).f = g

(11.7)

Si la fonction g est nulle, le probl`eme se ram`ene `a la determination des valeurs


propres de la matrice K, et on parle dequation de Fredholm homog`ene. Dans
le cas o`
u g est different de zero, la solution existe et est unique si nest pas
lune des valeurs propres du noyau, sinon la matrice `a inverser K .1 devient
singuli`ere. Si cette derni`ere est inversible, on a formellement la solution comme
f = (.1 K)1 .g

(11.8)

La resolution numerique des equations de Fredholm homog`ene de premi`ere


esp`ece est generalement delicate car le noyau correspond souvent `a une matrice presque non inversible (mal conditionnee), cest-`a-dire avec un determinant voisin de zero. Correlativement, si est suffisament different de zero, la
solution des equations de Fredholm de seconde esp`ece est relativement simple
`a obtenir.
118

11.3 Equation de Volterra

11.3

Equation de Volterra

Les equations de Volterra sont des cas particuliers de ceux de Fredholm dans
lesquelles le noyau K est tel que
K(t, s) = 0

11.3.1

pour s > t

(11.9)

Equation de premi`
ere esp`
ece

Lequation de Volterra homog`ene de premi`ere esp`ece est definie par la relation suivante
Z t
g(t) =
K(t, s)f (s)ds
(11.10)
a

o`
u f (t) est la fonction inconnue que lon souhaite determiner. g(t) est le terme
de source et K(t, s) est appele le noyau.
La reecriture matricielle de lequation de Volterra est identique formellement
`a celle de Fredholm, mais avec la particularite que la matrice associee au noyau
K est une matrice triangulaire inferieure. Ce type dequations lineaires, comme
nous lavons vu au chapitre 6, peut etre resolu par une methode de substitution.
Alors que les equations de Fredholm de premi`ere esp`ece sont generalement mal
conditionnees, les equations de Volterra ne le sont pas.

11.3.2

Equation de seconde esp`


ece

De mani`ere similaire, lequation de Volterra de premi`ere esp`ece inhomog`ene


secrit comme
Z
t

K(t, s)f (s)ds + g(t)

f (t) =

(11.11)

De mani`ere identique, la representation matricielle de lequation de Volterra est


identique `
a celle correspondante de Fredholm, seule la structure du noyau K
est differente, puisque comme pour toutes les equations de Volterra lineaires, la
matrice K triangulaire inferieure.

11.4

Conclusion

Lexistence de structure de noyaux presque singuliers necessite dutiliser des


methodes plus complexes qui depassent largement le cadre de ce cours introductif aux methodes numeriques.

119

Equations integrales

120

Annexe A

Coordonn
ees hypersph
eriques
Il convient de distinguer le cas pair du cas impair pour le syst`eme de coordonnees. Les calculs analytiques et numeriques sont plus simples dans le cas
impair, car en particulier le calcul de la transformee de Fourier dune fonction
`a symetrie spherique se ram`ene au calcul dune transformee de Fourier `a une
dimension sur laxe reel positif.
Considerons tout dabord le cas o`
u n est impair : A n dimensions, on definit
les coordonnees hyperspheriques de la mani`ere suivante
x1 = sin(1 ) sin(2 ) sin(3 ) . . . sin(n3 ) sin(n2 ) sin(n1 )
x2 = sin(1 ) sin(2 ) sin(3 ) . . . sin(n3 ) sin(n2 ) cos(n1 )
x3 = sin(1 ) sin(2 ) sin(3 ) . . . sin(n3 ) cos(n2 )
x4 = sin(1 ) sin(2 ) sin(3 ) . . . cos(n3 )
...
xn1 = sin(1 ) cos(2 )
xn = cos(1 )

(A.1)

o`
u les variables i varient de 0 a` pour j compris entre 1 et n 2, la variable
n1 varie entre 0 et 2, et la variable est positive ou nulle.
Pour n pair, on definit les coordonnees hyperspheriques de la mani`ere suivante
x1 = sin(1 ) sin(2 ) sin(3 ) . . . sin(n3 ) sin(n2 ) sin(n1 )
x2 = sin(1 ) sin(2 ) sin(3 ) . . . sin(n3 ) sin(n2 ) cos(n1 )
x3 = sin(1 ) sin(2 ) sin(3 ) . . . sin(n3 ) cos(n2 )
x4 = sin(1 ) sin(2 ) sin(3 ) . . . cos(n3 ) cos(n2 )
...
xn1 = sin(2 ) cos(1 )
xn = cos(2 ) cos(1 )

(A.2)

On verifie facilement que quel que soit n


xi
121

(A.3)

Coordonnees hyperspheriques

pour toute valeur de i. De plus, on a


n
X

x2i = 2

(A.4)

i=1

Pour evaluer une integrale `


a n dimensions, il est necessaire de calculer le Jacobien de la transformation des coordonnees cartesiennes aux coordonnees hyperspheriques pour n impair
J=

(x1 x2 . . . xn )
= n1
(1 2 . . . n )


sin(1 ) sin(2 ) . . . sin(n1 ) cos(1 ) . . . sin(n1 ) . . . sin(1 ) . . . cos(n1 )


sin(1 ) sin(2 ) . . . cos(n1 cos(1 ) . . . cos(n1 ) . . . sin(1 ) . . . sin(n1 )




...
...
...
...




cos(1 )
sin(1 )
0
0
(A.5)

Par recurrence, on montre que le jacobien J se reexprime sous la forme


n1

J =

n2
Y

0 n2

n1j

sin

(j ) =

j=1

sin(n1j ))j

(A.6)

j=1

On peut verifier que la formule convient aussi pour n pair.


Quand lintegrant est une fonction qui ne depend que de , on peut integrer
sur tous les angles et le calcul se ram`ene `a celui dune integrale simple sur laxe
reel positif. Par exemple on peut calculer le volume dune hypersph`ere de rayon
a (qui correspond `
a un integrant egal `a 1)
Z a
Z 2
n2
YZ
n1
n1j
Vn =

d
(sin(j ))
dj
dn1
0

j=1

n/2 an
(n/2 + 1)

n/2 an

pour n pair
= (n/2)!
(n1)/2 (2a)n ((n 1)/2)!

pour n impair
n!
Lelement de surface de lhypersph`ere de rayon a est donne par
=

n1

dSn = a

n2
Y

sinn1i (i )di

(A.7)

(A.8)

i=1

On peut en deduire la surface dune hypersph`ere dans un espace `a n dimensions.


Sn =

dVn
n n/2 an1
=
da
(n/2 + 1)!
n/2 n1
n a

(n/2)!
=
(n1)/2 (2a)n1 ((n 1)/2)!

2n

(n 1)!

122

pour n pair
(A.9)
pour n impair

Annexe B

Les biblioth`
eques BLAS et
Lapack
Contenu
B.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
B.2 Terminologie . . . . . . . . . . . . . . . . . . . . . . .

B.1

123
124

Introduction

La biblioth`eque BLAS (Basic Linear Algebra Subprograms) est un biblioth`eque qui realise les operations dalg`ebre lineaire de bas niveau. Elle est
disponible en Fortran et en C par lintermediaire de la biblioth`eque GSL, par
exemple. Ces operations sont classees par ordre de difficulte croissante :
1. operations vectorielles
y x + y

(B.1)

y Ax + y

(B.2)

C AB + C

(B.3)

2. operations matrices-vecteurs

3. operations matrices-matrices

LAPACK dont le nom vient de Linear Algebra PACKage est une biblioth`eque ecrite en fortran 77 et qui comprend un ensemble de sous-programmes
pour resoudre les probl`emes suivants : syst`eme dequations lineaires : probl`emes
aux valeurs propres. Diverses factorisations matricielles sont disponibles comme
la decomposition LU, QR Cholesky, SVD, Schur et Schur generalisee. Les matrices considerees sont des matrices soit pleines soit `a bande. Le cas des matrices
creuses nest pas specifiquement traite. Les sous-programmes sont fournis pour
des probl`emes dans lesquelles les matrices sont soit reelles, soit complexes, en
simple ou en double precision.
123

Les biblioth`eques BLAS et Lapack

La biblioth`eque LAPACK sappuie sur des appels `a des sous-programmes de


plus bas niveau qui sont ceux du BLAS. Cela permet une meilleure optimisation
car des biblioth`eques BLAS specifiques existent pour chaque type de processeur
et utilisent leurs caracteristiques. En labsence de biblioth`eque BLAS optimisee,
il est possible de disposer de la biblioth`eque BLAS de base disponible sur le site
de netlib[4].
La version installee sur les stations de travail de lecole doctorale est la
derni`ere version disponible (version 3.0) qui date de 2000. Elle est prevue pour
des programmes Fortran. Une version C de Lapack (clapack) est disponible sur
le site de netlib, mais nest pas installee par defaut sur les stations.

B.2

Terminologie

Une terminologie mnemotechnique a ete choisie pour retrouver facilement


les noms des sous-programmes `a appeler. Le principe est le meme pour Lapack
et le BLAS.
Les sous-programmes ont un suffixe qui indique le type dobjets sur lesquels
on effectue les operations.
S pour type REAL
D pour type DOUBLE PRECISION
C pour type COMPLEX
Z pour type COMPLEX*16
1

Pour le BLAS de niveau 2, 3 et Lapack, un groupe de deux lettres designe


le type de matrices que consid`ere le sous-programme.
GE pour une matrice generale
SY pour une matrice symetrique
HE pour une matrice hermitienne
TR pour une matrice triangulaire
GB pour une matrice `
a bande generale
SB pour une matrice symetrique `a bande
HB pour une matrice hermitienne `a bande
TB pour une matrice triangulaire `a bande
Pour la recherche du nom precis dun sous-programme, il existe un petit
index referencant (disponible sur le site netlib ou sur les stations de travail) de
tous les sous-programmes avec la liste des arguments `a fournir. Il existe aussi un
site internet tr`es utile qui propose un moyen de rechercher le sous-programme
adapte `
a partir de la selection de la tache `a effectuer. Ladresse de ce site est
http ://www.cs.colorado.edu/lapack/drivers.html

Pour le Blas de Niveau 2, il y a un ensemble de sous-programmes pour des calculs en


precision etendue. Les prefixes sont ES, ED, EC, EZ

124

Annexe C

La biblioth`
eque GSL
Contenu
C.1 Introduction . . . .
C.2 Sous programmes .
C.2.1 BLAS . . . . . .
C.2.2 fonctions simples

C.1

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

. 125
. 126
. . 126
. . 126

Introduction

Parmi les nombreuses biblioth`eques mathematiques que lon peut utiliser


pour resoudre des probl`emes numeriques, il existe une version evolutive basee
sur le concept de logiciel libre qui sappelle la GSL (acronyme de Gnu Scientific
Library). La version actuelle est une version stable 1.7. Cette biblioth`eque est
ecrite en C et est installee sur les stations de travail de lecole doctorale (avec
la version 1.6-2), ce qui permet `a tout utilisateur den disposer pleinement.
Cette biblioth`eque offre des sous-programmes pour les probl`emes suivants :
Nombres complexes
Fonctions speciales
Permutations
Tri
Alg`ebre lineaire
Valeurs propres
Histogrammes
Integration de Monte Carlo
Recuit simule
Interpolation
Approximations de Chebyshev
Transformees de Hankel discr`etes
Minimisation

Racines de polynomes
Vecteurs et Matrices
Combinatoire
BLAS
FFT
Generateurs de nombres aleatoires
Statistiques
Equations differentielles
Differentiation numerique
Series acceleratrices
Recherche de racines
Moindre carre
Constantes physiques

La diversite des probl`emes numeriques traites par cette biblioth`eque rend


tr`es difficile une presentation rapide. Le manuel proprement dit comprend actuelle125

La biblioth`eque GSL

ment plus de 450 pages ! Le but de cet appendice est donc de donner quelques
cles pour une utilisation aussi simple que possible de cette biblioth`eque et par
effet dapprentissage dautres biblioth`eques dont les noms de sous-programmes
sont generalement moins eloquents.
Les fichiers dentetes necessaires `a la compilation dun programme sont
places dans le repertoire /usr/include/gsl.
Pour que les executables generes soient les plus petits possibles, les fichiers
dentetes sont tr`es nombreux (206 dans la version 1.1.1), et leur nom correspondent `
a une classe de sous-programes que lon souhaite utilises selon la r`egle
suivante :
Le nom commence toujours par le prefixe gsl . (Moyen simple didentification par rapport `
a dautres biblioth`eques qui seraient `a utiliser dans le
meme programme).
La seconde partie correspond `a la classe de probl`eme. Par exemple sf correspond `
a un fonction speciale, matrix `a un probl`eme sur les matrices,...
La troisi`eme correspond au probl`eme specifique. Par exemple, gsl sf expint.h
est le fichier pour les fonctions exponentielles integrales, gsl sf bessel.h
aux fonctions de bessel, ...
Si lon veut disposer dune classe de fonctions plus directement au lieu
de charger un `
a un les fichiers dentetes, on peut utiliser le fichier qui
regroupe. Pour lexemple precedent, on peut utiliser gsl sf.h qui contient
les definitions de toutes les fonctions speciales.

C.2

Sous programmes

La Liste des fonctions disponibles est la suivante

C.2.1

BLAS

Les fonctions du BLAS ecrites. Elles realisent les trois niveaux qui sont les
suivants :
1. operations vectorielles
y = x + y

(C.1)

y = Ax + y

(C.2)

C = AB + C

(C.3)

2. operations matrices-vecteurs

3. operations matrices-matrices

C.2.2

fonctions simples

Les fonctions simples avec une grande precision


gsl acosh, gsl asinh, gsl atanh, gsl expm1, gsl log1p

126

Annexe D

Les logiciels scientifiques de


r
esolution analytique et
num
erique
D.1

Maple et Mathematica

Deux logiciels commerciaux dominent le domaine de la resolution analytique : Maple et Mathematica. Maple est historiquement un logiciel provenant
du domaine universitaire et developpe principalement dans un premier temps `a
lUniversite de Waterloo (Canada). Steven Wolfram a ete le createur de Mathematica et a cree la societe qui porte son nom. Les possibilite de chaque logiciel
sont dans une large mesure tr`es comparables. La version actuelle de Maple
est la version 9.5, et celle de Mathematica est la version 5.1. La difference de
numerotation nimplique nullement une difference de performance. Au del`a de
la vocation premi`ere de la resolution exacte dequations, ces deux logiciels se
sont enrichis au cours des annees de modules de calcul numerique ainsi que de
modules graphiques offrant ainsi une exploitation des resultats `a travers un seul
logiciel. Pour des probl`emes necessitant une puissance de calcul importante, il
est possible de transformer les resultats analytiques obtenus dans une feuille
de calcul en langage C (ou Fortran) ce qui permet alors dutiliser des biblioth`eques de programme (comme GSL ou LAPACK) pour obtenir un resultat
plus rapidement.
Ces logiciels poss`edent chacun un site Web tr`es interessant, que je recommande vivement daller consulter[7, 8].

D.2

Matlab, Scilab et Mathcad

Matlab est un logiciel commercial permettant de resoudre numeriquement


des probl`emes mathematiques et physiques varies. La version actuelle est la 7.
Ce logiciel peut etre enrichi de modules specifiques. On peut consulter le site
de Mathlab pour voir un apercu des possibilites[9].
Scilab est un logiciel libre developpe par lINRIA[10] et est pour simplifier
un cl
one de Mathlab. Les modules disponibles sous Scilab sont les suivants :
127

Les logiciels scientifiques de resolution analytique et numerique

Graphiques 2-D and 3-D et animation


Alg`ebre lineaire et matrices creuses
Polyn
omes et fonctions rationnelles
Simulation : ODE solveur and DAE solveur
Scicos : modelisateur et simulateur de syst`emes dynamiques
Contr
ole classique et robuste, optimisation LMI
Optimization differentielle et non differentielle
Traitement du signal
Metanet : graphes et reseaux
Scilab parall`ele avec PVM
Statistiques
Interface avec Maple, MuPAD
Interface avec Tck/Tk
Mathcad[11] est un logiciel commercial permettant aussi de resoudre numeriquement des probl`emes mathematiques et physiques varies. Ses possibiblites graphiques
ont fait la reputation de ce produit. Le site web dispose `a la fois dinformations concernant ce produit, mais aussi des informations sur des mathematiques
fondamentales[12].
Les logiciels scientifiques vont tr`es probablement continuer `a se developper
dans les prochaines annees. Ils permettent `a travers un ensemble de macroinstructions de faire appel a` des biblioth`eques de programmes qui ont ete
validees et optimisees selon larchitecture informatique disponible (`a noter que
les logiciels cites ci-dessus sont tous multiplateformes). Cela permet `a un plus
grand nombre dutilisateurs de disposer doutils numeriques puissants et dxeviter
des etapes fastidieuses de codage. Il reste neanmoins une fonction humaine essentielle concernant le choix des algorithmes pour la resolution numerique et
lobjet essentiel de ce cours est une aide `a la decision.

128

Bibliographie
[1] W. H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery, Numerical
Recipes in C, Cambridge University Press (1992).
[2] http ://sources.redhat.com/gsl/
[3] http ://www.netlib.org/lapack/
[4] http ://www.netlib.org/blas/
[5] http ://beige.ucs.indiana.edu/B673/
[6] http ://dmawww.epfl.ch/rappaz.mosaic/index.html
[7] http ://www.maplesoft.com
[8] http ://www.wolfram.com
[9] http ://www.mathworks.com/
[10] http ://scilabsoft.inria.fr/
[11] http ://www.mathsoft.com/
[12] http ://www.mathsoft.com/mathresources/

129

BIBLIOGRAPHIE

130

Table des mati`


eres
1 Int
egration et sommes discr`
etes
1.1 Introduction . . . . . . . . . . . . . . . .
1.2 Les methodes de C
otes . . . . . . . . . .
1.2.1 Trap`eze . . . . . . . . . . . . . .
1.2.2 Simpson . . . . . . . . . . . . . .
1.3 Methode de Romberg . . . . . . . . . .
1.4 Methodes de Gauss . . . . . . . . . . . .
1.5 Methode de Gauss-Kronrod et methodes
1.6 Integrales multiples . . . . . . . . . . . .

. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
adaptatives
. . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

3
3
4
5
6
7
7
9
11

2 Fonctions sp
eciales et
evaluation de fonctions
2.1 Introduction . . . . . . . . . . . . . . . . . . . . .
2.2 Fonctions transcendantes simples . . . . . . . . .
2.3 Fonction Gamma . . . . . . . . . . . . . . . . . .
2.3.1 Definition et proprietes . . . . . . . . . .
2.3.2 Fonctions reliees : , B . . . . . . . . . .
2.4 Fonctions de Bessel . . . . . . . . . . . . . . . . .
2.5 Fonctions Hypergeometriques . . . . . . . . . . .
2.5.1 Fonction Hypergeometrique Gaussienne .
2.5.2 Fonctions Hypergeometriques generalisees
2.6 Fonction erreur, exponentielle integrale . . . . . .
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

13
13
14
14
14
16
18
20
20
20
21
22

3 Interpolation de fonctions
3.1 Introduction . . . . . . . . . . . . . . . . . . .
3.2 Fonctions `
a une variable . . . . . . . . . . . .
3.2.1 Algorithme de Neville . . . . . . . . .
3.2.2 Polyn
omes de Chebyshev . . . . . . .
3.2.3 Methodes de lissage (Spline) . . . . .
3.2.4 Approximants de Pade . . . . . . . . .
3.2.5 Algorithme de Remez . . . . . . . . .
3.3 Fonctions `
a plusieurs variables . . . . . . . .
3.3.1 Introduction . . . . . . . . . . . . . .
3.3.2 Interpolations bilineaire et bicubiques
3.4 Conclusion . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

23
23
24
24
25
26
28
30
30
30
31
32

131

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

`
TABLE DES MATIERES

4 Racines d
equations
4.1 Introduction . . . . . . . . . . . . . .
4.2 Dichotomie . . . . . . . . . . . . . .
4.3 Methode de Ridder . . . . . . . . . .
4.3.1 Methode de la position fausse
4.3.2 Methode de Ridder . . . . . .
4.4 Methode de Brent . . . . . . . . . .
4.5 Newton-Raphson . . . . . . . . . . .
4.6 Racines de Polyn
omes . . . . . . . .
4.6.1 Reduction polynomiale . . . .
4.6.2 Methode de Laguerre . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

33
33
34
35
35
36
37
37
38
38
39

5 Equations diff
erentielles
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Equations differentielles speciales . . . . . . . . . . . .
5.3.1 Introduction . . . . . . . . . . . . . . . . . . . .
5.3.2 Equations du premier ordre . . . . . . . . . . . .
5.3.3 Equation differentielles du second ordre . . . . .
5.3.4 Equation de Bessel . . . . . . . . . . . . . . . . .
5.3.5 Equation differentielle erreur . . . . . . . . . . .
5.3.6 Equation differentielle dHermite . . . . . . . . .
5.4 Methodes dintegration `a pas separe . . . . . . . . . . .
5.4.1 Introduction . . . . . . . . . . . . . . . . . . . .
5.4.2 Methode dEuler . . . . . . . . . . . . . . . . . .
5.4.3 Methode RK explicites `a un point . . . . . . . .
5.4.4 Methodes RK implicites `a un point . . . . . . . .
5.4.5 Methodes RK explicites `a 2 points intermediaires
5.4.6 Methodes RK explicites `a 3 points intermediaires
5.4.7 Formule generale des methodes RK explicites . .
5.5 Methode dintegration `a pas variables . . . . . . . . . .
5.5.1 Introduction . . . . . . . . . . . . . . . . . . . .
5.6 Methodes de Runge-Kutta embarquees . . . . . . . . .
5.7 Methode de Bulirsh-Stoer . . . . . . . . . . . . . . . . .
5.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

41
41
42
42
42
43
44
45
45
45
45
45
46
47
47
47
48
48
49
49
49
50
51

6 Equations diff
erentielles stochastiques
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
6.2 Variables aleatoires et processus stochastiques . . . .
6.3 Processus de Wiener, bruit blanc . . . . . . . . . . .
6.3.1 Equation de diffusion . . . . . . . . . . . . .
6.3.2 Equation de Langevin . . . . . . . . . . . . .
6.4 Calcul dIto et equations differentielles stochastiques
6.4.1 Introduction . . . . . . . . . . . . . . . . . .
6.4.2 Calcul differentiel stochastique . . . . . . . .
6.4.3 Processus dOrstein-Uhlenbeck . . . . . . . .
6.4.4 Mod`ele de Black-Scholes . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

53
53
54
56
56
57
58
58
59
60
61

132

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

`
TABLE DES MATIERES

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

62
63
63
64
64
65
65

7 Transform
ee de Fourier rapide et algorithmes de tri
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Proprietes . . . . . . . . . . . . . . . . . . . . . . . . .
7.3 Discretisation de la transformee de Fourier . . . . . . .

7.3.1 Echantillonage
. . . . . . . . . . . . . . . . . .
7.3.2 Transformee de Fourier discr`ete . . . . . . . . .
7.4 Transformee de Fourier rapide . . . . . . . . . . . . . .
7.5 Algorithmes de tri . . . . . . . . . . . . . . . . . . . .
7.5.1 Introduction . . . . . . . . . . . . . . . . . . .
7.5.2 Methode dinsertion . . . . . . . . . . . . . . .
7.5.3 Tri `
a bulles . . . . . . . . . . . . . . . . . . . .
7.5.4 Tri rapide . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

67
67
68
70
70
71
72
74
74
74
75
75

8 Equations aux d
eriv
ees partielles
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 Methode de la caracteristique . . . . . . . . . . . . . . . .
8.2.1 Equation du premier ordre lineaire et quasi-lineaire
8.2.2 Surface solution . . . . . . . . . . . . . . . . . . . .
8.2.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . .
8.3 Classification des EPDL du second ordre . . . . . . . . . .
8.4 Equations avec conditions aux fronti`eres . . . . . . . . . .
8.4.1 Introduction . . . . . . . . . . . . . . . . . . . . .
8.4.2 Differences finies . . . . . . . . . . . . . . . . . . .
8.4.3 Methodes matricielles . . . . . . . . . . . . . . . .
8.4.4 Methodes de relaxation . . . . . . . . . . . . . . .
8.4.5 Methodes de Fourier . . . . . . . . . . . . . . . . .
8.5 Equations avec conditions initiales . . . . . . . . . . . . .
8.5.1 Equations `
a flux conservatif . . . . . . . . . . . . .
8.5.2 Une approche nave . . . . . . . . . . . . . . . . .
8.5.3 Crit`ere de Stabilite de Von Neumann . . . . . . . .
8.5.4 Methode de Lax . . . . . . . . . . . . . . . . . . .
8.5.5 Methode de Crank-Nicholson . . . . . . . . . . . .
8.5.6 Methode `
a contre-vent . . . . . . . . . . . . . . .
8.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

77
77
78
78
78
81
81
84
84
84
85
85
85
87
87
88
89
90
91
92
93

6.5

6.6

6.4.5 Transformee de Lamperti


Methodes numeriques . . . . . .
6.5.1 Introdution . . . . . . . .
6.5.2 Schema dEuler . . . . . .
6.5.3 Schema de Milstein . . . .
6.5.4 Runge-Kutta . . . . . . .
Conclusion . . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

9 Alg`
ebre lin
eaire
95
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

9.2 Elimination
de Gauss-Jordan . . . . . . . . . . . . . . . . . . . . 97
9.2.1 Rappels sur les matrices . . . . . . . . . . . . . . . . . . . 97
133

`
TABLE DES MATIERES

9.3
9.4

9.5

9.6
9.7

9.2.2 Methode sans pivot . . . . . . .


9.2.3 Methode avec pivot . . . . . . .

Elimination
gaussienne avec substitution
Decomposition LU . . . . . . . . . . . .
9.4.1 Principe . . . . . . . . . . . . . .
9.4.2 Resolution dun syst`eme lineaire
Matrices creuses . . . . . . . . . . . . .
9.5.1 Introduction . . . . . . . . . . .
9.5.2 Matrices tridiagonales . . . . . .
9.5.3 Formule de Sherman-Morison . .
Decomposition de Choleski . . . . . . .
Conclusion . . . . . . . . . . . . . . . .

10 Analyse spectrale
10.1 Introduction . . . . . . . . . . . .
10.2 Proprietes des matrices . . . . .
10.3 Methodes directes . . . . . . . .
10.3.1 Methode de Jacobi . . . .
10.3.2 Reduction de Householder
10.3.3 Algorithme QL . . . . . .
10.3.4 Factorisation de Schur . .
10.4 Methode iteratives . . . . . . . .
10.4.1 Methodes des puissances .
10.4.2 Methode de Lancz`os . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

11 Equations int
egrales
11.1 Introduction . . . . . . . . . . . . . .
11.2 Equation de Fredholm . . . . . . . .
11.2.1 Equation de premi`ere esp`ece
11.2.2 Equation de seconde esp`ece .
11.3 Equation de Volterra . . . . . . . . .
11.3.1 Equation de premi`ere esp`ece
11.3.2 Equation de seconde esp`ece .
11.4 Conclusion . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

105
. 105
. 106
. 108
. 108
. 110
. 112
. 113
. 114
. 114
. 115

.
.
.
.
.
.
.
.

117
. 117
. 117
. 117
. 118
. 119
. 119
. 119
. 119

A Coordonn
ees hypersph
eriques

97
98
98
99
99
100
101
101
102
102
102
103

121

B Les biblioth`
eques BLAS et Lapack
123
B.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
B.2 Terminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
C La biblioth`
eque GSL
C.1 Introduction . . . . . . .
C.2 Sous programmes . . . .
C.2.1 BLAS . . . . . .
C.2.2 fonctions simples

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

134

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

125
125
126
126
126

`
TABLE DES MATIERES

D Les logiciels scientifiques de r


esolution analytique et num
erique127
D.1 Maple et Mathematica . . . . . . . . . . . . . . . . . . . . . . . . 127
D.2 Matlab, Scilab et Mathcad . . . . . . . . . . . . . . . . . . . . . . 127

135

Vous aimerez peut-être aussi