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 large-
ment utilisees en physique an de resoudre les equations algebriques ou dif-
ferentielles que lon rencontre dans la modelisation de phenom`enes physiques,
chimiques ou biologiques.
Ce domaine particuli`erement vaste necessite simultanement des connais-
sances mathematiques, informatiques et physiques. De larges classes de prob-
l`emes numeriques sont abordees dans ces notes et montrent la necessite de bien
caracteriser les proprietes mathematiques du probl`eme considere an de choisir
la methode numerique la mieux adaptee pour le traitement numerique.
2
Chapitre 1
Integration et sommes
discr`etes
Contenu
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Les methodes de Cotes . . . . . . . . . . . . . . . . . 4
1.2.1 Trap`eze . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Methode de Romberg . . . . . . . . . . . . . . . . . . 7
1.4 Methodes de Gauss . . . . . . . . . . . . . . . . . . . 7
1.5 Methode de Gauss-Kronrod et methodes adaptatives 9
1.6 Integrales multiples . . . . . . . . . . . . . . . . . . . 11
1.1 Introduction
Les sciences physiques se xent lobjectif de predire les phenom`enes `a partir
de la connaissance dun nombre ni 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 intervien-
nent 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 dif-
ferentielles) qui decrivent le phenom`ene. La troisi`eme etape consiste `a resoudre
les equations precedemment etablies an 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 ren-
contrer 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 e-
cacement possible.
Le cas typique dune integrale denie `a evaluer est
I =
_
b
a
f(x)dx. (1.1)
Comme levaluation de la fonction f pour une innite de points est impossible,
lintegration numerique consiste `a remplacer lintegrale Eq. (1.1) par une somme
discr`ete sur un nombre ni de points.
I
N
=
N

i=1
a
i
f(x
i
) (1.2)
o` u a
i
et x
i
sont des variables que nous allons preciser dans la suite. Pour que le-
valuation numerique soit correcte, il est necessaire dimposer que toute methode
verie que
lim
N
I
N
= I (1.3)
Au del`a de la verication de ce crit`ere Eq. (1.3), la qualite dune methode
sera evaluee par la mani`ere dont la convergence vers le resultat exact seectue.
Dans la suite nous allons considerer des fonctions de classe C
1
1
(contin ument
derivable) sur le support [a, b]
2
. La derni`ere restriction imposee `a la fonction est
que
[f

(x)[ < K x [a, b] (1.4)


o` u K est une constante nie. Cela revient `a supposer que la derivee de la
fonction f nest jamais singuli`ere sur le support [a, b].
1.2 Les methodes de Cotes
Mathematicien anglais, contemporain et collaborateur de Newton, Roger
Cotes sest interesse `a des methodes de calculs numeriques et exacts pour lin-
tegration 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 denie au sens de Lebesgue) quune fonction de classe C1, cest-` a-dire
que les fonctions ne di`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 ni 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].
4
1.2 Les methodes de Cotes
0 0.5 1 1.5 2 2.5 3
x
1
1.5
2
2.5
y
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 inte-
grale 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
x
i
= x
0
+ih (1.5)
avec x
0
= a, x
N
= b, i est un entier allant de 0 `a N et h est appele le pas de
lintegration. Pour simplier les notations, on pose
f
i
= f(x
i
) (1.6)
1.2.1 Trap`eze
La methode des trap`ezes consiste `a approximer la fonction entre deux ab-
scisses successives par une droite (voir Fig. (1.1)), ce qui donne.
_
x
i+1
x
i
f(x)dx =
h
2
(f
i
+f
i+1
) +O(h
3
f

). (1.7)
Le terme derreur indique la qualite de levaluation de lintegration et depend de
mani`ere cubique du pas dintegration ; f

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

. A noter que cette formule devient exacte quand


la fonction est un polynome de degre 1 sur lintervalle [x
1
, x
2
].
Sur lintervalle [a, b], on a
_
b
a
f(x) = h
N1

i=1
f
i
+
h
2
(f
0
+f
N
) +O
_
(b a)
3
f

N
2
_
(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
_
x
i+2
x
i
f(x)dx = h
_
1
3
f
i
+
4
3
f
i+1
+
1
3
f
i+2
_
+O(h
5
f
(4)
). (1.9)
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
polynomes de degre 3. Cette formule sappelle aussi Simpson 3/8 `a cause des
coecients du developpement
_
x
i+3
x
i
f(x)dx = h
_
3
8
f
i
+
9
8
f
i+1
+
9
8
f
i+2
+
3
8
f
i+3
_
+O(h
5
f
(4)
). (1.10)
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 linte-
grale sur lintervalle [a, b].
_
b
a
f(x) =
h
3
_
_
f
0
+f
N
+ 2
N1
2

i=1
(2f
2i1
+f
2i
)
_
_
+O
_
1
N
4
_
(1.11)
La methode de Simpson est donc de deux ordres de grandeur plus ecace
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
S
N
=
4
3
T
N

1
3
T
N/2
(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 Methode 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/2
k
, N/2
k1
, . . . , 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
S
k+1
(h) = S
k
(h) +
(S
k
(h) S
k
(2h))
(4
k
1)
(1.13)
Le tableau 1.1 resume la procedure recursive employee dans la methode de
Romberg.
Pas Trap`ezes Simpson Boole troisi`eme amelioration
h S
1
(h) S
2
(h) S
3
(h) S
4
(h)
2h S
1
(2h) S
2
(2h) S
3
(2h)
4h S
1
(4h) S
2
(4h)
8h S
1
(8h)
Tab. 1.1 Table de Romberg
1.4 Methodes de Gauss
Dans les methodes precedentes, nous avons vu quen changeant les co-
ecients 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 x
i
telle que lintegrale soit
approchee par une somme discr`ete de la forme
_
b
a
W(x)f(x)dx =
N

i=1
w
i
f
i
(1.14)
Quand les abscisses sont reguli`erement espacees, les coecients inconnus
sont les poids w
i
; cela implique que pour N points dintegration, on peut obtenir
une evaluation exacte de lintegrale jusqu`a un polynome de degre N1 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
polynomes orthogonaux. Le principe de cette construction remonte `a Gauss
7
Integration et sommes discr`etes
et Jacobi et a ete largement developpe par Christoel. Soit un intervalle (a, b),
on introduit le produit scalaire de deux fonctions f et g avec la fonction de
poids W par :
< f[g >
_
b
a
W(x)f(x)g(x)dx (1.15)
Les fonctions sont dites orthogonales si leur produit scalaire est nul. La fonc-
tion 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 coecient du monome de degre le plus eleve soit egal `a un et telle quils
soient tous orthogonaux.
La relation de recurrence est la suivante.
p
1
(x) = 0 (1.16)
p
0
(x) = 1 (1.17)
p
i+1
(x) = (x a
i
)p
i
(x) b
i
p
i1
(x) (1.18)
avec les coecients a
i
et b
i
determines de la mani`ere suivante
a
i
=
< xp
i
[p
i
>
< p
i
[p
i
>
(1.19)
b
i
=
< xp
i
[p
i1
>
< p
i1
[p
i1
>
(1.20)
(1.21)
Si lon divise chaque polynome par < p
i
[p
i
>
1/2
, on obtient alors des polynomes
normalises.
Une propriete fondamentale de ces polynomes ainsi construits est la suiv-
ante : Le polynome p
i
a exactement j racines distinctes placees sur lintervalle
[a, b]. Chaque racine du polynome p
i
se trouve entre deux racines consecutives
du polynome p
i+1
.
Les N racines du polynome p
N
sont choisies comme abscisses dans levalu-
ation de lintegrale de Gauss et les poids w
i
sont calcules `a partir de la formule
w
i
=
< p
N1
[
1
xx
i
[p
N1
>
p
N1
(x
i
)p

N
(x
i
)
(1.22)
=
d
N
d
N1
< p
N1
[p
N1
>
p
N1
(x
i
)p

N
(x
i
)
(1.23)
o` u le symbole prime designe la derivee du polynome et d
n
le coecient du
monome le plus eleve du polynome p
N
3
.
Avec ce choix, on peut montrer en utilisant la relation de recurrence, Eq. (1.18),
que < p
i
[p
1
>= 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 lequa-
tion (1.22)
8
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)P
i+1
= (2i + 1)xP
i
iP
i1
(1.24)
Gauss-Hermite
La fonction de poids est W = exp(x
2
) sur la droite reelle. La relation
de recurrence pour les polynomes dHermite est
H
i+1
= 2xH
i
2iH
i1
(1.25)
Gauss-Laguerre
La fonction de poids est W = x

e
x
sur lintervalle [0, +[. La relation
de recurrence pour les polynomes de Laguerre est
(i + 1)L

i+1
= (x + 2i + + 1)L

i
(i +)L

i1
(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
c
i
P
(,)
i+1
= (d
i
+e
i
x)P
(,)
i
f
i
P
(,)
i1
(1.27)
o` u les coecients c
i
, d
i
, e
i
et f
i
sont donnes par les relations
c
i
= 2(i + 1)(i + + + 1)(2i + +) (1.28)
d
i
= (2i + + + 1)(
2

2
) (1.29)
e
i
= (2i + +)(2i + + + 1)(2i + + + 2) (1.30)
f
i
= 2(i +)(i +)(2i + + + 2) (1.31)
On peut utiliser des fonctions de poids qui sont integrables sur lintervalle,
sans etre necessairement bornees.
Gauss-Chebyshev
4
La fonction de poids est W = (1 x
2
)
1/2
sur linter-
valle [1, 1]. La relation de recurrence pour les polynomes de Chebyshev.
T
i+1
= 2xT
i
T
i1
(1.32)
1.5 Methode de Gauss-Kronrod et methodes adap-
tatives
Pour determiner la precision numerique dune integrale, il est necessaire
de faire deux evaluations dierentes 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 Fran cais, son nom est generale-
ment orthographie Tchebytchev.
9
Integration et sommes discr`etes
les abscisses sont reguli`erement espaces, on peut sans eort de calcul supple-
mentaire (le co ut provient essentiellement de levaluation de la fonction aux
dierents abscisses) obtenir une evaluation de lintegrale en utilisant un point
sur deux, ce qui donne une estimation pour un pas double. Dans une meth-
ode de Gauss, les zeros dun polynome ne concident jamais avec ceux dun
polynome de degre plus eleve. Kronrod, mathematicien russe a montre que
lon peut choisir un polynome de degre n + p dont n racines sont les racines
du polynome 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
polynome de degre n + 2p 1 peut sexprimer sous la forme
f(x) = G(n +p)h(x) +g(x) (1.33)
o` u
g(x) =
n+p1

k=0
a
k
x
k
(1.34)
et
h(x) =
p1

k=0
b
k
x
k
(1.35)
On impose les poids pour la nouvelle formule telle que g(x) soit integree exacte-
ment. Cette condition sexprime de la mani`ere suivante
_
1
1
G(n +p, x)h(x)dx = 0 (1.36)
Comme tout polynome de degre p 1 peut sexprimer comme une combinaison
lineaire de Polynome de Legendre de degre p 1, on a le syst`eme dequation
_
1
1
G(n +p, x)P(k, x)dx = 0 (1.37)
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
_
1
1
K(n + 1, x)P(n, x)P(k, x)dx = 0 (1.38)
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
K(n + 1, x) =
n+3
2

i=1
a
i
P(2i 2, x) (1.39)
Les coecients a
i
sont calcules par les relations
n+3
2

i=1
a
i
_
1
1
P(2i 2, x)P(n, x)P(k, x)dx (1.40)
10
1.6 Integrales multiples
pour k = 1, . . . n (on choisit a
0
= 1). Pour k pair, ces equations sont automa-
tiquement satisfaites, les equations restantes permettent devaluer les coe-
cients a
i
(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 re-
streint 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 diciles.
1.6 Integrales multiples
Le probl`eme de levaluation des integrales multiples est etroitement lie `a
la diculte 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 30
3
points. La situation saggrave tr`es rapidement quand la di-
mension 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 n

<< n o` u les methodes precedentes peuvent encore sappliquer.


Dans le cas o` u il nexiste pas de symetrie, la methode la plus ecace 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 speciales et
evaluation de fonctions
Contenu
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Fonctions transcendantes simples . . . . . . . . . . . 14
2.3 Fonction Gamma . . . . . . . . . . . . . . . . . . . . . 14
2.3.1 Denition et proprietes . . . . . . . . . . . . . . . . . 14
2.3.2 Fonctions reliees : , B . . . . . . . . . . . . . . . . . 16
2.4 Fonctions de Bessel . . . . . . . . . . . . . . . . . . . 18
2.5 Fonctions Hypergeometriques . . . . . . . . . . . . . 20
2.5.1 Fonction Hypergeometrique Gaussienne . . . . . . . . 20
2.5.2 Fonctions Hypergeometriques generalisees . . . . . . . 20
2.6 Fonction erreur, exponentielle integrale . . . . . . . 21
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1 Introduction
Les fonctions speciales sont denies de mani`ere assez imprecise, puisquelles
regroupent les fonctions que lusage (ou la frequence dutilisation) a ni par as-
socier `a un nom. Parmi ces fonctions, on trouve un grand nombre de fonctions
qui sont des solutions dequations dierentielles du second ordre, sans que cette
propriete soit exclusive. Ces fonctions sont toutefois tr`es utiles, car elles appa-
raissent tr`es souvent, d`es que lon cherche `a resoudre des equations dierentielles
du second ordre dont les coecients ne sont pas constants. Les fonctions spe-
ciales sont disponibles en programmation sous la forme de biblioth`eques. Elles
sont aussi denies pour un grand nombre dentre elles dans les logiciels de cal-
cul symbolique (Maple, Mathematica,...). Dans la suite de ce cours, nous allons
denir 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
-4 -3 -2 -1 0 1 2 3 4
-20
-15
-10
-5
0
5
10
15
20

(
x
)
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 enn les
fractions rationnelles. Le calcul de la valeur de la fonction pour un argument
reel ou complexe necessite un nombre ni 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 fonc-
tions trigonometriques (sin, cos,tan, arccos, arcsin) ainsi que leurs fonctions in-
verses. Les fonctions exp et log representent generalement le reste de larsenal
des fonctions transcendantes denies dans un cursus de premier, voire de second
cycle universitaire.
2.3 Fonction Gamma
2.3.1 Denition et proprietes
La fonction Gamma est generalement denie par lintegrale suivante
(z) =
_

0
t
z1
e
t
dt (2.1)
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 poles :
(z) = lim
n
n!n
z
z(z + 1) . . . (z +n)
(2.2)
En integrant par parties lequation (2.1), on peut facilement montrer que
(z + 1) = z(z) (2.3)
En veriant que (1) = 1, on obtient par recurrence que
(n + 1) = n! (2.4)
Avec cette denition, la fonction apparat comme un prolongement analytique
de la fonction factorielle denie 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 developpe-
ment est specique `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
(z + 1) =
_
z + +
1
2
_
z+
1
2
e
(z++
1
2
)

2
_
c
0
+
c
1
z + 1
+
c
2
z + 2
+. . . +
c
N
z +N
+
_
(2.6)
o` u est le param`etre estimant lerreur. Pour le choix particulier = 5, N = 6
et c
0
tr`es voisin de 1, on a [[ < 2.10
10
.
Il est dicile de calculer la fonction pour des valeurs de z un peu impor-
tantes. Cela resulte de la croissance tr`es rapide de la fonction . On peut mon-
trer 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 impor-
tant, 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 dierence de deux
logarithmes. Tous les nombres qui interviennent dans ce calcul sont exponen-
tiellement 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
0 2 4 6 8 10
x
0
5
10
15
20
l
n
(

(
x
)
Fig. 2.2 La fonction ln((x)) en fonction de x.
On denit la fonction incompl`ete
1
comme
(a, x) =
_
x
0
t
a1
e
t
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 gure 2.3).
2.3.2 Fonctions reliees : , B
A partir de la fonction , on denit des fonctions derivees. En raison de
leur grande frequence dutilisation, elles ont recu un nom. Ainsi, la fonction
, appelee aussi fonction Digamma est denie comme la derivee logarithmique
1
Noter que dans le logiciel Maple, la fonction Gamma et les fonctions Gamma incompl`etes
sont les seules fonctions denies avec des lettres capitales.
16
2.3 Fonction Gamma
0 2 4 6 8 10 12 14
x
0
0.2
0.4
0.6
0.8
1
P
(
a
,
x
)
a=10
a=3
a=1
Fig. 2.3 La fonction P(a, x) en fonction de x pour trois valeurs de a (a =
1, 3, 10).
de la fonction Gamma
2
:
(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

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 denies
par la relation :
B(z, w) =
(z)(w)
(z +w)
(2.12)
2
On denit aussi les fonctions polygamma comme une generalisation de la fonction
Digamma
(n, x) =
d
n
(x)
dx
n
(2.9)
17
Fonctions speciales et evaluation de fonctions
0 2 4 6 8 10
x
-2
-1.5
-1
-0.5
0
0.5
1
Y

(
x
)
,
J

(
x
)
J0
J1
J2
J3
Y0
Y1
Y2
Y3
Fig. 2.4 Les quatre premi`eres fonctions de Bessel enti`eres de premi`ere es-
p`ece et de deuxi`eme esp`ece. Ces fonctions sont presentes dans toutes les biblio-
th`eques mathematiques de programmation, dans les logiciels de calcul symbol-
ique comme Maple et dans un logiciel graphique comme xmgrace.
2.4 Fonctions de Bessel
Les fonctions de Bessel sont denies de la mani`ere suivante : considerons
lequation dierentielle du second ordre
x
2
y

+xy

+ (x
2

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 nie `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 gure 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
0 2 4
x
0
0.5
1
1.5
2
2.5
3
3.5
4
K

(
x
)
,
I

(
x
)
I0
I1
I2
I3
K0
K1
K2
K3
Fig. 2.5 Les quatre premi`eres fonctions de Bessel enti`eres modiees de pre-
mi`ere et de deuxi`eme esp`ece. Ces fonctions sont presentes dans toutes les bib-
lioth`eques mathematiques de programmation, dans les logiciels de calcul sym-
bolique comme Maple et dans un logiciel graphique comme xmgrace.
seconde esp`ece est le suivant
J

(x)
_
2
x
(cos(x /2 /4)) (2.15)
Y

(x)
_
2
x
(sin(x /2 /4)) (2.16)
Soit lequation dierentielle du second ordre
x
2
y

+xy

(x
2

2
)y = 0 (2.17)
Les solutions de cette equation sont appelees fonctions de Bessel modiees . La
solution nie `a lorigine et notee I

(x) est appelee fonction de Bessel modiee


de premi`ere esp`ece et la seconde solution notee K

(x) est appelee fonction de


Bessel modiee de seconde esp`ece. Ces fonctions sont reliees par la relation
suivante :
K

(x) =
(I

(x) I

(x))
2 sin()
(2.18)
La gure 2.5 represente graphiquement les fonctions de Bessel modiees 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 modiees est le suiv-
ant :
I

(x)
e
z

2x
(2.19)
K

(x)
_

2x
e
z
(2.20)
Les fonctions de Hankel H
1,
and H
2,
sont appelees fonctions de Bessel de
troisi`eme esp`ece et sont denies par la relation
H
1,
(x) =J

(x) +iY

(x) (2.21)
H
2,
(x) =J

(x) iY

(x) (2.22)
2.5 Fonctions Hypergeometriques
2.5.1 Fonction Hypergeometrique Gaussienne
Les fonctions hypergeometriques gaussiennes sont denies comme etant les
solutions de lequation dierentielle suivante.
x(1 x)y

+ [c (a +b + 1)x]y

aby = 0 (2.23)
o` u a, b et c sont des constantes.
Si c, ab et c ab sont non entiers, la solution generale de cette equation
est
y = F(a, b; c; x) +Bx
1c
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
F
1
(a, b, c; x)
=
(c)
(a)(b)

n=0
(a +n)(b +n)
(c +n)
x
n
n!
(2.25)
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
F
1
(1, 1, 2; x) = x
1
ln(1 x)
2.5.2 Fonctions Hypergeometriques generalisees
On denit des fonctions hypergeometriques generalisees de la mani`ere suiv-
ante : soit le rapport
p
F
q
_
a
1
, a
2
, . . . , a
p
b1, b
2
, . . . , b
q
; z
_
=

k=0
(a
1
)
k
(a
2
)
k
. . . (a
p
)
k
(b
1
)
k
(b
2
)
k
. . . (b
q
)
k
x
k
k!
(2.26)
o` u on a utilise la notation de Pochhammer
(a)
k
=
(a +k)
(a)
(2.27)
20
2.6 Fonction erreur, exponentielle integrale
0 1 2 3 4
x
0
1
2
3
4
E
n
(
x
)
E
1
E
2
E
3
E
4
Fig. 2.6 Les quatre premi`eres fonctions exponentielles integrales (fonctions
E
n
. 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 integrale
La fonction erreur et la fonction erreur complementaire sont denies comme
erf(x) =
2

_
x
0
e
t
2
dt (2.28)
erfc(x) = 1 erf(x)
=
2

_

x
e
t
2
dt (2.29)
La fonction erf est aussi presente dans toutes les biblioth`eques standard de
programmation.
La fonction exponentielle integrale Ei est denie comme la valeur principale
de lintegrale suivante pour x > 0.
Ei(x) =
_
x

e
t
t
dt (2.30)
Le developpement en serie de cette fonction donne
Ei(x) = + ln(x) +

n=1
x
n
nn!
(2.31)
21
Fonctions speciales et evaluation de fonctions
Pour des grandes valeurs de x, on a le developpement asymptotique suivant
Ei(x)
e
x
x
_
1 +
1
x
+. . .
_
(2.32)
De mani`ere generale, on denit les exponentielles integrales E
n
(x) comme
E
n
(z) =
_

1
e
zt
t
n
dt (2.33)
La Figure 2.6 represente les quatre premi`eres exponentielles integrales. Le developpe-
ment en serie de cette fonction donne
E
1
(x) = ( + ln(x)) +

n=1
(1)
n
x
n
nn!
(2.34)
La fonction E
i
(1, x) nest denie que pour des arguments reels : Pour x < 0,
on a
E
i
(x) = E
i
(1, x) (2.35)
On peut noter que les exponentielles integrales E
n
(x) sont reliees `a la fonc-
tion par la relation
E
n
(x) = x
n1
(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 bib-
lioth`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 Introduction . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Fonctions `a une variable . . . . . . . . . . . . . . . . 24
3.2.1 Algorithme de Neville . . . . . . . . . . . . . . . . . . 24
3.2.2 Polynomes de Chebyshev . . . . . . . . . . . . . . . . 25
3.2.3 Methodes de lissage (Spline) . . . . . . . . . . . . . . 26
3.2.4 Approximants de Pade . . . . . . . . . . . . . . . . . . 28
3.2.5 Algorithme de Remez . . . . . . . . . . . . . . . . . . 30
3.3 Fonctions `a plusieurs variables . . . . . . . . . . . . 30
3.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 30
3.3.2 Interpolations bilineaire et bicubiques . . . . . . . . . 31
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 32
3.1 Introduction
Pour evaluer une fonction, il est frequent de ne disposer que de ses valeurs
sur un ensemble ni de points. Dans le cas le plus simple dune fonction `a une
variable, ces points sont souvent disposes sur un reseau regulier unidimension-
nel. 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 inter-
valle elementaire constitue de deux points consecutifs du reseau, la procedure
dapproximation de la fonction par une fonction plus simple (tr`es souvent un
polynome) sappelle une interpolation. Quand le point `a evaluer se situe en
dehors des bornes du reseau, la procedure dapproximation sappelle une ex-
trapolation.
La mise en place dune interpolation pour une fonction evaluee initialement
sur un reseau consiste `a optimiser la fonction approchante en utilisant lensem-
ble 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
0.0
1.0
0.5
0.25
0.0
x
0.5
0.5
1.0
0.75
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 polynome 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 Fonctions `a une variable
3.2.1 Algorithme de Neville
Une approche naive consiste `a utiliser les N points o` u la fonction a ete
evaluee y
i
= f(x
i
) pour i = 1, n et `a interpoler par un polynome dordre N avec
24
3.2 Fonctions `a une variable
la formule de Lagrange.
P(x) =
(x x
2
)(x x
3
)...(x
1
x
N
)
(x
1
x
2
)(x
1
x
3
)...(x
1
x
N
)
y
1
+
+
(x x
1
)(x x
3
)...(x
1
x
N
)
(x
2
x
1
)(x
2
x
3
)...(x
2
x
N
)
y
2
+...
+
(x x
1
)(x x
3
)...(x
1
x
N1
)
(x
N
x
1
)(x
N
x
3
)...(x
N
x
N1
)
y
N
(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 meth-
ode de Neville a la structure suivante :
P
1
P
2
P
3
P
4
... P
N1
P
N
P
12
P
23
P
34
... P
(N1)N
P
123
P
234
... ...
P
1234
... ...
...
P
1234...(N1)N
A partir des N polynomes constants, on construit les N 1 polynomes de
degre 1, puis les N 2 polynomes de degre 2 et ainsi de suite jusqu`a obtenir
le polynome de degre N 1. Le polynome obtenu `a la n est bien evidemment
identique `a celui decrit par la formule de Lagrange.
La formule de recurrence pour cette construction est la suivante
P
i(i+1)...(i+m)
=
(x x
i+m
)P
i(i+1)...(i+m1)
(x
i
x
i+m
)
+
(x
i
x)P
(i+1)(i+2)...(i+m)
(x
i
x
i+m
)
. (3.2)
3.2.2 Polynomes 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
gure 3.1 illustre la mani`ere dont des polynomes dinterpolation de degre crois-
sant interpole dicilement la region o` u la fonction continue a une discontinuite
de la derivee. En augmentant le degre du polynome, on voit clairement que lap-
proximation 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 gure 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,0
0,0
0,5 1,0
x
0,75
0,5
0,5
0,25
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 Methodes de lissage (Spline)
Comme nous lavons vu ci-dessus, les interpolations de fonction avec lutili-
sation de polynomes de degre eleve peuvent conduire `a des defauts tr`es impor-
tants situes sur les limites de lintervalle o` u la fonction est denie. Inversement,
lapproximation locale par une droite joignant deux points conecutifs presente
le defaut important que la derivee de la fonction interpolante a une derivee con-
stante et discontinue sur chaque intervalle et une derivee seconde nulle presque
partout.
La methode spline minimise une sorte denergie elastique et consiste `a im-
poser 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 denition de la
fonction.
Si on note (x
i
, y
i
= f(x
i
)) 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)y
i
+B(x)y
i+1
+C(x)y
i
+D(x)y
i+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) =
x
i+1
x
x
i+1
x
i
(3.4)
26
3.2 Fonctions `a une variable
10,0
0,0
2,5
2 2
2,5
4 0
7,5
5,0
4
x
fonction
Spline
0.05
0.0
0.025
0.075
0.1
x
2 2 4 0 4
0.025
0.05
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 dierence pour la.
et
B(x) =
x x
i
x
i+1
x
i
(3.5)
C(x) et D(x) doivent sannuler sur les limites de lintervalle [x
i
, x
i+1
] et
sont des polynomes de degre 2 en x.
Il est facile de verier que
C(x) =
1
6
(A(x)
3
A(x))(x
i+1
x
i
)
2
) (3.6)
et
D(x) =
1
6
(B(x)
3
B(x))(x
i+1
x
i
)
2
) (3.7)
conviennent
En eet en derivant deux fois par rapport `a x, lequation (3.3), on obtient
d
2
y
dx
2
= A

(x)y
i
+B

(x)y
i+1
(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 lapproxi-
mation est continue, cest-`a-dire que
dy
dx
=
y
i+1
y
i
x
i+1
x
i

3A(x)
2
1
6
(x
i+1
x
i
)y

i
+
3B(x)
2
1
6
(x
i+1
x
i
)y

i+1
(3.9)
Cela donne un syst`eme dequations pour les derivees secondes
x
i
x
i+1
6
y

i1
+
x
i+1
x
i1
3
y

i
+
x
i+1
x
i
6
y

i+1
=
y
i+1
y
i
x
i+1
x
i

y
i
y
i1
x
i
x
i1
(3.10)
27
Interpolation de fonctions
2
2
4
10
12
x
8
6
2
0
2
4
8
4 0 4
6
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 N2 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
y = x
2
+ 6(e
x
2
1) (3.11)
La gure 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 gure de gauche.
La gure de droite montre la dierence 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 Pade
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
0,0
1,6
1,2
0,8
x
0,8
0,4
1
2,0
1 2
1,2
0 2
y
0,4
Fig. 3.5 Trace de la fonction donnee par lequation (3.12) et des developpe-
ments `a lordre 4, 6, 18, 20.
a un developpement en serie dont le rayon de convergence est ni, toute ap-
proximation 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(x
2
)
1 +x
2
(3.12)
et o` u les polynomes 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,
Pa[m, n] =
P
m
(x)
Q
n
(x)
(3.13)
o` u le polynome P
m
(x) est un polynomes de degre m et Q
n
(x) est un polynome
de degre n dont le coecient constant est egal `a 1. Ainsi un approximation de
Pade dordre [m, n] est une fraction rationnelle dont m+n+1 coecients sont
`a determiner. Quand on connait la valeur dune fonction et ses n +m derivees
en un point, on peut calculer n + m approximants dierents. Les approxima-
tions de Pade dordre [8, 0], [6, 2], [4, 4], [2, 6] ainsi que la fonction sont tracees
29
Interpolation de fonctions
1
x
y
1
0,25
1,0
0,75
0
0,0
0,5
2 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 gure 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
Max(w(x)[f(x) r(x)[) (3.14)
pour tout x appartenant `a lintervalle donne, w(x), une fonction de poids pos-
itive 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 Fonctions `a plusieurs variables
3.3.1 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 bilineaire et bicubiques
Pour une fonctoin tabulee sur un reseau carre regulier, lapproximation bil-
ineaire consiste `a utiliser un polynome `a deux variables qui donne sur chacune
des aretes dun carre elementaire la valeur exacte de la fonction.
Soit x
i
= x
0
+ hi avec i entier et y
j
= y
0
+ hj, pour la cellule elementaire
delimite par les points (x
i
, y
j
),(x
i
, y
j+1
),(x
i+1
, y
j+1
),(x
i+1
, y
j
), on a le polynome
suivant
P(x, y) =h
2
((x x
i+1
)(y y
i+1
)f
ij
+ (x x
i+1
)(y y
i
)f
ij+1
+(x x
i+1
)(y y
i
)f
i+1j
+ (x x
i
)(y y
i
)f
i+1j+1
) (3.15)
Avec cette approximation, les derivees partielles secondes de cette approx-
imation sont toutes nulles, ce qui peut etre insusant pour la qualite de lap-
proximation. 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 approx-
imation appelee approximation bicubique. En utilisant le fait que lapproxi-
mation doit donner exactement les valeurs de la fonction ainsi que celles des
derivees premi`eres et des derivees croisees secondes, cela donne seize coecients
`a determiner. En notant
y
x
1
= y
,1
(3.16)
y
x
2
= y
,2
(3.17)

2
y
x
1
x
2
= y
,12
(3.18)
(3.19)
on doit resoudre le syst`eme dequations suivant
y(x
1
, x
2
) =
4

i=1
4

j=1
c
ij
t
i1
u
j1
(3.20)
y
,1
(x
1
, x
2
) =
4

i=1
4

j=1
(i 1)c
ij
t
i2
u
j1
(3.21)
y
,2
(x
1
, x
2
) =
4

i=1
4

j=1
(j 1)c
ij
t
i1
u
j2
(3.22)
y
,12
(x
1
, x
2
) =
4

i=1
4

j=1
(i 1)(j 1)c
ij
t
i2
u
j2
(3.23)
(3.24)
o` u c
ij
sont les seize coecients `a determiner avec
t =
x
1
x
1,i
x
1,i+1
x
1,i
(3.25)
u =
x
2
x
2,i
x
2,i+1
x
2,i
(3.26)
31
Interpolation de fonctions
x
1,i
et x
2,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 dequations
Contenu
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Dichotomie . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3 Methode de Ridder . . . . . . . . . . . . . . . . . . . 35
4.3.1 Methode de la position fausse . . . . . . . . . . . . . . 35
4.3.2 Methode de Ridder . . . . . . . . . . . . . . . . . . . . 36
4.4 Methode de Brent . . . . . . . . . . . . . . . . . . . . 37
4.5 Newton-Raphson . . . . . . . . . . . . . . . . . . . . . 37
4.6 Racines de Polynomes . . . . . . . . . . . . . . . . . 38
4.6.1 Reduction polynomiale . . . . . . . . . . . . . . . . . . 38
4.6.2 Methode de Laguerre . . . . . . . . . . . . . . . . . . 39
4.1 Introduction
Lune des taches 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 unidi-
mensionnel. 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 susamment lentement est necessaire pour obtenir
une convergence vers la solution recherchee.
Nous allons considerer le probl`eme unidimensionnel pour lequel plusieurs
methodes sont disponibles an 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 speciques pour la recherche de
racines de polynomes
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 [a
0
, b
0
] telle que f(a
0
)f(b
0
) < 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
calcule f(
a
0
+b
0
2
).
Si f(
a
0
+b
0
2
)f(a
0
) < 0, on denit un nouvel encadrement de la racine par
le couple (a
1
, b
1
) tel que
a
1
= a
0
(4.3)
b
1
=
a
0
+b
0
2
. (4.4)
Si f(
a
0
+b
0
2
)f(a
0
) > 0, alors on denit un nouvel encadrement de la racine
par le couple (a
1
, b
1
) tel que
a
1
=
a
0
+b
0
2
(4.5)
b
1
= b
0
. (4.6)
En iterant cette methode, on obtient une suite de couple (a
n
, b
n
) telle que

n
= b
n
a
n
verie la relation

n+1
=

n
2
(4.7)
o` u
0
= (b
0
a
0
)/2 Cela signie que si lon se xe la tolerance qui represente
la precision `a laquelle on souhaite obtenir la racine, on a un nombre diterations
`a eectuer egal `a
n = ln
2
_
[b
0
a
0
[

_
(4.8)
34
4.3 Methode de Ridder
o` u la notation ln
2
signie 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 10
6
`a 10
13
selon que lon travaille en simple ou double precision.
Par contre pour une racine dont la valeur est de lordre de 10
10
, une precision
de 10
4
sera la valeur maximale que lon peut atteindre en double precision.
Inversement, pour une racine proche de zero, la precision peut etre meilleure
que 10
14
.
4.3 Methode de Ridder
4.3.1 Methode de la position fausse
La methode de dichotomie sous-exploite le fait que lon peut mieux utiliser la
fonction `a linterieur de lencadrement eectue `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(a
0
) et f(b
0
) en a
0
et b
0
respectivement,
on obtient facilement que
c =
f(b
0
) f(a
0
)
b
0
a
0
(4.9)
d =
b
0
f(a
0
) a
0
f(b
0
)
b
0
a
0
(4.10)
La nouvelle abscisse estimee pour la racine de lequation est donnee par y =
cx +d = 0, ce qui donne
x =
d
c
(4.11)
=
a
0
f(b
0
) b
0
f(a
0
)
f(b
0
) f(a
0
)
(4.12)
soit encore
x = a
0
(b
0
a
0
)
f(a
0
)
f(b
0
) f(a
0
)
(4.13)
= b
0
(b
0
a
0
)
f(b
0
)
f(b
0
) f(a
0
)
(4.14)
On reprend `a ce stade le principe de lalgorithme precedent si f(x)f(a
0
) > 0
alors
a
1
= x (4.15)
b
1
= b
0
(4.16)
sinon
a
1
= a
0
(4.17)
b
1
= x (4.18)
La gure
35
Racines dequations
0 0.5 1 1.5 2 2.5 3
-2
0
2
4
1
2
3
4
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 Methode de Ridder
Une variante de la methode precedente qui est tr`es ecace est basee sur
lalgorithme suivant. On evalue la fonction au point x
3
=
a
0
+b
0
2
et on resout
lequation en z
f(a
0
) 2f(x)z +f(b
0
)z
2
= 0 (4.19)
La solution positive est donnee par
z =
f(x) +sgn(f(x))
_
f(x)
2
f(a
0
)f(b
0
)
f(b
0
)
(4.20)
En appliquant la methode de la position fausse non pas `a f(a
0
), f(x
3
) et f(b
0
),
mais `a f(a
0
), f(x
3
)z et f(b
0
)z
2
, on obtient une approximation de la racine,
notee x
4
et donnee par
x
4
= x
3
+ (x
3
a
0
)
sgn(f(a
0
) f(b
0
))f(x)
_
f(x)
2
f(a
0
)f(b
0
)
(4.21)
Parmi les proprietes remarquables, notons que x
4
est toujours situee `a linterieur
de lintervalle [a
0
, b
0
]. Si le produit f(x
3
)f(x
4
) est negatif, on prend lintervalle
[x
3
, x
4
] comme nouvel encadrement, sinon si on consid`ere le produit f(a
0
)f(x
4
) ;
si celui est negatif, le nouvel encadrement est [a
0
, x
4
], sinon on prend [x
4
, b]. On
it`ere ensuite le procede.
36
4.4 Methode de Brent
4.4 Methode 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
x =
(y f(a))(y f(b))c
(f(c) f(a))(f(c) f(b))
+
(y f(b))(y f(c))a
(f(a) f(b))(f(a) f(c))
+
(y f(c))(y f(a))b
(f(b) f(c))(f(b) f(a))
(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
R =
f(b)
f(c)
(4.26)
S =
f(b)
f(a)
(4.27)
T =
f(a)
f(c)
(4.28)
En pratique, b est une premi`ere estimation de la racine et
P
Q
une petite correc-
tion. Quand Q 0 la valeur de
P
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 dierents 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

(x) +
f

(x)
2

2
+. . . (4.29)
37
Racines dequations
Si est susamment petit, on peut negliger les termes non lineaires et une
estimation de la racine est donnee par f(x +) = 0.
=
f(x)
f

(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 veriees, on a une methode
qui converge de mani`ere quadratique.
En eet, la relation de recurrence entre estimations successives est donnee
par
x
i+1
= x
i

f(x
i
)
f

(x
i
)
(4.31)
En posant
i+1
= x
i+1
x, o` u x est la racine exacte, on a

i+1
=
i

f(x
i
)
f

(x
i
)
(4.32)
Si on utilise un developpement limite de f au deuxi`eme ordre au point x
i
(ce
qui suppose que la fonction est deux fois derivable au voisinage de la racine),
on obtient

i+1
=
2
i
f

(x
i
)
2f

(x
i
)
(4.33)
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 daccroisse-
ment
f

(x)
f(x + x) f(x)
x
(4.34)
Dans ce cas, la methode de Newton-Raphson se reduit `a une methode din-
tersection et la convergence de celle-ci est moins rapide que la convergence
quadratique.
4.6 Racines de Polynomes
4.6.1 Reduction polynomiale
La recherche de racines dun polynome se construit de la mani`ere suivante :
soit P
n
(x) un polynome de degre n. Si on obtient une premi`ere racine, on peut
ecrire
P
n
(x) = (x x
1
)P
n1
(x) (4.35)
o` u P
n1
(x) est un polynome de degre n 1. Ainsi, theoriquement, une fois
obtenue une premi`ere racine, on peut recommencer la recherche dune autre
racine pour une polynome de degre strictement inferieur. Successivement, on
poursuit cette procedure jusqu`a lobtention de lensemble des n racines du
38
4.6 Racines de Polynomes
polynome P
n
(x). Rappelons que les polynomes `a coecients complexes se fac-
torisent en un produit de monomes de degre 1. Cette propriete exprime le fait
que les polynomes `a coecients complexes ont lensemble de leurs racines dans
le plan complexe,
P
n
(x) =
n

i=1
(x x
i
) (4.36)
(C est un corps algebriquement clos).
4.6.2 Methode 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
ln([P
n
(x)[) =
n

i=1
ln([x x
i
[) (4.37)
En derivant lequation (4.37), on obtient
d ln([P
n
(x)[)
dx
=
n

i=1
1
x x
i
=
P

n
(x)
P
n
(x)
(4.38)
= G (4.39)
En derivant lequation (4.38), il vient

d
2
ln([P
n
(x)[)
dx
2
=
n

i=1
1
(x x
i
)
2
=
_
P

n
(x)
P
n
(x)
_
2

n
(x)
P
n
(x)
= H (4.40)
Soit la racine x
1
`a determiner, on suppose que la valeur de depart x est situee
`a une distance a de x
1
et que lensemble des autres racines sont situees `a une
distance supposee identique et qui vaut b
x x
1
= a (4.41)
x x
i
= b 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
a
+
n 1
b
= G (4.43)
1
a
2
+
n 1
b
2
= H (4.44)
39
Racines dequations
Apr`es elimination de b, la valeur de a est
a =
n
G
_
(n 1)(nH G
2
)
(4.45)
Le signe place devant la racine du denominateur est choisi tel que le denom-
inateur 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 nie, il est neces-
saire dajouter une procedure dite de lissage pour eviter les probl`emes dinsta-
bilite numerique.
40
Chapitre 5
Equations dierentielles
Contenu
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Denitions . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3 Equations dierentielles speciales . . . . . . . . . . 42
5.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 42
5.3.2 Equations du premier ordre . . . . . . . . . . . . . . . 43
5.3.3 Equation dierentielles du second ordre . . . . . . . . 44
5.3.4 Equation de Bessel . . . . . . . . . . . . . . . . . . . . 45
5.3.5 Equation dierentielle erreur . . . . . . . . . . . . . . 45
5.3.6 Equation dierentielle dHermite . . . . . . . . . . . . 45
5.4 Methodes dintegration `a pas separe . . . . . . . . . 45
5.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 45
5.4.2 Methode dEuler . . . . . . . . . . . . . . . . . . . . . 46
5.4.3 Methode RK explicites `a un point . . . . . . . . . . . 47
5.4.4 Methodes RK implicites `a un point . . . . . . . . . . . 47
5.4.5 Methodes RK explicites `a 2 points intermediaires . . . 47
5.4.6 Methodes RK explicites `a 3 points intermediaires . . . 48
5.4.7 Formule generale des methodes RK explicites . . . . . 48
5.5 Methode dintegration `a pas variables . . . . . . . . 49
5.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 49
5.6 Methodes de Runge-Kutta embarquees . . . . . . 49
5.7 Methode de Bulirsh-Stoer . . . . . . . . . . . . . . . 50
5.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 51
5.1 Introduction
La resolution numerique dequations dierentielles est tr`es souvent neces-
saire, faute de lexistence de solutions analytiques. Le but de ce chapitre est
de montrer que la meilleure methode, ou la plus ecace `a utiliser pour obtenir
une solution, necessite de connatre la nature de lequation dierentielle `a re-
soudre. Les methodes les plus standards que nous allons presenter sont large-
ment presentes dans les logiciels de calcul comme Maple, Matlab, Scilab, Oc-
tave, ou Mathematica, et surtout dans les biblioth`eques pour la programmation
41
Equations dierentielles
(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 Denitions
Soit une fonction numerique notee y(x) denie sur un intervalle de R et de
classe C
p
(contin ument derivable dordre p). On appelle equation dierentielle
dordre p une equation de la forme
F(x, y, y

, y

, . . . y
(p)
) = 0 (5.1)
o` u y

represente la derivee premi`ere par rapport `a x, y

la derivee seconde,
etc... Plus generalement, on appelle syst`eme dierentiel un ensemble dequations
dierentielles reliant une variable x et un certain nombre de fonction y
i
(x)
ainsi que leurs derivees. Lordre du syst`eme dierentiel correspond `a lordre de
derivation le plus eleve parmi lensemble des fonsctions.
On appelle solution de lequation dierentielle (5.1) toute fonction y(x) de
classe C
p
qui verie lequation (5.1).
On appelle forme canonique dune equation dierentielle une expression du
type
y
(p)
= f(x, y, y

, y

, . . . y
(p1)
) (5.2)
Seul ce type dequations sera considere dans ce chapitre.
Il est facile de verier que toute equation dierentielle canonique peut etre
ecrite comme un syst`eme dequations dierentielles du premier ordre.
Si on introduit p 1 fonctions denies comme
y
1
= y
y
2
= y

. . .
y
p
= y
(p1)
(5.3)
on peut exprimer lequation (5.2) sous la forme
y

1
= y
2
y

2
= y
3
. . .
y

p
= f(x, y, y
1
, y
2
, . . . y
p
) (5.4)
5.3 Equations dierentielles speciales
5.3.1 Introduction
Une classe restreinte, mais importante, dequations dierentielles ont des
solutions mathematiques sous la forme de fonctions transcendantes ou de fonc-
tions speciales en general. Nous allons donc donner un rapide apercu de ces
42
5.3 Equations dierentielles speciales
equations dierentielles particuli`eres qui contiennent en autres quelques equa-
tions dierentielles non-lineaires, dont limmense majorite ne peut etre resolue
que numeriquement.
5.3.2 Equations du premier ordre
Equation `a coecients constants
Les equations dierentielles ` a coecients constants de forme generale
a
dy
dx
+by(x) = c(x) (5.5)
ont pour solution generale
y(x) = e
b/ax
__
dt
c(t)
a
e
b/at
+cste
_
(5.6)
Equation lineaire
Une equation dierentielle lineaire a pour forme generale
dy
dx
+f(x)y(x) = g(x) (5.7)
o` u f(x) et g(x) sont des fonctions arbitraires. La solution de cette equation
dierentielle est
y(x) = e

R
x
f(u)du
(
__
dtg(t)e
R
t
f(u)du
+Cste
_
(5.8)
Equation de Bernouilli
Lequation de Bernouilli a pour forme generale
dy
dx
+f(x)y(x) +g(x)y(x)
a
= 0 (5.9)
o` u f(x) et g(x) sont des fonctions arbitraires. En introduisant le changement
de fonction
y(x) = u(x)
1
1a
(5.10)
lequation dierentielle devient une equation dierentielle du premier ordre
du
dx
= (a 1) (u(x)f(x) +g(x)) (5.11)
qui sintegre alors comme une equation dierentielle lineaire.
43
Equations dierentielles
Equation de Clairaut
Une equation de Clairaut est une equation de la forme
y(x) = x
dy
dx
+g
_
dy
dx
_
(5.12)
Ce type dequation dierentielle 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 lequa-
tion sous forme parametrique
x(s) = g

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

(s) (5.15)
Equation de Riccatti
La forme dune equation de Riccatti est donnee par lexpression suivante
dy
dx
f(x)y(x)
2
g(x)y(x) h(x) = 0 (5.16)
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 denie par lequation dierentielle
suivante
dy
dx
ay(x)
2
bx
c
= 0 (5.17)
Si de plus c est de la forme
c =
4 i
2i 1
(5.18)
avec i entier relatif, on peut obtenir une expression analytique de lequation
dierentielle de Riccati.
5.3.3 Equation dierentielles du second ordre
Equations dierentielles `a coecients constants
Les equations dierentielles `a coecients constants de forme generale
a
d
2
y
dx
2
+b
dy
dx
+cy(x) = d(x) (5.19)
ont pour solution compl`ete
y(x) =
2

i=1
e
u
i
x
_
C
i
+
_
e

bx
a
_
dt
2ad(t)

b
2
4ac
e
u
j
t
__
(5.20)
o` u les u
i
sont les solutions de lequation caracteristique
au
2
+bu +c = 0 (5.21)
et u
j
est la seconde racine de lequation caracteristique quand u
i
est la premi`ere.
44
5.4 Methodes dintegration `a pas separe
5.3.4 Equation de Bessel
Les equations dierentielles de Bessel sont denies par les equations suiv-
antes
x
2
d
2
y
dx
2
+x
dy
dx
+ (x
2
n
2
)y(x) = 0 (5.22)
et
x
2
d
2
y
dx
2
+x
dy
dx
(x
2
n
2
)y(x) = 0 (5.23)
ce qui donne respectivement pour solutions les equations de Bessel J et Y pour
la premi`ere et les equations de Bessel modiees I et K pour la seconde.
5.3.5 Equation dierentielle erreur
On appelle equation dierentielle erreur lequation suivante
d
2
y
dx
2
+ 2x
dy
dx
2ny(x) = 0 (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
y(x) = cx +d(e
x
2
+

erf(x)x) (5.26)
De mani`ere generale, la solution est une combinaison generale de fonction de
WhittakerM.
5.3.6 Equation dierentielle dHermite
Lequation dierentielle dHermite est tr`es proche de lequation dierentielle
precedente, puisque on a
d
2
y
dx
2
2x
dy
dx
+ 2ny(x) = 0 (5.27)
De mani`ere generale, la solution est aussi une combinaison generale de fonction
de WhittakerM.
5.4 Methodes dintegration `a pas separe
5.4.1 Introduction
Soit lequation dierentielle denie par les equations (5.4). On suppose que la
fonction f satisfait une condition de Lipschitz an 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 x
1
, x
2
, . . . x
N
de lintervalle [a, b], appele maillage de linter-
valle, avec x
0
= a et x
N
= b
45
Equations dierentielles
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
h =
(b a)
N
(5.28)
ce qui donne
x
k
= a +kh (5.29)
avec k = 0, 1, . . . , N
On appelle methode dintegration `a pas separe toute formule de recurrence
de la forme
y
k+1
= y
k
+h(x
k
, y
k
, h)
k = 0, 1, . . . N avec y
0
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 y
k+1
depend de
plusieurs valeurs precedentes y
k
, y
k1
, . . . y
kr
.
5.4.2 Methode dEuler
Cette methode est denie par
y
k+1
= y
k
+hf(y
k
, x
k
) (5.31)
avec y
0
donne.
Cette methode revient `a approximer la solution au voisinage de x
k
par sa
tangente et nous allons voir quelle est dordre 1. En eet, si la solution est
susamment derivable, on peut ecrire
y(x
k
+h) = y(x
k
) +hy

(x
k
) +
h
2
2
y

(x
k
+h) (5.32)
avec 0 1. ce qui donne
y(x
k
+h) = y(x
k
) +hf(y
k
, x
k
) +
h
2
2
y

(x
k
+h) (5.33)
Dapr`es la denition de la methode
1
h
(y(x
k
+h) y(x
k
) (y
k
(x
k
), x
k
, h)) =
y(x
k
+h) y(x
k
)
h
f(y(x
k
), x
k
)
(5.34)
ou
1
h
(y(x
k
+h) y(x
k
) (y
k
(x
k
), x
k
, h)) = h
y

(x
k
+h)
2
(5.35)
Si la derivee seconde de y est bornee par une constante K dans lintervalle
dintegration [a, b], on aura
max |
1
h
(y(x
k
+h) y(x
k
) (y
k
(x
k
), x
k
, h))| Kh (5.36)
ce qui montre que la methode est dordre un.
La methode dEuler est une methode numerique peu co uteuse numerique-
ment, mais peu precise quand on int`egre sur plusieurs pas de temps. Des amelio-
rations 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 Methode RK explicites `a un point
y
k,1
= y
k
+
h
2
f(x
k
, y
k
)
y
k+1
= y
k
+h(1 )f(x
k
, y
k
) +f(x
k
+
h
2
, y
k,1
)
y
0
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 Methodes RK implicites `a un point
La formule de recurrence est denie par la relation
y
k+1
= y
k
+h[(1 )f(x
k
, y
k
) +f(x
k+1
, y
k+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 ,= 1/2, la methode est dordre 1.
5.4.5 Methodes RK explicites `a 2 points intermediaires
Ces methodes sont denies par les relations
y
k,1
= y
k
+
h
3
f(x
k
, y
k
)
y
k,2
= y
k
+
2h
3
f
_
x
k
+
h
3
, y
k,1
_
y
k+1
= y
k
+
h
4
_
f(x
k
, y
k
) + 3f
_
x
k
+
2h
3
, y
k,2
__
(5.38)
ou par
y
k,1
= y
k
+
h
2
f(x
k
, y
k
)
y
k,2
= y
k
+h
_
f(x
k
, y
k
) + 2f
_
x
k
+
h
2
, y
k,1
__
y
k+1
= y
k
+
h
6
_
f(x
k
, y
k
) + 4f
_
x
k
+
h
2
, y
k,1
_
+f (x
k+1
, y
k,2
)
_
(5.39)
Ces deux methodes sont dordre 3. La premi`ere est parfois appelee methode de
Heun.
47
Equations dierentielles
5.4.6 Methodes RK explicites `a 3 points intermediaires
La methode suivante est de loin la plus connue et utilisee. Les relations de
recurrence sont les suivantes.
y
k,1
= y
k
+
h
2
f(x
k
, y
k
)
y
k,2
= y
k
+
h
2
f
_
x
k
+
h
2
, y
k,1
_
y
k,3
= y
k
+
h
2
f
_
x
k
+
h
2
, y
k,2
_
y
k+1
= y
k
+
h
6
_
f(x
k
, y
k
) + 2f
_
x
k
+
h
2
, y
k,1
_
+ 2f
_
x
k
+
h
2
, y
k,2
_
+f (x
k+1
, y
k,3
)
_
(5.40)
Cette methode est dordre 4.
5.4.7 Formule generale des methodes RK explicites
Les methodes de Runge Kutta secrivent de mani`ere generale
K
1
= h[f(x
k
+
1
h, y
k
+
1,1
K
1
+
1,2
K
2
+. . . +
1,n
K
n
)]
K
2
= h[f(x
k
+
2
h, y
k
+
2,1
K
1
+
2,2
K
2
+. . . +
2,n
K
n
)]
. . . . . .
K
n
= h[f(x
k
+
n
h, y
k
+
n,1
K
1
+
n,2
K
2
+. . . +
n,n
K
n
)]
y
k+1
= y
k
+h[
1
K
1
+
2
K
2
+. . .
n
K
n
] (5.41)
Les coecients sont determines an que lordre soit le plus eleve possible. On
note A la matrice de coecients (
i,j
), le vecteur des coecients
i
et le
vecteur des coecients
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

1,2
. . .
1,n

2

2,1

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

n

n,1

n,2
. . .
n,n
Avec cette representation, la methode Runge-Kutta explicite `a deux points
qui est dordre 4 est representee par le tableau suivant
1/6 1/3 1/3 1/6
0 0 0 0 0
1/2 1/2 0 0 0
1/2 0 1/2 0 0
1 0 0 1 0
48
5.5 Methode dintegration `a pas variables
5.5 Methode dintegration `a pas variables
5.5.1 Introduction
Un integrateurintelligentposs`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 dierentiel 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 an de minimiser cet eort 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 dierents, 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) = y
1
+ (2h)
5
+O(h
6
) (5.42)
y(x + 2h) = y
2
+ 2(h
5
) +O(h
6
) (5.43)
o` u est une fonction qui reste constante sur lintervalle x, x + 2h `a lordre h
5
.
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
dierence
= y
2
y
1
(5.44)
fournit une estimation de lerreur commise avec un pas dintegration h.
5.6 Methodes de Runge-Kutta embarquees
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.
y
1
= y(x) +
6

i=1

i
K
i
+ 0(h
6
) (5.45)
y
2
= y(x) +
6

i=1

i
K
i
+ 0(h
5
) (5.46)
ce qui conduit `a une estimation de lerreur
=
6

i=1
(
i

i
)K
i
(5.47)
Pour determiner la valeur du pas la plus adaptee, on note tout dabord que
est calcule `a lordre h
5
. Si on a un pas h
1
qui donne une erreur
1
, le pas h
0
donne pour une erreur
0
xee `a lavance, est donne par la relation
h
0
= h
1

1/5
(5.48)
49
Equations dierentielles
0.5 1 1.5 2 2.5 3 3.5
-2
0
2
4
6
8
10
1
2
3
Fig. 5.1 Schema illustrant le principe de la methode de Burlish-Stoer. Les
lignes en pointille correspondent aux integrations realisees avec trois pas din-
tegration dierents. La courbe en trait plein correspond `a la solution exacte.
Il est donc possible, pour une valeur de [
0
[ donnee `a lavance de diminuer h
0
pour obtenir une erreur plus faible ou daugmenter h
0
de mani`ere raisonnable
si
1
est inferieur en valeur absolue `a [
0
[.
Une diculte apparat pour ce type de methode quand on consid`ere un sys-
t`eme dierentiel `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 Methode de Bulirsh-Stoer
Lidee de cette methode repose sur les trois principes suivants : la resolution
de lequation dierentielle pour un accroissement de x est donnee par une
fonction qui depend de h, mais qui tend vers une limite nie (independante de
h) ; on cherche `a estimer la valeur exacte du syst`eme dierentiel `a integrer en
calculant pour dierents pas et en prenant la limite dun pas tendant vers zero.
La gure 5.1 illustre graphiquement les dierentes estimations de la valeur
de la fonction solution en utilisant trois pas dintegration dierents. 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 frac-
tions 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 dierentiels 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 symplec-
tiques ; un exemple de ce type dalgorithme est lalgorithme dit de Verlet dont
le principe est decrit dans le cours Simulation numerique en Physique Statis-
tique.(http ://www.viot.fr)
51
Equations dierentielles
52
Chapitre 6
Equations dierentielles
stochastiques
Contenu
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 53
6.2 Variables aleatoires et processus stochastiques . . . 54
6.3 Processus de Wiener, bruit blanc . . . . . . . . . . . 56
6.3.1 Equation de diusion . . . . . . . . . . . . . . . . . . 56
6.3.2 Equation de Langevin . . . . . . . . . . . . . . . . . . 57
6.4 Calcul dIto et equations dierentielles stochastiques 58
6.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 58
6.4.2 Calcul dierentiel stochastique . . . . . . . . . . . . . 59
6.4.3 Processus dOrstein-Uhlenbeck . . . . . . . . . . . . . 60
6.4.4 Mod`ele de Black-Scholes . . . . . . . . . . . . . . . . . 61
6.4.5 Transformee de Lamperti . . . . . . . . . . . . . . . . 62
6.5 Methodes numeriques . . . . . . . . . . . . . . . . . . 63
6.5.1 Introdution . . . . . . . . . . . . . . . . . . . . . . . . 63
6.5.2 Schema dEuler . . . . . . . . . . . . . . . . . . . . . . 64
6.5.3 Schema de Milstein . . . . . . . . . . . . . . . . . . . . 64
6.5.4 Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . 65
6.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 65
6.1 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 pro-
pose 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 uctuations liees `a lenvironnement par laddi-
tion dun bruit aleatoire, les evolutions des marches nanciers ont ete depuis
53
Equations dierentielles 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 resolu-
tion des equations dierentielles stochastiques. Sur un sujet tr`es vaste et en evo-
lution rapide, nous serons tr`es loin de lexhaustivite. Nous allons donc rappeler
les denitions et proprietes fondamentales concernant les processus stochas-
tiques ainsi que ceux des equations dierentielles stochastiques, et nous ren-
voyons le lecteur `a plusieurs ouvrages de base concernant les processus stochas-
tiques.
6.2 Variables aleatoires et processus stochastiques
Pour denir 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 denissant 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 t
1
, t
2
, ..., t
n
, ....
Un processus stochastique est deni comme une dynamique dont les eveve-
ments successifs sont donnes par une loi de probabilite. Trois denitions sont
particuli`erement importantes pour classier le type de processus stochastique
que lon etudie. Si on note x
1
, x
2
, ...x
n
la sequence de la variable X, on denit
la probabilite jointe de ces n valeurs successives
p(x
1
, t
1
; x
2
, t
2
; ...x
n
, t
n
), (6.1)
comme la probabilite de voir realiser la sequence de valeurs de X constituant
des valeurs (dans lordre) de x
1
`a x
n
aux instants de t
1
`a t
n
.
On denit alors la probabilite conditionnelle de la sequence x
i
, x
i+1
, ...x
n
arrivant aux instants t
i
, t
i+1
, ...t
n
sachant la sequence x
1
, x
2
, ..., x
i1
a eu lieu
aux instants t
1
, t
2
, ..., t
i1
comme
p(x
i
, t
i
; x
i+1
, t
i+1
; ...x
n
, t
n
[x
1
, t
1
; x
2
, t
2
; ...x
i1
, t
i1
) =
p(x
1
, t
1
; x
2
, t
2
; ...x
n
, t
n
)
p(x
1
, t
1
; x
2
, t
2
; ...x
i1
, t
i1
),
(6.2)
On denit la probabilite marginale p(x
2
, t
2
) dune probabilite jointe p(x
2
, t
2
; x
1
, t
1
)
comme la somme sur tous les evenements x
1
qui sont apparus `a linstant t
1
p(x
2
, t
2
) =
_
dx
1
p(x
2
, t
2
; x
1
, t
1
) (6.3)
de mani`ere similaire, on peut generaliser ce type dequation pour la probabilite
davoir un evenements x
3
`a t
3
sachant que lon a eu un evevement x
1
`a linstant
t
1
.
p(x
3
, t
3
[x
1
, t
1
) =
_
dx
2
p(x
3
, t
3
; x
2
, t
2
[x
1
, t
1
) (6.4)
=
_
dx
2
p(x
3
, t
3
[x
2
, t
2
, x
1
, t
1
)p(x
2
, t
2
[x
1
, t
1
) (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 denis par une loi de probabilite conditionnelle qui est independente des
evevements anterieurs `a linstant present. En termes de probabilites, la proba-
bilite conditionnelle que levenement x
i
apparaisse `a linstant t
i
est donnee par
lequation
p(x
i
, t
i
[x
i1
, t
i1
; ...x
2
, t
2
; x
1
, t
1
) = p(x
i
, t
i
[x
i1
, t
i1
) (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 diusion de
particules, la simulation Monte Carlo, et aussi les modelisations des marches
nanciers...
Pour un processus Markovien, lequation (6.4) se simplie compte tenu de
la propriete, Eq. (6.13), et on obtient lequation dite de Chapman-Kolmogorov
p(x
3
, t
3
[x
1
, t
1
) =
_
dx
2
p(x
3
, t
3
[x
2
, t
2
)p(x
2
, t
2
[x
1
, t
1
) (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 peut-
etre aussi generalisee et apr`es calculs on obtient (dans le cas o` u espace et temps
sont continus)
p(y, t[x, t

)
t
=

y
_
A(y, t)p(y, t[x, t

+
1
2

2
y
2
_
B(y, t)p(y, t[x, t

+
_
dz(W(y[z, t), p(y, t[x, t

)[ W(z[x, t)p(z, t[x, t

)) (6.8)
o` u les fonctions A(x, t), B(x, t) et W(z[x, t) sont denis de mani`ere suivante :
A(x, t) = lim
t0
1
t
_
|xy|<
dy(y x)p(y, t + t[x, t), (6.9)
B(x, t) = lim
t0
1
t
_
|xy|<
dy(y x)
2
p(y, t + t[x, t), (6.10)
et
W(x[z, t) = lim
t0
1
t
p(x, t + t[z, t). (6.11)
Dans le cas o` u lespace est discr`et et le temps continu, lequation de Chapman-
Kolmogorov prend alors la forme suivante
55
Equations dierentielles stochastiques
p(n, t[n

, t

)
t
=

m
(W(n[m, t), p(m, t[n

, t

)[ W(m[n, t)p(n, t[n

, t

)) (6.12)
Cette derni`ere equation correspond par exemple `a la dynamique Monte-Carlo
dans le cas dun mod`ele dIsing. Pour les dierentes equations de Chapman-
Kolmogorov, il existe une innite de solutions qui satisfont ces equations et il est
necessaire de specier plus precisement la dynamique pour obtenir une solution
unique. Nous allons voir maitenant des processus Markoviens tr`es utiles.
6.3 Processus de Wiener, bruit blanc
6.3.1 Equation de diusion
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 proba-
bilite donnee par
p(w, t[w
0
, t
0
)
t
=
1
2

2
w
2
p(w, t[w
0
, t
0
) (6.13)
ce qui correspond `a une equation de diusion. La solution de cette equation est
bien entendu exacte et donnee par une Gaussienne
p(w, t[w
0
, t
0
) =
1
_
2(t t
0
)
exp
_

(w w
0
)
2
2(t t
0
)
_
(6.14)
Cela donne pour la valeur moyenne
< W(t) >= w
0
(6.15)
et la variance
< (W(t) w
0
)
2
>= t t
0
(6.16)
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 innie ce qui correspond au fait que la tra-
jectoire nest pas dierentiable (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 lindepen-
dance statistique des increments successifs de la variable W.
56
6.3 Processus de Wiener, bruit blanc
0 20 40 60 80 100

5
0
5
t
y
1
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 dierentielle que lon cherche `a resoudre est lequa-
tion de type Langevin denie comme suit
dx
dt
= a(x, t) +b(x, t)(t) (6.17)
o` u a(x, t) et b(x, t) sont des fonctions continues et (t) est un fonction aleatoire
uctuante variant rapidement. Sans perdre de generalite, on peut toujours im-
poser (`a une redenition pr`es de la fonctions a) que la moyenne de est nulle,
< (t) >= 0 et on impose que
< (t)(t

) >= (t t

) (6.18)
qui impose labscence de correlations entre les dierents 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 denie par lequation (6.18), on
obtient une fonction independante de la frequence, ce qui signie que toutes les
frequences sont egalement representees dans le spectre et par analogie avec le
spectre lumineux, on qualie ce processus de bruit blanc.
Soit le processus u(t) deni par lintegrale suivante
u(t) =
_
t
0
dt

(t

) (6.19)
Il est simple de verier que u(t) et u(t

)u(t) sont statistiquement independant


pour t

> t. En dautres termes u(t) est un processus stochastique Markovien.


De plus, on verie que < u(t

) u(t) >= 0 et < (u(t

) u(t))
2
>= t

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
Equations dierentielles stochastiques
0 20 40 60 80 100

0
.
4

0
.
2
0
.
0
0
.
2
0
.
4
t2
x
1
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 dierentiable, ce qui signie que la denition de (t) est en fait mathe-
matiquement 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 diculte, on peut voir
que dW(t) est de lordre de

dt contrairement `a une forme dierentielle usuelle.


6.4 Calcul dIto et equations dierentielles stochas-
tiques
6.4.1 Introduction
Pour resoudre lequation de Langevin precedemment introduite, nous avons
`a calculer une integrale de la forme
_
t
t
0
f(t)dW(t) (6.21)
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
S
n
=
n

i=1
f(
i
)(W(t
i
) W(t
i1
)) (6.22)
o` u
i
est un temps intermediaire entre t
i1
et t
i
.
Si on choisit maintenant f(t) = W(t), on peut calculer exactement la
58
6.4 Calcul dIto et equations dierentielles stochastiques
moyenne de lintegrale sur les dierentes realisations du processus de Wiener
< S
n
>=
n

i=1
(Min(
i
, t
i
) Min(
i
, t
i1
)) (6.23)
=
n

i=1
(
i
t
i1
) (6.24)
Si maintenant on choisit de prendre
i
comme le barycentre des extr`emites de
lintervalle de temps

i
= t
i
+ (1 )t
i1
(6.25)
avec compris entre 0 et 1, on obtient pour la valeur moyenne de S
n
< S
n
>= (t t
0
) (6.26)
ce qui conduit `a avoir un resultat qui depend compl`etement du point interme-
diaire, meme une fois la moyenne sur les dierentes realisations !
Pour denir de mani`ere la valeur dune integrale stochastique, il est neces-
saire de choisir le point intermediaire et le choix dIto est de prendre = 0.
Ainsi, on a
_
t
t
0
f(t)dW(t) = lim
n
n

i=1
f(t
i1
)(W(t
i
) W(t
i1
)) (6.27)
Ce choix est physiquement raisonnable car il signie que lon choisit deval-
uer 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
eet, on peut montrer en utilisant les proprietes dun processus de Wiener que
_
t
t
0
f(t)(dW(t))
2
=
_
t
t
0
f(t)dt (6.28)
ce qui, une fois de plus, met en evidence que la forme dierentielle dW(t) est
de lordre

dt
6.4.2 Calcul dierentiel stochastique
Soit le changement de variable dy = f(x(t), t). Si on fait un developpement
`a lordre 2 en dx, on obtient
dy(t) = f(x(t +dt)) f(x(t)) +
f
t
dt (6.29)
=
f(x, t)
x
dx(t) +

2
f(x, t)
2x
2
dx(t)
2
+
f
t
dt... (6.30)
Compte tenu de la forme dierentielle de lequation de Langevin, le terme
en dx(t)
2
contient des termes en dt
2
, dWdt qui sont negligeables, mais il reste
59
Equations dierentielles stochastiques
OrnsteinUhlenbeck
Time
X
0.0 0.2 0.4 0.6 0.8 1.0
0
2
4
6
8
1
0
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
dy(t) =(
f(x, t)
t
+a(x, t)
f(x, t)
x
+

2
f(x, t)
2x
2
b
2
(x, t))dt
+b(x, t)f

(x).dW(t) (6.31)
Une fois ces r`egles parfaitement denies

il est possible de donner un sens


`a lequation de Langevin ; sa solution est une integrale stochastique integrale
donnee par
x(t) x(t
0
) =
_
t
t
0
dt

a(x(t

), t

) +
_
t
t
0
dW(t

)b(x(t

), t

) (6.32)
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
dt
= ( x(t)) +(t) (6.33)
ou de mani`ere equivalente (et mathematiquement plus correcte), on peut ecrire
sous la forme dierentielle suivante
dx = ( x(t))dt +dW(t) (6.34)
o` u dW(t) est la forme dierentielle dun processus de Wiener.
On utilise le changement de variable suivant
y(t) = x(t)e
t
(6.35)
60
6.4 Calcul dIto et equations dierentielles stochastiques
Time
G
B
M
(
x

=

1
,

r

=

0
.
2
,

s
i
g
m
a

=

0
.
4
,

T

=

1
0
,

N

=

5
0
0
)
0 2 4 6 8 10
1
2
3
4
5
6
7
Fig. 6.4 Exemple de trajectoire dun mouvement Brownien geometrique
En appliquant les r`egles dIto, on a
dy(t) =x(t)e
t
dt +e
t
dx(t) (6.36)
=e
t
dt +e
t
dW(t) (6.37)
On peut alors faire lintegrale stochastique, ce qui donne
y(t) = y(t
0
) +(e
t
1) +
_
t
t
0
e
s
dW(s) (6.38)
Revenant `a la variable initiale x(t), on obtient
x(t) = x(t
0
)e
t
+(1 e
t
) +
_
t
t
0
e
(st)
dW(s) (6.39)
La valeur moyenne `a linstant t est donnee par
< x(t) >= x(t
0
)e
t
+(1 e
t
) (6.40)
tandis que la variance est donnee par
< x(t)
2
> < x(t) >
2
=

2

(1 e
2t
) (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 nie quand le temps devient tr`es grand.
6.4.4 Mod`ele de Black-Scholes
Le mod`ele de Black-Scholes est un processus Markovien stochastique satis-
faisant lequation de Langevin suivante
dS(t)
dt
= S(t)( +(t)) (6.42)
61
Equations dierentielles stochastiques
o` u S(t) est le prix de lactif sous-jacent `a linstant t. Pour les lecteurs peu
familiers au mod`eles nanciers, 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 vari-
able
y(t) = ln(S(t)) (6.43)
ce qui donne
dy(t) =
dS(t)
S(t)


2
dt
2
(6.44)
=(

2
2
)dt +dW(t) (6.45)
La solution est donnee par lintegrale stochastique suivante
y(t) = y(t
0
) + (

2
2
)t +W(t) (6.46)
Revenant `a la variable S(t), on obtient
S(t) = S(t
0
) exp((

2
2
)t +W(t)) (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 com-
portements plus realistes, en particulier, la volatilite symbolisee par nest
generalement pas constante en fonction du temps.
6.4.5 Transformee de Lamperti
Avant daborder les methodes de resolution numerique, nous allons intro-
duire la transformee de Lamperti qui est tr`es utile pour traiter de nombreux pro-
cessus stochastiques Markoviens. Sous la forme dierentielle (autonome) suiv-
ante
dX(t) = a(X, t)dt +b(X)dW(t) (6.48)
On appelle la transformee de Lamperti de X, la fonction Y denie de la mani`ere
suivante
Y (t) = F(X(t)) =
_
X(t)
0
du
b(u)
(6.49)
Avec ce changement de variable, lequation stochastique devient
dY (t) = a
Y
(Y, t)dt +dW(t) (6.50)
avec
a
Y
(y, t) =
a(t, F
1
(y)
b(F
1
(y))

1
2
b
x
(F
1
(y)) (6.51)
62
6.5 Methodes numeriques
La demonstration de cette propriete est un simple exercice du calcul dierentiel
stochastique expose ci-dessus. Linter`et de cette transformation est quelle sup-
prime le bruit multiplicatif de lequation dierentielle stochastique initiale au
prot 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 Methodes numeriques
6.5.1 Introdution
De mani`ere similaire aux equations dierentielles 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 dierentielles
stochastiques, `a quelques dierences 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 dierentes, cette dierence saccroissant
avec le temps. Si par contre, on cherche `a resoudre un processus dOrnstein-
Uhlenbeck, on sait que le syst`eme evolue vers une distribution stationnaire que
la variance des trajectoires est nie... (ii) Les schemas dapproximation des
methodes de resolution des equatioins dierentielles sont bases sur le calcul
dierentiel usuel. Dans le cas des equations dierentielles stochastiques, ces
schemas reposent sur le calcul dierentiel stochastique de nature assez dierente.
(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 tech-
niques, 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 +x
2
) (6.53)
Sur le plan numerique, on parle dordre fort de convergence si une ap-
proximation discretisee en temps X

dun processus continu X, representant


la borme superieure des increments de temps utilises verie la propriete
[X

(T) X(T)[) C

(6.54)
63
Equations dierentielles stochastiques
les crochets symbolisant la valeur moyenne sur les trajectoires et C etant une
constante.
6.5.2 Schema dEuler
Soit `a nouveau la forme dierentielle de lequation stochastique
dX(t) = a(X, t)dt +b(X, t)dW(t)
avec une valeur initiale X
0
.
Lapproximation dEuler consiste `a utiliser une discretisation reguli`erement
espacee du temps t
i
= 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 dierentielles ordinaires
X
i+1
= X
i
+a(X
i
, t
i
)(t
i+1
t
i
) +b(X
i
, t
i
)(W
i+1
W
i
) (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 soure de
defaults similaires `a ceux rencontres lors des equations dierentielles 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 Schema de Milstein
Il est bien evidemment raisonnable de chercher davoir une methode de re-
solution 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 dierentiel. En utilisant `a nouveau un pas de discretisation tem-
potrel constant, on a le schema iteratif suivant
X
i+1
= X
i
+a(X
i
, t
i
)(t
i+1
t
i
) +b(X
i
, t
i
)(W
i+1
W
i
)+
1
2
b(X
i
, t
i
)
b
x
(X
i
, t
i
)[(W
i+1
W
i
)
2
(t
i+1
t
i
)] (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 dierentielle stochastique de depart.
En eet, dans le cas o` u lequation stochastique de depart na pas de bruit multi-
plicatif, 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 trans-
formee est identique au schema de Milstein sur lequation originale. Dans le cas
o` u la transformee de Lamperti est dicile `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 dierentielles 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 Runge-
Kutta explicite dordre 1.5
X
i+1
= X
i
+a(X
i
, t
i
)(t
i+1
t
i
) +b(X
i
, t
i
)(W
i+1
W
i
)+
1
2
(b(X

i
, t
i
) b(X
i
, t
i
))
[(W
i+1
W
i
)
2
(t
i+1
t
i
)]
_
(t
i+1
t
i
)
(6.57)
avec
X

i
= X
i
+a(X
i
)(t
i+1
t
i
) +b(X
i
)
_
(t
i+1
t
i
) (6.58)
Cette methode permet de realiser des simulations en nutilisant quun nom-
bre aleatoire issu dune distribution gaussienne. Il existe bien entendu dautres
methodes dordre plus eleve, mais faisant faisant intervenir des nombres alea-
toires qui ne sont pas des variables aleatoires gaussiennes, ce qui complique de
beaucoup la resolution de lequation dierentielle stochastique. Toutefois, pour
des equations de Langevin sans bruit multiplicatif, il a ete developpe des al-
gorithmes 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 dierentielles 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 dierentielles stochastiques
66
Chapitre 7
Transformee de Fourier rapide
et algorithmes de tri
Contenu
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 67
7.2 Proprietes . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.3 Discretisation de la transformee de Fourier . . . . . 70
7.3.1

Echantillonage . . . . . . . . . . . . . . . . . . . . . . 70
7.3.2 Transformee de Fourier discr`ete . . . . . . . . . . . . . 71
7.4 Transformee de Fourier rapide . . . . . . . . . . . . 72
7.5 Algorithmes de tri . . . . . . . . . . . . . . . . . . . . 74
7.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 74
7.5.2 Methode dinsertion . . . . . . . . . . . . . . . . . . . 74
7.5.3 Tri `a bulles . . . . . . . . . . . . . . . . . . . . . . . . 75
7.5.4 Tri rapide . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.1 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 fonda-
mentales des transformees de Fourier pour la resolution de probl`emes mathema-
tiques, nous allons presenter le principe de la methode numerique de levaluation
de cette transformee. Plus speciquement, 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 ln
2
(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 re cu le nom de trans-
formee de Fourier rapide (FFT, Fast Fourier Transform, en anglais), que toute
biblioth`eque mathematique propose generalement `a son catalogue.
Protant 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 Proprietes
Soit une fonction f denie sur R, on appelle transformee de Fourier de f,
la fonction

f

f() =
_
+

f(t)e
2it
dt (7.1)
La transformee de Fourier inverse est denie comme
f
1
(t) =
_
+

f()e
2it
d (7.2)
Pour une fonction f integrable, il y a identite entre la fonction f
1
et la fonction
f, hormis eventuellement sur un support de R de mesure nulle.
Une autre denition de la transformee de Fourier rencontree dans la littera-
ture est celle qui correspond `a une representation en pulsation au lieu de celle
en frequence donnee ci-dessus.

f() =
_
+

f(t)e
it
dt (7.3)
La transformee de Fourier inverse correspondante est denie comme
1
f
1
(t) =
1
2
_
+

f()e
it
d (7.6)
Avec le logiciel Maple, la transformee de Fourier est denie dune mani`ere
encore dierente !

f() =
_
+

f(t)e
it
dt (7.7)
avec bien entendu la transformee de Fourier inverse correspondante
f
1
(t) =
1
2
_
+

f()e
it
d (7.8)
Compte tenu des dierentes denitions 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 denie comme

f() =
1

2
Z
+

f(t)e
it
dt (7.4)
et la transformee de Fourier inverse comme
f1(t) =
1

2
Z
+

f()e
it
d (7.5)
68
7.2 Proprietes
lon va utiliser, en testant une fonction dont la transformee de Fourier est con-
nue 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 larchitec-
ture 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
Soit f(at), sa transformee de Fourier est donnee par
1
|a|

f(

a
).
Soit
1
|b|
f(
t
|b|
), la transformee de Fourier est donnee par

f(b).
Soit f(t t
0
), la transformee de Fourier est donnee par

f()e
2it
0
.
Soit f(t)e
2it
0
, 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 denie sur R,
La distribution est denie `a partir de la relation suivante
_
+

dxf(x)(x x
0
) = f(x
0
) (7.9)
Ainsi, on en deduit facilement que
_
+

dx(x x
0
)e
2kix
= e
2kix
0
(7.10)
et donc que
_
+

dx(x)e
2ikx
= 1 (7.11)
Par inversion de cette relation, on a la representation integrale de la distribution

(x) =
_
+

dke
2ikx
(7.12)
69
Transformee de Fourier rapide et algorithmes de tri
De mani`ere equivalente, on montre que
(x) =
1
2
_
+

dke
ikx
(7.13)
La propriete sans doute la plus importante concernant les transformees de
Fourier concerne la convolution. Soit deux fonctions f et g denie sur C, on
denit la convolution de f avec g notee f g comme
(f g)(t) =
_
+

f()g(t )d (7.14)
On verie 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 denit la fonction dautocorrelation comme
C
f
(t) =
_
+

duf(u)f(t +u) (7.16)


La transformee de Fourier de la fonction C
f
est alors donnee par

C
f
() =

f()

f() (7.17)
Compte tenu du fait que f est reelle, on a

f() = (

f())

, ce qui donne

C
f
() = [

f()[
2
(7.18)
Cette relation est appelee theor`eme de Wiener-Khinchin.
Le theor`eme de Parseval donne que
_
+

[f(t)[
2
dt =
_
+

f()[
2
d (7.19)
7.3 Discretisation de la transformee de Fourier
7.3.1

Echantillonage
Dans la situation la plus frequemment rencontree, la fonction f est echantil-
lonnee `a intervalle regulier. Soit le pas separant deux mesures consecutives,
on a
f
n
= 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,

c
=
1
2
(7.21)
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 trans-
formee de Fourier est strictement limite `a lintervalle [
c
,
c
], la fonction f(t)
est alors donnee par la formule
f(t) =
+

n=
f
n
sin(2
c
(t n))
(t n)
(7.22)
Si la fonction f(t) est multipliee par la fonction e
2
1
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 Transformee de Fourier discr`ete
Soit un nombre ni de points o` u la fonction f a ete echantillonnee
f
k
= f(t
k
) avec k = 0, 1, 2, . . . , N 1 (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
denies 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 indepen-
dants.
Soit un nombre ni de points note h
k
, on denit la transformee de Fourier
discr`ete comme

h
n
=
1
N
N1

k=0
h
k
e
2ikn/N
(7.25)
La transformee de Fourier discr`ete inverse est donnee par
h
k
=
N1

n=0

h
n
e
2ikn/N
(7.26)
Ces transformees de Fourier sont denies independamment des abscisses corre-
spondant 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
)

f
n
(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
N1

k=0
[

h
k
[
2
=
1
N
N1

k=0
[h
k
[
2
(7.30)
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 dierences entre la transformee de Fourier discr`ete et
son inverse sont au nombre de deux : un changement de signe dans lexponen-
tielle complexe et un facteur de normalisation en 1/N. Ces faibles dierences
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 Transformee de Fourier rapide
Lidee de base de la transformee de Fourier rapide repose sur la remarque
suivante : posons
W = e
2i/N
(7.31)
La composante de Fourier de h sexprime alors comme

h
n
=
N1

k=0
W
nk
h
k
(7.32)
Ainsi le vecteur h de composante h
k
est multiplie par une matrice de coecients
a
nk
= 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 eet, en supposant que le nombre N est
2
La transformee de Fourier continue est approchee de la mani`ere suivante

f(n) =
Z
+

f(t)e
2int
dt (7.28)

N1
X
k=0
f
k
e
2int
k
(7.29)
72
7.4 Transformee de Fourier rapide
pair, on peut separer la contribution des termes pairs et celle des termes impairs
dans lequation
F
k
=
N1

j=0
e
2ijk/N
f
j
(7.33)
=
N/21

j=0
e
2i(2j)k/N
f
2j
+
N/21

j=0
e
2i(2j+1)k/N
f
2j+1
(7.34)
=
N/21

j=0
e
2ijk/(N/2)
f
2j
+W
k
N/21

j=0
e
2ijk/(N/2)
f
2j+1
(7.35)
=F
p
k
+W
k
F
i
k
(7.36)
o` u F
p
k
represente la ki`eme composante de Fourier pour les composantes paires
de la fonction de depart et F
i
k
represente la ki`eme composante de Fourier pour
les composantes impaires de la fonction de depart. A noter que ces deux com-
posantes 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 f
n
correspondant. Le nombre dindices
pour caracteriser ce nombre est egal `a ln
2
(N)
F
iipip...ppi
k
= f
n
(7.37)
On remarque donc que pour chaque valeur de n on a un alphabet ni 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 pre-
mi`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 gure 7.1 illustre le nombre doperations `a eectuer
pour inverser les elements du tableau selon le mecanisme du renversement de
bits.
De nombreuses variantes de cet algorithme original sont disponibles, qui per-
mettent dobtenir la transformee de Fourier pour un nombre de points dierent
dune puissance de deux.
73
Transformee de Fourier rapide et algorithmes de tri
000
001
010
011
100
101
110
111
000
001
010
011
100
101
110
111
000
001
010
011
100
101
110
111
(a)
(b)
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 eectuer :
deux operations dechange delements.
7.5 Algorithmes de tri
7.5.1 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 deni 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 eectuee. 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 Methode 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 ecaces car ceux-ci dependent du nombre
delements comme N log
2
(N). Neanmoins, un algorithme de type insertion reste
susamment ecace 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 eectue 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 a
1
.
On construit avec les autres elements deux sous tableaux : le premier contient
les elements plus petits que a
1
et le second les elements plus grands. On peut
placer a
1
`a la bonne place dans le tableau nal et on applique lalgorithme du
tri rapide sur chacun des deux sous-tableaux. On peut montrer quen moyenne
lalgorithme est en N log
2
(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 nom-
75
Transformee de Fourier rapide et algorithmes de tri
breuses biblioth`eques sont disponibles, ou dans les logiciels scientiques o` u les
instructions de tri sont disponibles, mais il convient de tester la methode la plus
adaptee car le desordre initialdu tableau `a trier inue de mani`ere signicative
sur la performance des algorithmes.
76
Chapitre 8
Equations aux derivees
partielles
Contenu
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 77
8.2 Methode de la caracteristique . . . . . . . . . . . . . 78
8.2.1 Equation du premier ordre lineaire et quasi-lineaire . . 78
8.2.2 Surface solution . . . . . . . . . . . . . . . . . . . . . . 78
8.2.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.3 Classication des EPDL du second ordre . . . . . . 81
8.4 Equations avec conditions aux fronti`eres . . . . . . 84
8.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 84
8.4.2 Dierences nies . . . . . . . . . . . . . . . . . . . . . 84
8.4.3 Methodes matricielles . . . . . . . . . . . . . . . . . . 85
8.4.4 Methodes de relaxation . . . . . . . . . . . . . . . . . 85
8.4.5 Methodes de Fourier . . . . . . . . . . . . . . . . . . . 85
8.5 Equations avec conditions initiales . . . . . . . . . . 87
8.5.1 Equations `a ux conservatif . . . . . . . . . . . . . . . 87
8.5.2 Une approche nave . . . . . . . . . . . . . . . . . . . 88
8.5.3 Crit`ere de Stabilite de Von Neumann . . . . . . . . . . 89
8.5.4 Methode de Lax . . . . . . . . . . . . . . . . . . . . . 90
8.5.5 Methode de Crank-Nicholson . . . . . . . . . . . . . . 91
8.5.6 Methode `a contre-vent . . . . . . . . . . . . . . . . . 92
8.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 93
8.1 Introduction
Les equations aux derivees partielles interviennent dans de nombreux do-
maines de physique, qui comprennent les probl`emes de diusion, les phenom`enes
de propagation, ainsi que le domaine de la mecanique des uides decrite par
les equations hydrodynamiques comme celles de Navier-Stokes et lequation de
Schrodinger dependante du temps pour la mecanique quantique. Ces equations
77
Equations aux derivees partielles
dierentielles 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 (x
1
, x
2
, . . . , x
n
) et o` u L est un operateur
deni par la relation
L = p
0
(x) +
n

i=1
p
i
(x)
i
+
n

i,j=1
p
ij
(x)
i

j
+. . . (8.2)
Si g(x) = 0, on dit que lequation est homog`ene.
8.2 Methode de la caracteristique
8.2.1 Equation du premier ordre lineaire et quasi-lineaire
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 equa-
tions correspondent `a la forme suivante
P(x, y, f)
f
x
+Q(x, y, f)
f
y
= R(x, y, f) (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 sap-
plique 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 dierentielle de cette equation, on obtient
dg =
g
x
dx +
g
y
dy +
g
f
df (8.5)
78
8.2 Methode de la caracteristique
M V
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
x
dx +
f
y
dy (8.6)
En eliminant df dans lequation (8.5), on obtient la dierentielle de g sous la
forme
dg =
_
g
x
+
g
f
f
x
_
dx +
_
g
y
+
g
f
f
xy
_
dy (8.7)
Comme les variables x et y sont independantes, on doit necessairement avoir
g
x
+
g
f
f
x
= 0 (8.8)
g
y
+
g
f
f
y
= 0 (8.9)
Comme par hypoth`ese on a
g
f
,= 0, on en deduit que
f
x
=
g
x
g
f
(8.10)
f
y
=
g
y
g
f
(8.11)
79
Equations aux derivees partielles
En inserant les equations (8.10)- (8.11) dans lequation (8.3), il vient
P(x, y, f)
g
x
+Q(x, y, f)
g
y
+R(x, y, f)
g
f
= 0 (8.12)
En introduidant le vecteur gradient `a la surface g(x, y, f) = 0, on
g =
g
x
i +
g
y
j +
g
f
k (8.13)
Par denition le vecteur f est un vecteur normal `a la surface au point r de
coordonnees (x, y, f). On denit 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 signie que V est un champ de vecteur qui vit sur la surface denie par
lequation g = 0 (voir g.8.1). Pour determiner la caracteristique de ce champ
de vecteur, on doit resoudre lequation dierentielle suivante
dr(t)
dt
= V (8.16)
o` u r(t) est un vecteur
r(t) = x(t)i +y(t)j +f(t)k (8.17)
avec t qui est un param`etre caracterisant la caracteristique.
On a de facon evidente
dr(t)
dt
=
dx(t)
dt
i +
dy(t)
dt
j +
df(t)
dt
k (8.18)
Par identication avec les equations (8.14) et (8.17), on obtient le syst`eme
dequations dierentielles suivant
dx(t)
dt
= P(x, y, f) (8.19)
dy(t)
dt
= Q(x, y, f) (8.20)
df(t)
dt
= R(x, y, f) (8.21)
Il est `a noter que deux de ces trois equations dierentielles sont independantes.
La methode de la caracteristique permet de reduire une equation dierentielle
du premier ordre lineaire ou quasi-lineaire en un syst`eme dequations dieren-
tielles du premier ordre, bien plus facile `a trater pour obtenir une solution.
80
8.3 Classication 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
2xt
f
x
+
f
t
= f (8.22)
avec la condition initiale
f(x, 0) = x (8.23)
En utilisant les equations de la caracteristique, on obtient le syst`eme dequations
dierentielles suivant
dx
2xt
= dt =
df
f
(8.24)
En integrant la premi`ere equation, on obtient
ln([x/x
0
[) = t
2
(8.25)
soit une equation pour x
x = x
0
e
t
2
(8.26)
En integrant la troisi`eme equation dierentielle, on a
f = F(x
0
)e
t
(8.27)
En inserant lequation (8.26) dans lequation (8.27) on obtient la solution generale
de lEDP (8.22)
f = F(xe
t
2
)e
t
(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
f = xe
tt
2
(8.30)
8.3 Classication 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 classica-
tion non exhaustive fait apparatre trois types dequations : equations hyper-
boliques, paraboliques et elliptiques. Cette classication 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
12
+p
21

_
(p
12
+p
21
)
2
4p
11
p
22
2p
11
,= 0 (8.31)
81
Equations aux derivees partielles
-1 0 1 2 3 4 5 6 7 8 9
x
0
1
2
3
4
5
6
t
Conditions initiales
Conditions
aux
limites
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 con-
tinu (unidimensionnel) obeit `a lequation suivante

2
u(x, t)
t
2
= c
2

2
u(x, t)
x
2
(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 diusion de particules dans un milieu continu
obeit `a lequation suivante
(x, t)
t
= D

2
(x, t)
x
2
(8.33)
o` u D est la constante de diusion et (x, t) la densite locale instantanee
des particules diusantes.
Equation elliptique. En dimensions deux, le potentiel coulombien induit
par une densite de charges electriques satisfait lequation suivante (avec
82
8.3 Classication des EPDL du second ordre
-1 0 1 2 3 4 5 6 7 8 9
x
0
1
2
3
4
5
6
y
Conditions aux bords
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)
x
2
+

2
V (x, y, t)
y
2
(8.34)
o` u (x, y) est la densite locale de charge et V (x, y) le potentiel electrosta-
tique `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 gure 8.2.
En eet pour une equation dependante du temps du type equation de dif-
fusion, 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 fonc-
tion (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 gure 8.3).
8.4 Equations avec conditions aux fronti`eres
8.4.1 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 dis-
tinguer le type de conditions aux fronti`eres du probl`eme : condition de Dirich-
let, qui specie les valeurs des points `a la fronti`ere ; condition de Neumann qui
specie les valeurs des gradients normaux `a la fronti`ere, voire des conditions
mixtes.
8.4.2 Dierences nies
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)
x
i
= x
0
+j j = 0, 1, ..., J (8.35)
y
k
= x
0
+k k = 0, 1, ..., K (8.36)
o` u est le pas de la grille. On note V
jk
= V (x
j
, y
k
). On approxime le laplacien
par la formule de dierence nie suivante
V
j+1,k
+V
j1,k
2V
j,k

2
+
V
j,k+1
+V
j,k1
2V
j,k

2
=
jk
(8.37)
que lon peut ecrire simplement
V
j+1,k
+V
j1,k
+V
j,k+1
+V
j,k1
4V
j,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 nalement la structure matricielle suiv-
ante.
A.Y = b (8.40)
La matrice A est une matrice tridiagonale avec des franges, le vecteur Y est un
vecteur `a JK composantes (Y
i
V
jk
) et le vecteur b `a JK composantes (b
i

84
8.4 Equations avec conditions aux fronti`eres

jk
) Ce type de representation est similaire pour des equations elliptiques du
second ordre
a(x, y)

2
V
x
2
+b(x, y)
V
x
+c(x, y)

2
V
y
2
+d(x, y)
V
y
+e(x, y)

2
V
xy
+f(x, y)V = g(x, y) (8.41)
En choisissant une classication tr`es rapide, on peut dire quil existe trois
types de methodes pour resoudre ce type dequations : les methodes de relax-
ation, les methodes de Fourier et les methodes matricielles directes.
8.4.3 Methodes matricielles
Les methodes matricielles ou methodes directes consistent `a determiner les
valeurs de la fonction V en calculant la matrice inverse de A. La diculte
de cette methode repose sur la taille considerable de la matrice que lon doit
inverser. En eet, 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 10
8
elements. Il est donc necessaire
que cette matrice soit tr`es creuse et de structure simple an que le calcul de
son inverse soit eectue 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 coecients constants).
8.4.4 Methodes de relaxation
Les methodes de relaxation reposent sur le schema iteratif suivant. On de-
compose la matrice A comme
A = E F (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 dierence entre deux valeurs
de la fonction est inferieure `a , |u
(r)
u
(r1)
| < . La norme |u| designe par
exemple

ij
[u
ij
[
2
.
8.4.5 Methodes de Fourier
Principe
On exprime la transformee de Fourier discr`ete de V dans les deux directions
Ox et Oy.
V
kl
=
1
KL
K1

m=0
L1

n=0

V
mn
e
2ikm/K
e
2iln/L
(8.45)
85
Equations aux derivees partielles
Une expression analogue pour la fonction peut etre obtenue

kl
=
1
KL
K1

m=0
L1

n=0

mn
e
2ikm/K
e
2iln/L
(8.46)
En prenant la transformee de Fourier discr`ete de lequation (8.38), les com-
posantes de Fourier de V sont reliees `a celles de par la relation

V
mn
_
e
2im/K
+e
2im/K
+e
2in/L
+e
2in/L
4
_
=
mn

2
(8.47)
ce qui peut se reecrire plus simplement pour si n et m dierents de zero comme

V
mn
=

mn

2
2
_
cos
_
2m
K
_
+ cos
_
2n
L
_
2
_ (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) :

V
mn
Calculer la transformee de Fourier inverse de

V pour obtenir V .
Noter que la transformee de Fourier obtenue donne les relations suivantes
u
jk
= u
j+J,k
= u
j,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

V
00
= 0, mais quil est necessaire que
00
= 0. Si cette derni`ere relation
nest pas satisfaite, il faut modier 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.
V
kl
=
2
KL
K1

m=0
L1

n=0

V
mn
sin
_
km
K
_
sin
_
ln
L
_
(8.50)
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-`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 cosinus.
V
kl
=
2
KL
K1

m=0
L1

n=0

V
mn
cos
_
km
K
_
cos
_
ln
L
_
(8.51)
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 = u

+u
B
(8.52)
avec u
B
= 0 sauf u
B
= f `a la fronti`ere, on obtient

2
u

=
2
u
B
+ (8.53)
ce qui montre que la fonction satisfait alors une condition de Dirichlet. Le calcul
de u

est eectue 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 gra-
dient normal non nul, on decompose la solution dune premi`ere contribution
correspondant `a la solution du probl`eme de Neumann et dune seconde contri-
bution 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
modiant le terme de source.
8.5 Equations avec conditions initiales
8.5.1 Equations `a ux conservatif
Les equations `a ux conservatif dans un espace unidimensionel peuvent
secrire sous la forme
u
t
=
F(u)
x
(8.54)
o` u u et F sont des fonctions soit scalaires soit vectorielles ; F est appele ux
conserve, on peut citer lexemple de lequation de la conservation de la masse
(correspondant `a une fonction u scalaire)

t
= .(v) (8.55)
87
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 diusion.
Si u est un vecteur, lequation de propagation des ondes (sonores ou elec-
tromagnetiques, par exemple) se ram`ene `a ce type dequation. En eet soit
lequation des ondes suivante,

2
v
t
2
= c
2

2
v
x
2
(8.56)
on introduit les fonctions auxiliaires r et s
r = c
v
x
(8.57)
s =
v
t
(8.58)
et lequation de propagation sexprime alors par un ensemble de deux equations
aux derivees partielles du premier ordre
r
t
= c
s
x
(8.59)
s
t
= c
r
x
(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
F(u) =
_
0 c
c 0
_
.u (8.61)
Ainsi les equations `a ux 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 ux
conservatif suivante
u
t
= c
u
x
(8.62)
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
x
j
= x
0
+jx j = 0, 1, . . . J (8.63)
t
n
= t
0
+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 diculte reside maintenant dans le choix de lalgorithme dintegration.
La methode la plus simple consiste `a utiliser un algorithme de type Euler
u
t

j,n
=
u
n+1
j
u
n
j
t
+O(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
u
x

j,n
=
u
n
j+1
u
n
j1
2x
+O(x
2
) (8.66)
ce qui donne nalement
u
n+1
j
u
n
j
t
= c
u
n
j+1
u
n
j1
2x
(8.67)
soit encore
u
n+1
j
= u
n
j
ct
u
n
j+1
u
n
j1
2x
(8.68)
La determination de u
n+1
j
se fait en fonction des trois points : u
n
j
, u
n
j+1
et u
n
j1
.
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 Stabilite de Von Neumann
Pour faire lanalyse de la stabilite des algorithmes, on suppose que les coef-
cients de lequation aux dierences varient tr`es peu dans lespace et le temps.
Les modes propres solutions de cette equation peuvent alors secrire sous la
forme
u
n
j
= (k)
n
e
ikjx
(8.69)
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 u
n
j
. An que la solution soit stable, il est neces-
saire que les modes exponentiellement divergents nexistent pas. Cela revient `a
dire que lalgorithme est instable d`es quil existe un vecteur donde k
0
tel que
[(k
0
)[ > 1 (8.70)
En inserant lequation (8.69) dans lequation (8.67) et on obtient
(k) = 1 i
ct
x
sin(kx) (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 Methode de Lax
Pour corriger le grave probl`eme dinstabilite de la methode precedente, Lax a
propose la modication suivante : le terme u
n
j
provenant de la derivee temporelle
est remplace par la moyenne sur les deux points adjacents :
u
n
j

1
2
(u
n
j+1
+u
n
j1
) (8.72)
ce qui donne la relation iterative suivante
u
n+1
j
=
1
2
(u
n
j+1
+u
n
j1
) + t
u
n
j+1
u
n
j1
2x
(8.73)
En inserant la solution (8.69) dans lequation (8.73), on obtient une expression
pour (k)
(k) = cos(kx) i
ct
x
sin(kx) (8.74)
La condition de stabilite [(k)[ < 1 equivaut `a choisir
ct
x
< 1 (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 spatio-
temporelle doit se faire `a une vitesse qui est donnee par
x
t
superieur `a la vitesse
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 gures suivantes : les zones hachurees correspon-
dent `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 gure de droite, le
sommet de cette zone depend de points situes `a lexterieur de la zone hachuree
et lalgorithme est stable.
8.5.5 Methode de Crank-Nicholson
Nous venons de voir ci-dessus que lon peut corriger en partie les defauts
de la methode nave en modiant la methode dEuler. La methode est uncon-
ditionnellement 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 incondition-
nellement 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.
u
n+1
j
= u
n
j
c
t
4x
_
_
u
n
j+1
u
n
j1
_
+
_
u
n+1
j+1
u
n+1
j1
__
(8.76)
On peut aussi reecrire cette equation en separant les termes `a linstant n + 1
de ceux `a linstant n,
u
n+1
j
+c
t
4x
__
u
n+1
j+1
u
n+1
j1
__
= u
n
j
c
t
4x
_
_
u
n
j+1
u
n
j1
_
+
_
u
n+1
j+1
u
n+1
j1
__
(8.77)
Cette equation peut sexprimer sous la forme dun ecriture matricielle
A.u
n+1
= u
n
(8.78)
o` u u
n
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 +
ct
2x
i sin(kx)
1
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 signicative par rap-
port `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 oscilla-
tions 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
0
0.2
0.4
0.6
0.8
1
1 1 2 3
x
0.2
0
0.2
0.4
0.6
0.8
1
1.2
1 1 2 3
x
Fig. 8.5 Illustration de la methode dintegration `a contre vent pour la propa-
gation dun front donde abrupte (gure de gauche) avec la methode de Crank-
Nicholson (gure de droite) pour un front donde initialement donnee par une
fonction porte. La methode de Crank-Nicholson genere des oscillations au voisi-
nage des fortes changements de pente du front donde, un eet attenue par la
methode `a contre-vent
et `a droite une fonctionporte. 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 verie la condition de CFL, cest `a dire une methode
o` u (k) < 1.
8.5.6 Methode `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
u
n+1
j
u
n
j
t
= c
u
n
j
u
n
j1
x
(8.80)
Une analyse de stabilite de Von Neumann conduit facilement `a
(k) = 1 c
x
t
(1 cos(kx)) ic
x
t
sin(kx) (8.81)
92
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 verie 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 dicultes 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 dicultes 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 eet, 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 lineaire
Contenu
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 95
9.2

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

Elimination gaussienne avec substitution . . . . . . 98
9.4 Decomposition LU . . . . . . . . . . . . . . . . . . . . 99
9.4.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . 99
9.4.2 Resolution dun syst`eme lineaire . . . . . . . . . . . . 100
9.5 Matrices creuses . . . . . . . . . . . . . . . . . . . . . 101
9.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 101
9.5.2 Matrices tridiagonales . . . . . . . . . . . . . . . . . . 102
9.5.3 Formule de Sherman-Morison . . . . . . . . . . . . . . 102
9.6 Decomposition de Choleski . . . . . . . . . . . . . . . 102
9.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 103
9.1 Introduction
Les deux chapitres qui suivent concernent le traitement numerique des ma-
trices Ce premier chapitre est consacre aux methodes employees pour resoudre
les quatre taches les plus frequemment rencontrees pour les syst`emes lineaires.
Par denition, on peut ecrire celles-ci comme
A.x = b (9.1)
o` u A est une matrice M N
A =
_
_
_
_
_
_
_
_
a
11
a
12
. . . a
1N
a
21
a
22
. . . a
2N
.
.
.
.
.
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
M1
a
M2
. . . a
MN
_
_
_
_
_
_
_
_
(9.2)
95
Alg`ebre lineaire
x est un vecteur colonne de M elements et b un vecteur colonne de N elements.
b =
_
_
_
_
_
_
_
_
b
1
b
2
.
.
.
.
.
.
b
N
_
_
_
_
_
_
_
_
x =
_
_
_
_
_
_
_
_
x
1
x
2
.
.
.
.
.
.
x
M
_
_
_
_
_
_
_
_
(9.3)
Si N = M, il y autant dequations que dinconnues et si aucune des equations
nest une combinaison lineaire des N1 autres, la solution existe et est unique.
1
Hormis pour des valeurs de N tr`es petites (typiquement N 4), o` u les for-
mules 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 dap-
pliquer 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 aug-
mente 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) ,= 0), laccumulation derreurs dar-
rondi, 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 dal-
g`ebre lineaire montre limportance de ces probl`emes dans le calcul numerique
et la necessite de choisir une methode specique d`es que la matrice a des pro-
prietes particuli`eres.
Parmi les taches typiques dalg`ebre lineaire hormis la resolution dun sys-
t`eme lineaire, on peut citer
la determination des solutions dun ensemble de syst`emes, par exemple
A.x
j
= b
j
o` u x
j
et b
j
sont des vecteurs `a N composantes et j un indice
parcourant un ensemble ni dentiers,
le calcul de linverse de A : A
1
,
le calcul du determinant de A.
De mani`ere encore plus aigue que dans les chapitres precedents, une meth-
ode de force brute est bien moins ecace pour resoudre un probl`eme dal-
g`ebre lineaire quune methode specique. Nous allons donc voir tout dabord
le principe dune methode generale pour une matrice quelconque, puis consid-
erer quelques unes des techniques speciques 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 innite de solutions.
96
9.2

Elimination de Gauss-Jordan
9.2

Elimination de Gauss-Jordan
9.2.1 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 eet, si on consid`ere par exemple
un syst`eme 4 4, on a
_
_
_
_
a
11
a
12
a
13
a
14
a
21
a
22
a
23
a
24
a
31
a
132
a
133
a
34
a
41
a
42
a
43
a
44
_
_
_
_
.
_
_
_
_
_
_
_
_
x
1
x
2
x
3
x
4
_
_
_
_
.
_
_
_
_
t
1
t
2
t
3
t
4
_
_
_
_
.
_
_
_
_
y
11
y
12
y
13
y
14
y
21
y
22
y
23
y
24
y
31
y
132
y
133
y
34
y
41
y
42
y
43
y
44
_
_
_
_
_
_
_
_
=
=
_
_
_
_
_
_
_
_
b
1
b
2
b
3
b
4
_
_
_
_
.
_
_
_
_
c
1
c
2
c
3
c
4
_
_
_
_
.
_
_
_
_
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
_
_
_
_
_
_
_
_
(9.4)
o` u loperateur . designe loperateur reunion de colonnes. Ainsi on voit que
linversion dune matrice est identique `a la resolution dun ensemble de N sys-
t`emes lineaires pour lequel le vecteur situe dans le membre de droite a tous les
elements nuls sauf un seul qui est dierent 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 dierent.
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 eectuant une operation analogue pour b (ou c ou la
matrice identite).
Lechange de deux colonnes de A avec echange simultane des lignes cor-
respondantes 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 Methode sans pivot
Pour la simplicite de lexpose, on consid`ere tout dabord une matrice dont
les elements diagonaux sont strictement dierents de zero.
On multiplie la premi`ere ligne de A par 1/a
11
(et la ligne correspondante
de b ou de la matrice identite). On soustrait a
21
fois la 1`ere ligne `a la deuxi`eme
ligne, a
31
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 a

12
a

13
a

14
0 a

22
a

23
a

24
0 a

32
a

33
a

34
0 a

42
a

43
a

44
_
_
_
_
(9.5)
97
Alg`ebre lineaire
o` u les coecients a

ij
sexpriment en fonction des coecients o` u les coecients
a
ij
.
On multiplie alors la deuxi`eme ligne par 1/a

22
, puis on soustrait a

12
fois
la deuxi`eme ligne `a la premi`ere ligne, a

32
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 a

13
a

14
0 1 a

23
a

24
0 0 a

33
a

34
0 0 a

43
a

44
_
_
_
_
(9.6)
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 Methode avec pivot
La methode precedente soure 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 eet, 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 signie 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 eectuant `a chaque ligne la soustraction des lignes situees au dessous de la
ligne dont le coecient de la diagonale vient detre reduit `a lunite, on obtient
une matrice triangulaire superieure dont la structure est la suivante
_
_
_
_
a

11
a

12
a

13
a

14
0 a

22
a

23
a

24
0 0 a

133
a

34
0 0 0 a

44
_
_
_
_
.
_
_
_
_
x
1
x
2
x
3
x
4
_
_
_
_
=
_
_
_
_
b

1
b

2
b

3
b

4
_
_
_
_
(9.7)
98
9.4 Decomposition LU
Il est possible de faire la resolution de ce syst`eme lineaire par une procedure de
substitution successive
x
4
=
b

4
a

44
(9.8)
x
3
=
1
a

33
(b

3
x
4
a

34
) (9.9)
et de mani`ere generale
x
i
=
1
a

ii
(b
i

j=i+1
a

ij
x
j
) (9.10)
Cette methode est avantageuse dans le cas des syst`emes lineaires car le nombre
doperations `a eectuer 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 Decomposition 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 an que la resolution du syst`eme dequations soit executee plus facile-
ment.
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
L =
_
_
_
_
_
_
_
_

11
0 0 . . . 0

21

22
0 . . . . . . . . . . . . 0
.
.
.
.
.
.
.
.
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
(N1)(N1)
0

N1

N2
. . . . . .
NN
_
_
_
_
_
_
_
_
(9.12)
et
U =
_
_
_
_
_
_
_
_

11

12

13
. . .
1N
0
22

23
. . . . . . . . . . . .
2N
.
.
.
.
.
.
.
.
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
(N1)(N1)

(N1)N
0 0 . . . 0
NN
_
_
_
_
_
_
_
_
(9.13)
99
Alg`ebre lineaire
En eectuant la multiplication matricielle de L par U, on obtient les relations
suivantes
a
ij
=
i

l=1

il

lj
i j (9.14)
a
ij
=
j

l=1

il

lj
i > j (9.15)
Ce syst`eme dequations lineaires donne N
2
equations et le nombre dinconnues
est 2
_
N(N+1)
2
_
. Ce syst`eme est donc surdetermine. On peut donc choisir N
equations supplementaires an dobtenir une et une seule solution. On xe 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
coecients
restants, en utilisant les relations suivantes

ij
= a
ij

i1

k=1

ik

kj
i j (9.17)

ij
=
1

jj
(a
ij

j1

k=1

ik

kj
) i j + 1 (9.18)
Il faut noter que les sous-programmes creant cette decomposition sappuie sur
la recherche du meilleur pivot an que la methode soit stable.
2
9.4.2 Resolution dun syst`eme lineaire
La resolution dun syst`eme lineaire devient tr`es simple en introduisant le
vecteur y.
A.x = L.U.x (9.20)
= L.(Ux) = b (9.21)
Soit
L.y = b (9.22)
2
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
B
B
B
B
B
B
@
11 12 13 . . . 1N
21 22 23 . . . . . . . . . . . . 2N
.
.
.
.
.
.
.
.
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
(N1)(N1)
0
N1 N2 . . . . . . NN
1
C
C
C
C
C
C
A
(9.19)
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.
y
1
=
b
1

11
(9.24)
y
i
=
1

ii
(b
i

i1

j=1

ij
y
j
) (9.25)
(substitution `a partir du premier element car la matrice est triangulaire in-
ferieure). On obtient la solution pour le vecteur x en utilisant
x
N
=
y
N

NN
(9.26)
x
i
=
1

ii
(y
i

j=i+1

ij
x
j
) (9.27)
car la matrice est triangulaire superieure.
Une fois eectuee la decomposition LU, le calcul du determinant dune ma-
trice 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 determi-
nant de cette matrice est donc egal `a 1, et le determinant de A est donc egal
`a
det(A) =
N

j=1

jj
(9.28)
9.5 Matrices creuses
9.5.1 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 speciques 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 a
ij
= 0
pour [i j[ > 1,
diagonales par bande de largeur M : les elements de matrice tels que
[i j[ > M sont nuls a
ij
= 0,
simplement ou doublement bordees : par rapport `a la denition prece-
dente, 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
_
_
_
_
_
_
_
_
b
1
c
1
0 . . . 0
a
2
b
2
c
2
. . . 0
0
.
.
.
.
.
.
.
.
.
.
.
.
0 . . .
.
.
. b
N1
c
N1
0 0 . . . . . . b
NN
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
x
1
x
2
.
.
.
.
.
.
x
N
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
y
1
y
2
.
.
.
.
.
.
y
N
_
_
_
_
_
_
_
_
(9.29)
Noter quavec cette notation a
1
et c
N
ne sont pas denis. 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 mod-
iant par exemple un ou quelques elements de lensemble de la matrice, peut-on
calculer encore facilement linverse de cette nouvelle matrice ?
B = A+u v (9.30)
ou le symbole designe le produit exterieur. uv 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 +A
1
.u v)
1
.A
1
(9.31)
= (1 A
1
.u v +A
1
.u v.A
1
.u v . . .).A
1
(9.32)
= A
1
A
1
.u vA
1
(1 +
2
+. . .) (9.33)
= A
1

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

z w
1 +
(9.35)
9.6 Decomposition de Choleski
Une matrice est denie positive symetrique (a
ij
= a
ji
) quand x, on a
x.A.x > 0 (9.36)
102
9.7 Conclusion
quel que soit x. Il existe alors une matrice L triangulaire inferieure telle que
A = L.L
T
(9.37)
Les elements de matrice sont determines par les relations
L
ii
= (a
ii

i1

k=1
L
2
ik
)
1/2
(9.38)
L
ji
=
1
L
ii
(a
ij

i1

k=1
L
ik
L
jk
) (9.39)
avec j [i + 1, N]. Une fois cette construction realisee, on peut resoudre un
syst`eme lineaire simplement en utilisant la procedure de substitution precedem-
ment detaillee dans la section 9.4.2.
9.7 Conclusion
Avant de resoudre des syst`emes lineaires de grande dimension, il est im-
peratif de commencer par une analyse des proprietes de la matrice an de
determiner la methode la plus adaptee an dobtenir une solution avec une
precision correcte et pour un temps de calcul qui sera minimal. Les dierentes
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 . . . . . . . . . . . . . . . . . . . . . . . 105
10.2 Proprietes des matrices . . . . . . . . . . . . . . . . . 106
10.3 Methodes directes . . . . . . . . . . . . . . . . . . . . 108
10.3.1 Methode de Jacobi . . . . . . . . . . . . . . . . . . . . 108
10.3.2 Reduction de Householder . . . . . . . . . . . . . . . . 110
10.3.3 Algorithme QL . . . . . . . . . . . . . . . . . . . . . . 112
10.3.4 Factorisation de Schur . . . . . . . . . . . . . . . . . . 113
10.4 Methode iteratives . . . . . . . . . . . . . . . . . . . . 114
10.4.1 Methodes des puissances . . . . . . . . . . . . . . . . . 114
10.4.2 Methode de Lancz`os . . . . . . . . . . . . . . . . . . . 115
10.1 Introduction
Ce chapitre est consacre aux operations que lon peut realiser sur des ma-
trices. Plus speciquement, 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 dimen-
sion 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 ,= 0, x est aussi un vecteur propre
avec la meme valeur propre .
Les valeurs propres dune matrice peuvent etre determinees comme les racines
du polynome 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 ecace sur le plan numerique. Des methodes plus adap-
tees 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 = A
T
(10.3)
a
ij
= a
ji
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.A
T
= A
T
.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 coecients reels, il y a identite de denition entre matrice
symetrique et Hermitienne, entre matrice orthogonale et unitaire.
Une matrice est dite normale si elle commute avec son adjointe.
10.2 Proprietes 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 represen-
tation matricielle de loperateur de Schrodinger en mecanique quantique
1
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
A.x
R
i
=
i
x
R
i
(10.8)
1
La representation de cet operateur correspond en general ` a une matrice de dimension
innie, mais nous ne considerons ici que les syst`emes ou la representation matricielle est
possible dans un espace de dimension nie.
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
x
L
i
.A =
i
x
L
i
(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 droite
2
.
Si la matrice est Hermitienne, les vecteurs propres `a gauche sont les trans-
poses des vecteurs propres conjugues `a droite.
Dans le cas dune matrice non normale, on denit la matrice X
R
comme la
matrice constituee de colonnes formees par les vecteurs `a droite. On introduit la
matrice X
L
formee par les lignes des vecteurs `a gauche. On obtient par denition
que
A.X
R
= X
R
.diag(
1
, . . . ,
n
) (10.10)
de meme on a
X
L
.A = diag(
1
, . . . ,
n
).X
L
(10.11)
En multipliant lequation (10.10) par X
L
et lequation (10.11) par X
R
, on ob-
tient
X
L
.X
R
.diag(
1
, . . . ,
n
) = diag(
1
, . . . ,
n
)X
L
.X
R
(10.12)
ce qui montre que la matrice diagonale formee par les valeurs propres de A
commute avec le produit X
L
.X
R
. Sachant que les seules matrices qui commutent
avec une matrice diagonale constituee delements dierents 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 X
L
.X
R
soit egale `a lidentite.
Dans le cas o` u lensemble des vecteurs propres ne constitue une base com-
pl`ete, il est toujours possible de completer cet ensemble an davoir une matrice
telle que X
L
.X
R
= 1.
Si la matrice A est inversible, on obtient en multipliant lequation (10.10)
par X
1
R
que
X
1
R
.A.X
R
= 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) (10.15)
= det(P
1
.(A.1)P) (10.16)
= det(A.1) (10.17)
2
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 con-
siste `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 eectuer 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 ecacement 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, an de choisir la methode
la plus adaptee pour resoudre ce probl`eme.
10.3 Methodes directes
10.3.1 Methode de Jacobi
La methode de Jacobi revient `a eectuer une suite de transformations simi-
laires orthogonales. Chaque transformation est une simple rotation planaire qui
permet dannuler un element de la matrice A initial.
La rotation elementaire P
pq
est donne par la matrice
P
pq
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 0 0 . . . . . . . . . . . . 0
0 1 0 . . . . . . . . . . . . 0
0 . . . c . . . . . . s . . . 0
0 . . . . . . . . . . . . . . . . . . 0
0 . . . . . . . . . 1 . . . . . . 0
0 . . . . . . . . . . . . . . . . . . 0
0 . . . s . . . . . . c . . . 0
0 . . . . . . . . . . . . . . . 1 0
0 . . . . . . . . . . . . . . . . . . 1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
(10.18)
avec la condition que
c
2
+s
2
= 1. (10.19)
Soit la matrice A

telle que
A

= P
T
pq
.A.P
pq
(10.20)
108
10.3 Methodes directes
En notant les coecients de la matrice a
ij
, on obtient apr`es calculs que
a

rp
= ca
rp
sa
rq
(10.21)
a

rq
= ca
rq
+sa
rp
(10.22)
a

pp
= c
2
a
pp
+s
2
a
qq
2csa
pq
(10.23)
a

qq
= s
2
a
pp
+c
2
a
qq
+ 2csa
pq
(10.24)
a

pq
= (c
2
s
2
)a
pq
+cs(a
pp
a
qq
) (10.25)
avec r ,= p et r ,= q.
Si on annule le terme a

pq
, en introduisant langle de rotation , (c = cos(),
s = sin()) on a le rapport
=
c
2
s
2
2sc
(10.26)
= cot(2) (10.27)
=
a
qq
a
pp
a
pq
(10.28)
Si on appelle t = s/c, on obtient en utilisant lequation (10.26)
t
2
+ 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 racine
3
peut sexprimer
sous la forme
4
t =
sgn()
[[ +

2
+ 1
(10.30)
En utilisant que c
2
+s
2
= 1

on obtient pour c que


c =
1

1 +t
2
(10.31)
et on a immediatement s = tc. En imposant que le terme a

pq
sannule, on a
nalement les relations suivantes
a

pp
= a
pp
ta
pq
(10.32)
a

qq
= a
qq
+ta
pq
(10.33)
a

rp
= a
rp
s(a
rq
+a
rp
) (10.34)
a

rq
= a
rq
+s(a
rp
a
rq
) (10.35)
avec deni par
=
s
1 +c
(10.36)
3
Pour eviter les depassements de capacite de lordinateur, on choisit t = 1/2
4
Noter que la fonction sgn que lon denit 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.
109
Analyse spectrale
En calculant la somme S
S =

r=s
[a
rs
[
2
(10.37)
on peut obtenir une estimation de la convergence de la methode. Pour une
transformation similaire elementaire, on a
S

= S 2[a
pq
[
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 dierentes valeurs propres et V
est une matrice contenant les vecteurs propres correspondants.
10.3.2 Reduction 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 or-
thogonales suivantes.
Une matrice de Householder est denie par la relation suivante
P = 1 2w.w
T
(10.40)
o` u w est un vecteur reel normalise, w
T
.w = [w[
2
= 1.
Verions que la matrice P est une matrice orthogonale
P
2
= (1 2w.w
T
).(1 2w.w
T
) (10.41)
= 1 4w.w
T
+ 4w.(w
T
.w).w
T
(10.42)
= 1 (10.43)
Cela implique que P = P
1
. En utilisant la denition de P, on verie 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.u
T
H
(10.44)
avec H = [u[
2
/2. Si on choisit le vecteur u tel que
u = x [x[e
1
(10.45)
110
10.3 Methodes directes
o` u e
1
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([x
2
[ [x[x
1
) (10.46)
En appliquant P `a x
P.x =x
u
H
.(x [x[e
1
)
T
.x (10.47)
=x
2u.([x[
2
[x[x
1
)
2[x[
2
2[x[x
1
(10.48)
=x u (10.49)
=[x[e
1
(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 P
1
. En consequence, on obtient la structure suivante
pour P
1
P
1
=
_
_
_
_
_
_
_
_
_
_
_
1 0 0 . . . . . . 0
0
0
0
.
.
. P
(n1)
1
0
0
_
_
_
_
_
_
_
_
_
_
_
(10.51)
En appliquant la transformation orthogonale `a la matrice A, on obtient
A

=P.A.P (10.52)
=
_
_
_
_
_
_
_
_
_
_
_
a
11
k 0 . . . . . . 0
k
0
0
.
.
.
0
0
_
_
_
_
_
_
_
_
_
_
_
(10.53)
o` u le nombre k est au signe pr`es la norme du vecteur (a
21
, . . . , a
n1
)
T
.
On choisit la seconde matrice de Householder avec un vecteur x qui constitue
avec les (n 2) derniers elements de la seconde colonne
P
1
=
_
_
_
_
_
_
_
_
_
_
_
1 0 0 . . . . . . 0
0 1 0 . . . . . . 0
0 0
0 0
.
.
.
.
.
. P
(n2)
2
0 0
0 0
_
_
_
_
_
_
_
_
_
_
_
(10.54)
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 (n2) transformations similaires de Householder.
Pratiquement, pour eviter la multiplication de matrices, tr`es co uteuse numerique-
ment, 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
A.P = A.(1
u.u
T
H
) (10.56)
= Ap.u
T
(10.57)
de meme pour la seconde
A

= P.A.P = Ap.u
T
u.p
T
+ 2Ku.u
T
(10.58)
avec
K =
u
T
.p
2H
(10.59)
En posant
q = p Ku (10.60)
on a la matrice A

qui sexprime alors simplement


A

= Aq.u
T
u.q
T
(10.61)
10.3.3 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 eectuee, 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 for-
mer 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 denit la matrice A

comme
A

= L.Q (10.64)
Puisque Q est orthogonal, on en deduit de lequation (10.63) que
L = Q
1
.A (10.65)
ce qui donne
A

= Q
T
.A.Q (10.66)
ce qui montre que A

est une transformation orthogonale de A.


Pour des raisons de minimisation derreurs darrondi, il est preferable du-
tiliser la decomposition QL au lieu de la decomposition QR.
Lalgorithme QL est deni par la suite suivante
A
s
= Q
s
.L
s
(10.67)
A
s+1
= L
s
.Q
s
(10.68)
La methode repose sur les bases suivantes : (i) Si A a des valeurs propres
toutes distinctes de valeur absolue [
i
[, alors A
s
tend vers une matrice trian-
gulaire inferieure quand s . Les valeurs propres apparaissent sur la diag-
onale par valeur absolue croissante (ii) Si A a une valeur propre degeneree de
multiplicite p,quand s , A
s
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 n
3
, mais pour une matrice tridiagonale, ce co ut est lineaire avec n. On peut
montrer que la convergence depend de la dierence entre deux valeurs propres
successives. Quand deux valeurs propres sont trop proches, il est quand meme
possible dameliorer la convergence de lalgorithme en depla cant 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 = ZTZ

(10.69)
o` u Z est unitaire et T est une matrice triangulaire superieure.
Si la matrice A est reelle
A = ZTZ
T
(10.70)
o` u Z est orthogonale et T est une matrice quasi-triangulaire superieure,
ce qui signie 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 trans-
former 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

(10.71)
o` u Q est unitaire et H est une matrice de Hessenberg.
Si la matrice A est reelle
A = QTQ
T
(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 ma-
trice de Schur.
10.4 Methode iteratives
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
susamment rapide pour que le temps de calcul ne soit pas consomme sans que
la recherche dune solution ne soit reellement eectuee.
10.4.1 Methodes 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 x
0
un vecteur initial quelconque, et A la
matrice dont on cherche `a determiner la plus grande valeur propre. On eectue
loperation suivante
x
1
= A.x
0
(10.73)
Si on designe comme langle entre ces deux vecteurs, on a
cos() =
x
1
.x
0
[x
1
[.[x
0
[
(10.74)
Si x
0
nest pas perpendiculaire au vecteur recherche (ce qui est rarement le
cas pour un vecteur choisi au depart aleatoirement), le cosinus de langle entre
x
0
et x
1
est dierent de zero. En appliquant `a nouveau la matrice A sur le
vecteur x
1
on cree un vecteur x
2
et on calcule langle entre x
1
et x
2
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 x
n
, 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 ecace, mais poss`ede le merite
de secrire rapidement.
10.4.2 Methode 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 e-
cace 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 di`erent des vecteurs ` a droite.
Soit un vecteur de depart normalise u
0
: 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
u
1
= A.u
0

1
u
0
(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 u
1
soit orthogonal au vecteur u
0

1
= u
T
0
.A.u
0
(10.76)
et
2
est determine de mani`ere ` a ce que le vecteur u
1
soit normalise.

2
=
_
u
T
0
.A
2
.u
0

2
1
(10.77)
Pour le vecteur suivant u
2
, on utilise la relation :

3
u
2
= A.u
1

2
u
1

2
u
0
(10.78)
On note tout dabord quavec cette construction, le vecteur u
2
est orthogonal au
vecteur u
0
. De mani`ere similaire, on impose que u
2
soit un vecteur orthogonal
`a u
1
ce qui conduit `a la relation

2
= u
T
1
.A.u
1
(10.79)
et la normalisation de u
2
est imposee en choisissant
3
comme

3
=
_
u
T
1
.A
2
.u
1

2
2

2
(10.80)
Par iteration, on obtient pour le i`eme vecteur

i+1
u
i
= A.u
i1

i
u
i1

i
u
i2
(10.81)
On verie facilement que tous les vecteurs u
j
avec j < i 2 sont orthogo-
naux avec le vecteur u
i+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
=u
T
i1
.A.u
i+1
(10.82)

i+1
=
_
u
T
i1
.A
2
.u
i1

2
i

i
(10.83)
Dans cette base, la matrice A

est tridiagonale et est donnee


A

=
_
_
_
_
_
_
_
_
_
_

1

2
0 . . . . . . . . . 0

2

2

3
0 . . . . . . 0
0
3

3

4
0 . . . 0
0 . . . . . . . . . 0
0 . . . . . . . . . . . . . . . 0
0 . . . . . . 0
n1

n1

n
0 . . . . . . . . . 0
n

n
_
_
_
_
_
_
_
_
_
_
(10.84)
Il est possible dutiliser alors une methode de type QL pour obtenir rapidement
les valeurs propres de la matrice A

, 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 dierence entre deux estimations successives de la valeur propre est devenue
susamment petite.
Dans le cas o` u la matrice A est une representation tronquee dun operateur
dont la base propre est innie (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 10
12
).
116
Chapitre 11
Equations integrales
Contenu
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 117
11.2 Equation de Fredholm . . . . . . . . . . . . . . . . . 117
11.2.1 Equation de premi`ere esp`ece . . . . . . . . . . . . . . 117
11.2.2 Equation de seconde esp`ece . . . . . . . . . . . . . . . 118
11.3 Equation de Volterra . . . . . . . . . . . . . . . . . . 119
11.3.1 Equation de premi`ere esp`ece . . . . . . . . . . . . . . 119
11.3.2 Equation de seconde esp`ece . . . . . . . . . . . . . . . 119
11.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 119
11.1 Introduction
Les equations integrales sont a priori moins simples `a resoudre que les
equations algebriques ou les equations dierentielles. Nous allons voir dans ce
chapitre que pour des equations integrales lineaires, une fois realisee la discreti-
sation 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 denie par la
relation suivante
_
b
a
K(t, s)f(s)ds = g(t) (11.1)
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 g
i
= g(t
i
), K
ij
= K(s
i
, t
j
) et f
j
= f(t
j
) o` u i est un indice
variant de 1 `a N et j un indice variant de 1 `a M (M peut etre dierent de N).
117
Equations integrales
Lequation (11.1) se reecrit alors comme
M

j=1
K
ij
f
j
= g
i
(11.2)
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 denie par la
relation suivante
f(t) =
_
b
a
K(t, s)f(s)ds +g(t) (11.5)
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 deni ci-dessus, une fois discretisee,
lequation (11.5) se reexprime comme
f
i
=
M

j=1
K
ij
f
j
+g
i
(11.6)
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 dierent 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 ma-
trice presque non inversible (mal conditionnee), cest-`a-dire avec un determi-
nant voisin de zero. Correlativement, si est susament dierent 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 pour s > t (11.9)
11.3.1 Equation de premi`ere esp`ece
Lequation de Volterra homog`ene de premi`ere esp`ece est denie par la rela-
tion suivante
g(t) =
_
t
a
K(t, s)f(s)ds (11.10)
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
f(t) =
_
t
a
K(t, s)f(s)ds +g(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 dierente, 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 intro-
ductif aux methodes numeriques.
119
Equations integrales
120
Annexe A
Coordonnees hyperspheriques
Il convient de distinguer le cas pair du cas impair pour le syst`eme de co-
ordonnees. 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 denit
les coordonnees hyperspheriques de la mani`ere suivante
x
1
= sin(
1
) sin(
2
) sin(
3
) . . . sin(
n3
) sin(
n2
) sin(
n1
)
x
2
= sin(
1
) sin(
2
) sin(
3
) . . . sin(
n3
) sin(
n2
) cos(
n1
)
x
3
= sin(
1
) sin(
2
) sin(
3
) . . . sin(
n3
) cos(
n2
)
x
4
= sin(
1
) sin(
2
) sin(
3
) . . . cos(
n3
)
. . .
x
n1
= sin(
1
) cos(
2
)
x
n
= 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 denit les coordonnees hyperspheriques de la mani`ere suiv-
ante
x
1
= sin(
1
) sin(
2
) sin(
3
) . . . sin(
n3
) sin(
n2
) sin(
n1
)
x
2
= sin(
1
) sin(
2
) sin(
3
) . . . sin(
n3
) sin(
n2
) cos(
n1
)
x
3
= sin(
1
) sin(
2
) sin(
3
) . . . sin(
n3
) cos(
n2
)
x
4
= sin(
1
) sin(
2
) sin(
3
) . . . cos(
n3
) cos(
n2
)
. . .
x
n1
= sin(
2
) cos(
1
)
x
n
= cos(
2
) cos(
1
) (A.2)
On verie facilement que quel que soit n
x
i
(A.3)
121
Coordonnees hyperspheriques
pour toute valeur de i. De plus, on a
n

i=1
x
2
i
=
2
(A.4)
Pour evaluer une integrale `a n dimensions, il est necessaire de calculer le Jaco-
bien de la transformation des coordonnees cartesiennes aux coordonnees hyper-
spheriques pour n impair
J =
(x
1
x
2
. . . x
n
)
(
1

2
. . .
n
)
=
n1

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
J =
n1
n2

j=1
sin
n1j
(
j
) =

n2

j=1
sin(
n1j
))
j
(A.6)
On peut verier 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)
V
n
=
_
a
0

n1
d
n2

j=1
_

0
(sin(
j
))
n1j
d
j
_
2
0
d
n1
=

n/2
a
n
(n/2 + 1)
=
_

n/2
a
n
(n/2)!
pour n pair

(n1)/2
(2a)
n
((n 1)/2)!
n!
pour n impair
(A.7)
Lelement de surface de lhypersph`ere de rayon a est donne par
dS
n
= a
n1
n2

i=1
sin
n1i
(
i
)d
i
(A.8)
On peut en deduire la surface dune hypersph`ere dans un espace `a n dimensions.
S
n
=
dV
n
da
=
n
n/2
a
n1
(n/2 + 1)!
=
_

_
n
n/2
a
n1
(n/2)!
pour n pair
2n
(n1)/2
(2a)
n1
((n 1)/2)!
(n 1)!
pour n impair
(A.9)
122
Annexe B
Les biblioth`eques BLAS et
Lapack
Contenu
B.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 123
B.2 Terminologie . . . . . . . . . . . . . . . . . . . . . . . 124
B.1 Introduction
La biblioth`eque BLAS (Basic Linear Algebra Subprograms) est un bib-
lioth`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 diculte croissante :
1. operations vectorielles
y x +y (B.1)
2. operations matrices-vecteurs
y Ax +y (B.2)
3. operations matrices-matrices
C AB +C (B.3)
LAPACK dont le nom vient de Linear Algebra PACKage est une biblio-
th`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 ma-
trices considerees sont des matrices soit pleines soit `a bande. Le cas des matrices
creuses nest pas speciquement 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 speciques 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 suxe qui indique le type dobjets sur lesquels
on eectue 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 referen cant (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 eectuer. Ladresse de ce site est
http ://www.cs.colorado.edu/lapack/drivers.html
1
Pour le Blas de Niveau 2, il y a un ensemble de sous-programmes pour des calculs en
precision etendue. Les prexes sont ES, ED, EC, EZ
124
Annexe C
La biblioth`eque GSL
Contenu
C.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 125
C.2 Sous programmes . . . . . . . . . . . . . . . . . . . . 126
C.2.1 BLAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
C.2.2 fonctions simples . . . . . . . . . . . . . . . . . . . . . 126
C.1 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 Scientic
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 ore des sous-programmes pour les probl`emes suivants :
Nombres complexes Racines de polynomes
Fonctions speciales Vecteurs et Matrices
Permutations Combinatoire
Tri BLAS
Alg`ebre lineaire FFT
Valeurs propres Generateurs de nombres aleatoires
Histogrammes Statistiques
Integration de Monte Carlo Equations dierentielles
Recuit simule Dierentiation numerique
Interpolation Series acceleratrices
Approximations de Chebyshev Recherche de racines
Transformees de Hankel discr`etes Moindre carre
Minimisation Constantes physiques
La diversite des probl`emes numeriques traites par cette biblioth`eque rend
tr`es dicile une presentation rapide. Le manuel proprement dit comprend actuelle-
125
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
eet dapprentissage dautres biblioth`eques dont les noms de sous-programmes
sont generalement moins eloquents.
Les chiers 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 chiers
dentetes sont tr`es nombreux (206 dans la version 1.1.1), et leur nom corre-
spondent `a une classe de sous-programes que lon souhaite utilises selon la r`egle
suivante :
Le nom commence toujours par le prexe gsl . (Moyen simple didenti-
cation 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 cor-
respond `a un fonction speciale, matrix `a un probl`eme sur les matrices,...
La troisi`eme correspond au probl`eme specique. Par exemple, gsl sf expint.h
est le chier 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 chiers dentetes, on peut utiliser le chier qui
regroupe. Pour lexemple precedent, on peut utiliser gsl sf.h qui contient
les denitions 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)
2. operations matrices-vecteurs
y = Ax +y (C.2)
3. operations matrices-matrices
C = AB +C (C.3)
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 scientiques de
resolution analytique et
numerique
D.1 Maple et Mathematica
Deux logiciels commerciaux dominent le domaine de la resolution analy-
tique : 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 Math-
ematica 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 dierence de
numerotation nimplique nullement une dierence 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 orant 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 biblio-
th`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 recom-
mande 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 speciques. 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 simplier
un clone de Mathlab. Les modules disponibles sous Scilab sont les suivants :
127
Les logiciels scientiques de resolution analytique et numerique
Graphiques 2-D and 3-D et animation
Alg`ebre lineaire et matrices creuses
Polynomes et fonctions rationnelles
Simulation : ODE solveur and DAE solveur
Scicos : modelisateur et simulateur de syst`emes dynamiques
Controle classique et robuste, optimisation LMI
Optimization dierentielle et non dierentielle
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 numerique-
ment des probl`emes mathematiques et physiques varies. Ses possibiblites graphiques
ont fait la reputation de ce produit. Le site web dispose `a la fois dinforma-
tions concernant ce produit, mais aussi des informations sur des mathematiques
fondamentales[12].
Les logiciels scientiques vont tr`es probablement continuer `a se developper
dans les prochaines annees. Ils permettent `a travers un ensemble de macro-
instructions 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 es-
sentielle 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.ep.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 Integration et sommes discr`etes 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Les methodes de Cotes . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Trap`eze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Methode de Romberg . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Methodes de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Methode de Gauss-Kronrod et methodes adaptatives . . . . . . . 9
1.6 Integrales multiples . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Fonctions speciales et evaluation de fonctions 13
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Fonctions transcendantes simples . . . . . . . . . . . . . . . . . . 14
2.3 Fonction Gamma . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.1 Denition et proprietes . . . . . . . . . . . . . . . . . . . 14
2.3.2 Fonctions reliees : , B . . . . . . . . . . . . . . . . . . . 16
2.4 Fonctions de Bessel . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5 Fonctions Hypergeometriques . . . . . . . . . . . . . . . . . . . . 20
2.5.1 Fonction Hypergeometrique Gaussienne . . . . . . . . . . 20
2.5.2 Fonctions Hypergeometriques generalisees . . . . . . . . . 20
2.6 Fonction erreur, exponentielle integrale . . . . . . . . . . . . . . . 21
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3 Interpolation de fonctions 23
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Fonctions `a une variable . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.1 Algorithme de Neville . . . . . . . . . . . . . . . . . . . . 24
3.2.2 Polynomes de Chebyshev . . . . . . . . . . . . . . . . . . 25
3.2.3 Methodes de lissage (Spline) . . . . . . . . . . . . . . . . 26
3.2.4 Approximants de Pade . . . . . . . . . . . . . . . . . . . . 28
3.2.5 Algorithme de Remez . . . . . . . . . . . . . . . . . . . . 30
3.3 Fonctions `a plusieurs variables . . . . . . . . . . . . . . . . . . . 30
3.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3.2 Interpolations bilineaire et bicubiques . . . . . . . . . . . 31
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
131
TABLE DES MATI
`
ERES
4 Racines dequations 33
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Dichotomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3 Methode de Ridder . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3.1 Methode de la position fausse . . . . . . . . . . . . . . . . 35
4.3.2 Methode de Ridder . . . . . . . . . . . . . . . . . . . . . . 36
4.4 Methode de Brent . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.5 Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6 Racines de Polynomes . . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.1 Reduction polynomiale . . . . . . . . . . . . . . . . . . . . 38
4.6.2 Methode de Laguerre . . . . . . . . . . . . . . . . . . . . 39
5 Equations dierentielles 41
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3 Equations dierentielles speciales . . . . . . . . . . . . . . . . . 42
5.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3.2 Equations du premier ordre . . . . . . . . . . . . . . . . . 43
5.3.3 Equation dierentielles du second ordre . . . . . . . . . . 44
5.3.4 Equation de Bessel . . . . . . . . . . . . . . . . . . . . . . 45
5.3.5 Equation dierentielle erreur . . . . . . . . . . . . . . . . 45
5.3.6 Equation dierentielle dHermite . . . . . . . . . . . . . . 45
5.4 Methodes dintegration `a pas separe . . . . . . . . . . . . . . . . 45
5.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.4.2 Methode dEuler . . . . . . . . . . . . . . . . . . . . . . . 46
5.4.3 Methode RK explicites `a un point . . . . . . . . . . . . . 47
5.4.4 Methodes RK implicites `a un point . . . . . . . . . . . . . 47
5.4.5 Methodes RK explicites `a 2 points intermediaires . . . . . 47
5.4.6 Methodes RK explicites `a 3 points intermediaires . . . . . 48
5.4.7 Formule generale des methodes RK explicites . . . . . . . 48
5.5 Methode dintegration `a pas variables . . . . . . . . . . . . . . . 49
5.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.6 Methodes de Runge-Kutta embarquees . . . . . . . . . . . . . . 49
5.7 Methode de Bulirsh-Stoer . . . . . . . . . . . . . . . . . . . . . . 50
5.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6 Equations dierentielles stochastiques 53
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.2 Variables aleatoires et processus stochastiques . . . . . . . . . . . 54
6.3 Processus de Wiener, bruit blanc . . . . . . . . . . . . . . . . . . 56
6.3.1 Equation de diusion . . . . . . . . . . . . . . . . . . . . 56
6.3.2 Equation de Langevin . . . . . . . . . . . . . . . . . . . . 57
6.4 Calcul dIto et equations dierentielles stochastiques . . . . . . . 58
6.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.4.2 Calcul dierentiel stochastique . . . . . . . . . . . . . . . 59
6.4.3 Processus dOrstein-Uhlenbeck . . . . . . . . . . . . . . . 60
6.4.4 Mod`ele de Black-Scholes . . . . . . . . . . . . . . . . . . . 61
132
TABLE DES MATI
`
ERES
6.4.5 Transformee de Lamperti . . . . . . . . . . . . . . . . . . 62
6.5 Methodes numeriques . . . . . . . . . . . . . . . . . . . . . . . . 63
6.5.1 Introdution . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.5.2 Schema dEuler . . . . . . . . . . . . . . . . . . . . . . . . 64
6.5.3 Schema de Milstein . . . . . . . . . . . . . . . . . . . . . . 64
6.5.4 Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7 Transformee de Fourier rapide et algorithmes de tri 67
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.2 Proprietes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.3 Discretisation de la transformee de Fourier . . . . . . . . . . . . . 70
7.3.1

Echantillonage . . . . . . . . . . . . . . . . . . . . . . . . 70
7.3.2 Transformee de Fourier discr`ete . . . . . . . . . . . . . . . 71
7.4 Transformee de Fourier rapide . . . . . . . . . . . . . . . . . . . . 72
7.5 Algorithmes de tri . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.5.2 Methode dinsertion . . . . . . . . . . . . . . . . . . . . . 74
7.5.3 Tri `a bulles . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.5.4 Tri rapide . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
8 Equations aux derivees partielles 77
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.2 Methode de la caracteristique . . . . . . . . . . . . . . . . . . . . 78
8.2.1 Equation du premier ordre lineaire et quasi-lineaire . . . . 78
8.2.2 Surface solution . . . . . . . . . . . . . . . . . . . . . . . . 78
8.2.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.3 Classication des EPDL du second ordre . . . . . . . . . . . . . . 81
8.4 Equations avec conditions aux fronti`eres . . . . . . . . . . . . . . 84
8.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.4.2 Dierences nies . . . . . . . . . . . . . . . . . . . . . . . 84
8.4.3 Methodes matricielles . . . . . . . . . . . . . . . . . . . . 85
8.4.4 Methodes de relaxation . . . . . . . . . . . . . . . . . . . 85
8.4.5 Methodes de Fourier . . . . . . . . . . . . . . . . . . . . . 85
8.5 Equations avec conditions initiales . . . . . . . . . . . . . . . . . 87
8.5.1 Equations `a ux conservatif . . . . . . . . . . . . . . . . . 87
8.5.2 Une approche nave . . . . . . . . . . . . . . . . . . . . . 88
8.5.3 Crit`ere de Stabilite de Von Neumann . . . . . . . . . . . . 89
8.5.4 Methode de Lax . . . . . . . . . . . . . . . . . . . . . . . 90
8.5.5 Methode de Crank-Nicholson . . . . . . . . . . . . . . . . 91
8.5.6 Methode `a contre-vent . . . . . . . . . . . . . . . . . . . 92
8.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
9 Alg`ebre lineaire 95
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.2

Elimination de Gauss-Jordan . . . . . . . . . . . . . . . . . . . . 97
9.2.1 Rappels sur les matrices . . . . . . . . . . . . . . . . . . . 97
133
TABLE DES MATI
`
ERES
9.2.2 Methode sans pivot . . . . . . . . . . . . . . . . . . . . . 97
9.2.3 Methode avec pivot . . . . . . . . . . . . . . . . . . . . . 98
9.3

Elimination gaussienne avec substitution . . . . . . . . . . . . . . 98
9.4 Decomposition LU . . . . . . . . . . . . . . . . . . . . . . . . . . 99
9.4.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
9.4.2 Resolution dun syst`eme lineaire . . . . . . . . . . . . . . 100
9.5 Matrices creuses . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
9.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 101
9.5.2 Matrices tridiagonales . . . . . . . . . . . . . . . . . . . . 102
9.5.3 Formule de Sherman-Morison . . . . . . . . . . . . . . . . 102
9.6 Decomposition de Choleski . . . . . . . . . . . . . . . . . . . . . 102
9.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
10 Analyse spectrale 105
10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
10.2 Proprietes des matrices . . . . . . . . . . . . . . . . . . . . . . . 106
10.3 Methodes directes . . . . . . . . . . . . . . . . . . . . . . . . . . 108
10.3.1 Methode de Jacobi . . . . . . . . . . . . . . . . . . . . . . 108
10.3.2 Reduction de Householder . . . . . . . . . . . . . . . . . . 110
10.3.3 Algorithme QL . . . . . . . . . . . . . . . . . . . . . . . . 112
10.3.4 Factorisation de Schur . . . . . . . . . . . . . . . . . . . . 113
10.4 Methode iteratives . . . . . . . . . . . . . . . . . . . . . . . . . . 114
10.4.1 Methodes des puissances . . . . . . . . . . . . . . . . . . . 114
10.4.2 Methode de Lancz`os . . . . . . . . . . . . . . . . . . . . . 115
11 Equations integrales 117
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
11.2 Equation de Fredholm . . . . . . . . . . . . . . . . . . . . . . . . 117
11.2.1 Equation de premi`ere esp`ece . . . . . . . . . . . . . . . . 117
11.2.2 Equation de seconde esp`ece . . . . . . . . . . . . . . . . . 118
11.3 Equation de Volterra . . . . . . . . . . . . . . . . . . . . . . . . . 119
11.3.1 Equation de premi`ere esp`ece . . . . . . . . . . . . . . . . 119
11.3.2 Equation de seconde esp`ece . . . . . . . . . . . . . . . . . 119
11.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
A Coordonnees hyperspheriques 121
B Les biblioth`eques BLAS et Lapack 123
B.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
B.2 Terminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
C La biblioth`eque GSL 125
C.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
C.2 Sous programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
C.2.1 BLAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
C.2.2 fonctions simples . . . . . . . . . . . . . . . . . . . . . . . 126
134
TABLE DES MATI
`
ERES
D Les logiciels scientiques de resolution analytique et numerique127
D.1 Maple et Mathematica . . . . . . . . . . . . . . . . . . . . . . . . 127
D.2 Matlab, Scilab et Mathcad . . . . . . . . . . . . . . . . . . . . . . 127
135

Vous aimerez peut-être aussi