Académique Documents
Professionnel Documents
Culture Documents
Analyse Num
Analyse Num
Ce cours est une introduction aux methodes danalyse numerique tr`es largement utilisees en physique afin de resoudre les equations algebriques ou differentielles que lon rencontre dans la modelisation de phenom`enes physiques,
chimiques ou biologiques.
Ce domaine particuli`erement vaste necessite simultanement des connaissances mathematiques, informatiques et physiques. De larges classes de probl`emes numeriques sont abordees dans ces notes et montrent la necessite de bien
caracteriser les proprietes mathematiques du probl`eme considere afin de choisir
la methode numerique la mieux adaptee pour le traitement numerique.
Chapitre 1
Int
egration et sommes
discr`
etes
Contenu
1.1
1.2
1.3
1.4
1.5
1.6
1.1
Introduction . . . . . . . . . . . . . . . . . . . . . . .
3
Les m
ethodes de C
otes . . . . . . . . . . . . . . . . .
4
1.2.1 Trap`eze . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . 6
M
ethode de Romberg . . . . . . . . . . . . . . . . . .
7
M
ethodes de Gauss . . . . . . . . . . . . . . . . . . .
7
M
ethode de Gauss-Kronrod et m
ethodes adaptatives 9
Int
egrales multiples . . . . . . . . . . . . . . . . . . .
11
Introduction
N
X
ai f (xi )
(1.2)
i=1
o`
u ai et xi sont des variables que nous allons preciser dans la suite. Pour que levaluation numerique soit correcte, il est necessaire dimposer que toute methode
verifie que
lim IN = I
(1.3)
N
Au del`
a de la verification de ce crit`ere Eq. (1.3), la qualite dune methode
sera evaluee par la mani`ere dont la convergence vers le resultat exact seffectue.
Dans la suite nous allons considerer des fonctions de classe C1 1 (contin
ument
derivable) sur le support [a, b]2 . La derni`ere restriction imposee `a la fonction est
que
|f 0 (x)| < K
x [a, b]
(1.4)
o`
u K est une constante finie. Cela revient `a supposer que la derivee de la
fonction f nest jamais singuli`ere sur le support [a, b].
1.2
Les m
ethodes de C
otes
2.5
1.5
0.5
1.5
x
2.5
(1.5)
1.2.1
(1.6)
Trap`
eze
La methode des trap`ezes consiste `a approximer la fonction entre deux abscisses successives par une droite (voir Fig. (1.1)), ce qui donne.
Z xi+1
h
f (x)dx = (fi + fi+1 ) + O(h3 f 00 ).
(1.7)
2
xi
Le terme derreur indique la qualite de levaluation de lintegration et depend de
mani`ere cubique du pas dintegration ; f 00 se ref`ere `a un point situe `a linterieur
5
f (x) = h
a
N
1
X
i=1
h
fi + (f0 + fN ) + O
2
(b a)3 f 00
N2
(1.8)
o`
u on a utilise que h = (b a)/N
1.2.2
Simpson
f (x) =
a
h
f0 + fN + 2
3
N 1
2
(2f2i1 + f2i ) + O
i=1
1
N4
(1.11)
(1.12)
1.3
M
ethode de Romberg
Trap`ezes
S1 (h)
S1 (2h)
S1 (4h)
S1 (8h)
Simpson
S2 (h)
S2 (2h)
S2 (4h)
Boole
S3 (h)
S3 (2h)
troisi`eme amelioration
S4 (h)
1.4
M
ethodes de Gauss
Dans les methodes precedentes, nous avons vu quen changeant les coefficients de ponderation des valeurs de la fonction `a integrer aux abscisses
reguli`erement espacees, on pouvait grandement ameliorer la convergence de la
methode. Les methodes de Gauss ajoutent aux methodes precedentes de pouvoir
utiliser des abscisses non reguli`erement espacees.
Soit W (x) une fonction strictement positive sur lintervalle [a, b], appelee
fonction de poids, on choisit une suite de points xi telle que lintegrale soit
approchee par une somme discr`ete de la forme
Z
W (x)f (x)dx =
a
N
X
wi fi
(1.14)
i=1
et Jacobi et a ete largement developpe par Christoffel. Soit un intervalle (a, b),
on introduit le produit scalaire de deux fonctions f et g avec la fonction de
poids W par :
Z b
< f |g >
W (x)f (x)g(x)dx
(1.15)
a
Les fonctions sont dites orthogonales si leur produit scalaire est nul. La fonction est normalisee quand < f |f >= 1. Un ensemble orthonorme de fonctions
est un ensemble de fonctions toutes normalisees et orthogonales deux `a deux.
On peut construire de mani`ere systematique une suite de polynomes telle
que le coefficient du mon
ome de degre le plus eleve soit egal `a un et telle quils
soient tous orthogonaux.
La relation de recurrence est la suivante.
p1 (x) = 0
(1.16)
p0 (x) = 1
(1.17)
(1.18)
ai =
(1.19)
(1.20)
(1.21)
1
< pN 1 | xx
|pN 1 >
i
(1.22)
(1.23)
o`
u le symbole prime designe la derivee du polynome et dn le coefficient du
mon
ome le plus eleve du polynome pN 3 .
Avec ce choix, on peut montrer en utilisant la relation de recurrence, Eq. (1.18),
que < pi |p1 >= 0.
A titre dexemples voici les fonctions de poids classiques que lon utilise pour
calculer une integrale par la methode de Gauss
3
Attention, la formule 4.5.9 de la reference[1] est incorrecte et doit etre remlacee par lequation (1.22)
Gauss-Legendre
La fonction de poids est W = 1 sur lintervalle [1, 1]. La relation de
recurrence pour les polyn
omes de Legendre est
(i + 1)Pi+1 = (2i + 1)xPi iPi1
(1.24)
Gauss-Hermite
La fonction de poids est W = exp(x2 ) sur la droite reelle. La relation
de recurrence pour les polynomes dHermite est
Hi+1 = 2xHi 2iHi1
(1.25)
Gauss-Laguerre
La fonction de poids est W = x ex sur lintervalle [0, +[. La relation
de recurrence pour les polynomes de Laguerre est
(i + 1)Li+1 = (x + 2i + + 1)Li (i + )Li1
(1.26)
Gauss-Jacobi
La fonction de poids est W = (1 x) (1 + x) sur lintervalle ] 1, 1[. La
relation de recurrence pour les polynomes de Jacobi est
(,)
(,)
(,)
fi Pi1
(1.27)
o`
u les coefficients ci , di , ei et fi sont donnes par les relations
ci = 2(i + 1)(i + + + 1)(2i + + )
2
(1.28)
di = (2i + + + 1)( )
(1.29)
(1.30)
(1.31)
On peut utiliser des fonctions de poids qui sont integrables sur lintervalle,
sans etre necessairement bornees.
Gauss-Chebyshev4 La fonction de poids est W = (1 x2 )1/2 sur lintervalle [1, 1]. La relation de recurrence pour les polynomes de Chebyshev.
Ti+1 = 2xTi Ti1
1.5
(1.32)
M
ethode de Gauss-Kronrod et m
ethodes adaptatives
Pafnuty Lvovich Chebyshev (1821-1894) a un nom dont lorthographe varie un peu selon
les langues, puisquil sagit dune traduction phonetique. En Francais, son nom est generalement orthographie Tchebytchev.
les abscisses sont reguli`erement espaces, on peut sans effort de calcul supplementaire (le co
ut provient essentiellement de levaluation de la fonction aux
differents abscisses) obtenir une evaluation de lintegrale en utilisant un point
sur deux, ce qui donne une estimation pour un pas double. Dans une methode de Gauss, les zeros dun polynome ne concident jamais avec ceux dun
polyn
ome de degre plus eleve. Kronrod, mathematicien russe a montre que
lon peut choisir un polyn
ome de degre n + p dont n racines sont les racines
du polyn
ome de Gauss. Notons G(p + n, x) le polynome de degre p + n dont
les racines correspondent aux n + p abscisses de la formule dintegration. Un
polyn
ome de degre n + 2p 1 peut sexprimer sous la forme
f (x) = G(n + p)h(x) + g(x)
o`
u
g(x) =
n+p1
X
ak xk
(1.33)
(1.34)
k=0
et
h(x) =
p1
X
bk xk
(1.35)
k=0
On impose les poids pour la nouvelle formule telle que g(x) soit integree exactement. Cette condition sexprime de la mani`ere suivante
Z 1
G(n + p, x)h(x)dx = 0
(1.36)
1
avec k = 0, 1, ....p 1
Si p = n + 1, on note G(2n + 1, x) = K(n + 1, x)P (n, x). La condition
Eq (2.1) est alors donnee par
Z 1
K(n + 1, x)P (n, x)P (k, x)dx = 0
(1.38)
1
K(n + 1, x) =
2
X
ai P (2i 2, x)
(1.39)
i=1
i=1
ai
1
10
(1.40)
pour k = 1, . . . n (on choisit a0 = 1). Pour k pair, ces equations sont automatiquement satisfaites, les equations restantes permettent devaluer les coefficients ai (cette methode sappelle methode de Patterson).
Les methodes adaptatives partent du principe que lerreur commise dans le
calcul de lintegrale depend souvent de la portion du segment o`
u les evaluations
de fonctions sont faites. Si la fonction varie rapidement dans un intervalle restreint de lensemble du domaine dintegration, il est preferable daugmenter la
precision du calcul dans cette region plutot que sur la totalite de lintervalle. Les
methodes adaptatives consistent donc `a couper le segment en deux et evaluer
chaque partie, on compare lestimation de lerreur par rappport `a la tolerance
imposee et lon proc`ede `
a une nouvelle division de lintervalle dans les regions
les plus difficiles.
1.6
Int
egrales multiples
11
12
Chapitre 2
Fonctions sp
eciales et
evaluation de fonctions
Contenu
2.1
2.1
Introduction
. . . . . . . . . . . . . . . . . . . . . . .
13
2.2
14
2.3
Fonction Gamma . . . . . . . . . . . . . . . . . . . . .
14
2.3.1
Definition et proprietes . . . . . . . . . . . . . . . . . 14
2.3.2
Fonctions reliees : , B . . . . . . . . . . . . . . . . . 16
2.4
Fonctions de Bessel . . . . . . . . . . . . . . . . . . .
18
2.5
Fonctions Hyperg
eom
etriques . . . . . . . . . . . . .
20
2.5.1
2.5.2
2.6
21
2.7
Conclusion
22
. . . . . . . . . . . . . . . . . . . . . . . .
Introduction
20
15
10
(x)
5
0
-5
-10
-15
-20
-4
-3
-2
-1
2.2
Les fonctions les plus simples que lon rencontre lors de lapprentissage des
mathematiques sont tout dabord les monomes, puis les polynomes, et enfin les
fractions rationnelles. Le calcul de la valeur de la fonction pour un argument
reel ou complexe necessite un nombre fini des quatre operations elementaires
que sont laddition, la soustraction, la multiplication et la division.
Les premi`eres fonctions transcendantes que lon rencontre sont alors les fonctions trigonometriques (sin, cos,tan, arccos, arcsin) ainsi que leurs fonctions inverses. Les fonctions exp et log representent generalement le reste de larsenal
des fonctions transcendantes definies dans un cursus de premier, voire de second
cycle universitaire.
2.3
2.3.1
Fonction Gamma
D
efinition et propri
et
es
(2.3)
(2.4)
(z) sin(z)
(2.5)
c2
cN
c1
2 c0 +
+
+ ... +
+
z+1 z+2
z+N
(2.6)
o`
u est le param`etre estimant lerreur. Pour le choix particulier = 5, N = 6
et c0 tr`es voisin de 1, on a || < 2.1010 .
Il est difficile de calculer la fonction pour des valeurs de z un peu importantes. Cela resulte de la croissance tr`es rapide de la fonction . On peut montrer que la fonction crot plus vite que toute exponentielle, comme de mani`ere
analogue on montre que lexponentielle crot plus vite que tout polynome. On
dit parfois que la fonction a une croissance super-exponentielle.
Dans de nombreuses formules, la fonction apparat `a la fois au numerateur
et au denominateur dune expression. Chacun des termes peut etre tr`es important, mais le rapport est souvent un nombre relativement modeste. Pour calculer
numeriquement ce type dexpression, il est preferable de calculer ln((z)) (voir
Fig. 2.2). Ainsi la fraction est alors lexponentielle de la difference de deux
logarithmes. Tous les nombres qui interviennent dans ce calcul sont exponentiellement plus petits que ceux qui apparaissent dans un calcul direct, on evite
ainsi le depassement de capacite de lordinateur.
15
20
ln((x)
15
10
0
0
10
(2.7)
(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
2.3.2
Fonctions reli
ees : , B
Noter que dans le logiciel Maple, la fonction Gamma et les fonctions Gamma incompl`etes
sont les seules fonctions definies avec des lettres capitales.
16
a=1
0.8
a=3
a=10
P(a,x)
0.6
0.4
0.2
10
12
14
d ln((x))
dx
(2.10)
n1
X
i=1
1
i
(2.11)
o`
u = 0.577 . . . est la constante dEuler.
Les fonctions Beta qui sont notees paradoxalement avec un B sont definies
par la relation :
B(z, w) =
(z)(w)
(z + w)
(2.12)
2
On definit aussi les fonctions polygamma comme une generalisation de la fonction
Digamma
dn (x)
(n, x) =
(2.9)
dxn
17
0.5
Y(x),J(x)
-0.5
J0
J1
J2
J3
Y0
Y1
Y2
Y3
-1
-1.5
-2
10
Fig. 2.4 Les quatre premi`eres fonctions de Bessel enti`eres de premi`ere esp`ece et de deuxi`eme esp`ece. Ces fonctions sont presentes dans toutes les biblioth`eques mathematiques de programmation, dans les logiciels de calcul symbolique comme Maple et dans un logiciel graphique comme xmgrace.
2.4
Fonctions de Bessel
(2.13)
(2.14)
4
I0
I1
I2
I3
K0
K1
K2
K3
3.5
3
K(x),I(x)
2.5
2
1.5
1
0.5
0
2
x
Fig. 2.5 Les quatre premi`eres fonctions de Bessel enti`eres modifiees de premi`ere et de deuxi`eme esp`ece. Ces fonctions sont presentes dans toutes les biblioth`eques mathematiques de programmation, dans les logiciels de calcul symbolique comme Maple et dans un logiciel graphique comme xmgrace.
seconde esp`ece est le suivant
r
2
J (x) '
(cos(x /2 /4))
x
r
2
Y (x) '
(sin(x /2 /4))
x
(2.15)
(2.16)
(2.17)
(2.19)
(2.20)
Les fonctions de Hankel H1, and H2, sont appelees fonctions de Bessel de
troisi`eme esp`ece et sont definies par la relation
2.5
2.5.1
(2.21)
(2.22)
Fonctions Hyperg
eom
etriques
Fonction Hyperg
eom
etrique Gaussienne
(2.23)
o`
u a, b et c sont des constantes.
Si c, a b et c a b sont non entiers, la solution generale de cette equation
est
y = F (a, b; c; x) + Bx1c F (a c + 1, b c + 1; 2 c; x)
(2.24)
La fonction F peut etre exprimee sous la forme dune serie
F (a, b; c; x) 2 F1 (a, b, c; x)
(c) X (a + n)(b + n) xn
=
(a)(b)
(c + n)
n!
(2.25)
n=0
2.5.2
Fonctions Hyperg
eom
etriques g
en
eralis
ees
o`
u on a utilise la notation de Pochhammer
(a)k =
(a + k)
(a)
20
(2.27)
4
E1
E2
E3
E4
En(x)
2
x
2.6
X
xn
Ei(x) = + ln(x) +
n n!
n=1
21
(2.31)
(1)n
n=1
xn
n n!
(2.34)
La fonction Ei (1, x) nest definie que pour des arguments reels : Pour x < 0,
on a
Ei (x) = Ei (1, x)
(2.35)
On peut noter que les exponentielles integrales En (x) sont reliees a` la fonction par la relation
En (x) = xn1 (1 n, x)
(2.36)
2.7
Conclusion
Cette introduction aux fonctions speciales est tr`es loin detre exhaustive ; il
existe de nombreuses autres fonctions dites speciales : les fonctions elliptiques,
les fonctions de Fresnel, les fonctions de Meier,. . . . Le developpement de biblioth`eques qui permettent de calculer les valeurs de ces fonctions est un secteur
tr`es actif et nous disposerons dans les annees futures de biblioth`eques encore
plus performantes.
22
Chapitre 3
Interpolation de fonctions
Contenu
3.1
3.2
Introduction . . . . . . . . . . . . . . . . . . .
Fonctions `
a une variable . . . . . . . . . . . .
3.2.1 Algorithme de Neville . . . . . . . . . . . . .
3.2.2 Polyn
omes de Chebyshev . . . . . . . . . . .
3.2.3 Methodes de lissage (Spline) . . . . . . . . .
3.2.4 Approximants de Pade . . . . . . . . . . . . .
3.2.5 Algorithme de Remez . . . . . . . . . . . . .
3.3 Fonctions `
a plusieurs variables . . . . . . . .
3.3.1 Introduction . . . . . . . . . . . . . . . . . .
3.3.2 Interpolations bilineaire et bicubiques . . . .
3.4 Conclusion . . . . . . . . . . . . . . . . . . . .
3.1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
24
24
25
26
28
30
30
30
31
32
Introduction
Pour evaluer une fonction, il est frequent de ne disposer que de ses valeurs
sur un ensemble fini de points. Dans le cas le plus simple dune fonction `a une
variable, ces points sont souvent disposes sur un reseau regulier unidimensionnel. Il est souvent necessaire de pouvoir evaluer cette fonction en dehors de
cet ensemble de points. Si le point `a evaluer se situe `a linterieur dun intervalle elementaire constitue de deux points consecutifs du reseau, la procedure
dapproximation de la fonction par une fonction plus simple (tr`es souvent un
polyn
ome) sappelle une interpolation. Quand le point `a evaluer se situe en
dehors des bornes du reseau, la procedure dapproximation sappelle une extrapolation.
La mise en place dune interpolation pour une fonction evaluee initialement
sur un reseau consiste `
a optimiser la fonction approchante en utilisant lensemble des donnees. Le probl`eme est de savoir si lensemble des donnees doit etre
utilisee en une seule fois pour determiner une unique fonction sur lensemble de
lintervalle ou si on doit construire une succession de fonctions approchantes en
utilisant des donnees locales. Nous allons voir que les reponses sont adaptees
23
Interpolation de fonctions
1.0
0.75
0.5
0.25
0.0
1.0
0.5
0.0
0.5
1.0
3.2
3.2.1
Fonctions `
a une variable
Algorithme de Neville
la formule de Lagrange.
(x x2 )(x x3 )...(x1 xN )
y1 +
(x1 x2 )(x1 x3 )...(x1 xN )
(x x1 )(x x3 )...(x1 xN )
+
y2 + ...
(x2 x1 )(x2 x3 )...(x2 xN )
(x x1 )(x x3 )...(x1 xN 1 )
yN
+
(xN x1 )(xN x3 )...(xN xN 1 )
P (x) =
(3.1)
P2 P3 P4 ... PN 1 PN
P12 P23 P34
...
P(N 1)N
P123 P234
...
...
P1234
...
...
...
P1234...(N 1)N
3.2.2
Polyn
omes de Chebyshev
Dans le cas, o`
u la fonction `a interpoler est continue, mais poss`ede des
derivees discontinues, la procedure de Neville ne converge pas uniformement. La
figure 3.1 illustre la mani`ere dont des polynomes dinterpolation de degre croissant interpole difficilement la region o`
u la fonction continue a une discontinuite
de la derivee. En augmentant le degre du polynome, on voit clairement que lapproximation est meilleure au centre mais se deteriore gravement sur les bords de
lintervalle. En utilisant un developpement sur les polynomes de Chebyshev, on
obtient une interpolation avec des polynomes de degres identiques, cest-`a-dire
4 et 10, les approximations qui apparaissent sur la figure 3.2. Le resultat est
spectaculaire. Notons quavec cette procedure lapproximation obtenue ne passe
pas par tous les points dun reseau regulier. (voir Fig. 3.2).
25
Interpolation de fonctions
1,0
0,75
0,5
0,25
1,0
0,5
0,0
0,0
0,5
1,0
fonction
ordre 4
ordre 10
3.2.3
M
ethodes de lissage (Spline)
Comme nous lavons vu ci-dessus, les interpolations de fonction avec lutilisation de polyn
omes de degre eleve peuvent conduire `a des defauts tr`es importants situes sur les limites de lintervalle o`
u la fonction est definie. Inversement,
lapproximation locale par une droite joignant deux points conecutifs presente
le defaut important que la derivee de la fonction interpolante a une derivee constante et discontinue sur chaque intervalle et une derivee seconde nulle presque
partout.
La methode spline minimise une sorte denergie elastique et consiste `a imposer que la derivee premi`ere de la fonction interpolante soit continue et que
la derivee seconde le soit aussi sur la totalite de lintervalle de definition de la
fonction.
Si on note (xi , yi = f (xi )) la suite de couples abscisse-ordonnee o`
u la fonction
a ete calculee, lapproximation cubique se construit de la mani`ere suivante
y = A(x)yi + B(x)yi+1 + C(x)yi + D(x)yi+1
(3.3)
o`
u A, B, C and D sont des fonctions de x. Ces fonctions sont determinees par
les contraintes suivantes :
A et B sont determinees par une interpolation lineaire. Ce qui donne
A(x) =
26
xi+1 x
xi+1 xi
(3.4)
10,0
7,5
0.05
5,0
x
4
0.025
0.0
2,5
0.025
0,0
4
0.05
x
0.075
2,5
0.1
fonction
Spline
Fig. 3.3 Figure de gauche : trace de la fonction donnee par lequation (3.11)
ainsi que lapproximation donnee par un Spline cubique. Figure de droite :
trace de la difference pour la.
et
B(x) =
x xi
xi+1 xi
(3.5)
C(x) et D(x) doivent sannuler sur les limites de lintervalle [xi , xi+1 ] et
sont des polyn
omes de degre 2 en x.
Il est facile de verifier que
et
1
C(x) = (A(x)3 A(x))(xi+1 xi )2 )
6
(3.6)
1
D(x) = (B(x)3 B(x))(xi+1 xi )2 )
6
(3.7)
conviennent
En effet en derivant deux fois par rapport `a x, lequation (3.3), on obtient
d2 y
= A00 (x)yi + B 00 (x)yi+1
dx2
(3.8)
(xi+1 xi )yi00 +
(xi+1 xi )yi+1
(3.9)
dx
xi+1 xi
6
6
Cela donne un syst`eme dequations pour les derivees secondes
xi xi+1 00
xi+1 xi1 00 xi+1 xi 00
yi+1 yi yi yi1
yi1 +
yi +
yi+1 =
(3.10)
6
3
6
xi+1 xi xi xi1
27
Interpolation de fonctions
8
6
4
x
4
2
0
0
2
4
6
8
10
12
Fig. 3.4 Trace des derivees secondes de la fonction (3.11) (courbe rouge) et
de son approximation (courbe verte).
On a donc N inconnues pour N 2 equations ; pour lever lindetermination,
on peut imposer que la derivee seconde de la fonction sannule aux extremites
de lintervalle total.
Ce compromis permet de davoir une approximation qui convient `a un
grande nombre de fonctions. Pour illustrer cette methode, nous considerons
la fonction suivante
2
y = x2 + 6(ex 1)
(3.11)
La figure 3.3 presente la fonction ainsi que son approximation sur un reseau de
pas egal `
a 2 pour la fonction donnee par lequation (3.11) sur la figure de gauche.
La figure de droite montre la difference entre la fonction et son approximation.
Les derivees secondes de la fonction et lapproximation sont tracees sur le
meme intervalle (Voir Fig. 3.4). Lapproximation cubique conduit `a une derivee
seconde continue sur la totalite de lintervalle et sannule bien aux fronti`eres de
cet intervalle. Si une interpolation lineaire avait ete faite sur chaque intervalle
elementaire la derivee seconde serait nulle presque partout sur cet intervalle.
Lapproximation cubique est donc un compromis raisonnable.
3.2.4
Approximants de Pad
e
2,0
1,6
1,2
0,8
0,4
0,0
2
0,4
0,8
y
1,2
1,6
2,0
Fig. 3.5 Trace de la fonction donnee par lequation (3.12) et des developpements `
a lordre 4, 6, 18, 20.
a un developpement en serie dont le rayon de convergence est fini, toute approximation polynomiale ne permet pas dobtenir une approche de la fonction
au del`
a du rayon de convergence du developpement en serie enti`ere. De plus,
une approximation de degre de plus en plus eleve donnera une approximation
de plus en plus mediocre quand on sapproche du rayon de convergence. Ce
phenom`ene est illustree sur la Figure 3.5 o`
u lon consid`ere la fonction
f (x) =
exp(x2 )
1 + x2
(3.12)
et o`
u les polyn
omes sont bases sur le developpement en x `a lordre 4, 6, 18, 20
et sont traces conjointement avec la fonction f (x).
Pour remedier `
a ce type de defaut, les approximants de Pade sont bases sur
une interpolation utilisant une fraction rationnelle,
P a[m, n] =
Pm (x)
Qn (x)
(3.13)
o`
u le polynome Pm (x) est un polynomes de degre m et Qn (x) est un polynome
de degre n dont le coefficient constant est egal `a 1. Ainsi un approximation de
Pade dordre [m, n] est une fraction rationnelle dont m + n + 1 coefficients sont
`a determiner. Quand on connait la valeur dune fonction et ses n + m derivees
en un point, on peut calculer n + m approximants differents. Les approximations de Pade dordre [8, 0], [6, 2], [4, 4], [2, 6] ainsi que la fonction sont tracees
29
Interpolation de fonctions
1,0
0,75
y 0,5
0,25
0,0
2
Fig. 3.6 Trace de la fonction et des approximants de Pade [8, 0] et [6, 2] sur
la partie gauche et [4, 4]et[2,6] sur la partie droite.
sur la figure 3.6. On voit clairement que les approximations par des fractions
rationnelles evitent la singularite liee au rayon de convergence pour |x| = 1. De
plus, lapproximation [2, 6] tend vers zero quand largument de x est grand et
correspond une meilleure approximation sur la totalite de lintervalle.
3.2.5
Algorithme de Remez
(3.14)
3.3
3.3.1
Fonctions `
a plusieurs variables
Introduction
Pour des raisons de capacite memoire sur les ordinateurs, la plupart des
fonctions de plusieurs variables que lon doit interpoler sont des fonctions `a
deux variables ou `
a trois variables au maximum. La necessite de proceder `a une
interpolation intervient par exemple dans le calcul dequations integrales.
30
3.3.2
Interpolations bilin
eaire et bicubiques
Pour une fonctoin tabulee sur un reseau carre regulier, lapproximation bilineaire consiste `
a utiliser un polynome `a deux variables qui donne sur chacune
des aretes dun carre elementaire la valeur exacte de la fonction.
Soit xi = x0 + hi avec i entier et yj = y0 + hj, pour la cellule elementaire
delimite par les points (xi , yj ),(xi , yj+1 ),(xi+1 , yj+1 ),(xi+1 , yj ), on a le polynome
suivant
P (x, y) =h2 ((x xi+1 )(y yi+1 )fij + (x xi+1 )(y yi )fij+1
+(x xi+1 )(y yi )fi+1j + (x xi )(y yi )fi+1j+1 )
(3.15)
Avec cette approximation, les derivees partielles secondes de cette approximation sont toutes nulles, ce qui peut etre insuffisant pour la qualite de lapproximation. Dans le cas o`
u les derivees premi`eres ainsi que la (ou les) derivee(s)
croisee(s) seconde(s) est (sont) connue(s), on peut faire une meilleure approximation appelee approximation bicubique. En utilisant le fait que lapproximation doit donner exactement les valeurs de la fonction ainsi que celles des
derivees premi`eres et des derivees croisees secondes, cela donne seize coefficients
`a determiner. En notant
y
= y,1
(3.16)
x1
y
= y,2
(3.17)
x2
2y
= y,12
(3.18)
x1 x2
(3.19)
on doit resoudre le syst`eme dequations suivant
y(x1 , x2 ) =
4 X
4
X
(3.20)
i=1 j=1
4 X
4
X
y,1 (x1 , x2 ) =
(i 1)cij ti2 uj1
(3.21)
i=1 j=1
4 X
4
X
y,2 (x1 , x2 ) =
(j 1)cij ti1 uj2
(3.22)
i=1 j=1
y,12 (x1 , x2 ) =
4 X
4
X
(i 1)(j 1)cij ti2 uj2
(3.23)
i=1 j=1
(3.24)
o`
u cij sont les seize coefficients `
a determiner avec
x1 x1,i
x1,i+1 x1,i
x2 x2,i
u=
x2,i+1 x2,i
t=
31
(3.25)
(3.26)
Interpolation de fonctions
3.4
Conclusion
32
Chapitre 4
Racines d
equations
Contenu
4.1
4.2
4.3
Introduction . . . . . . . . . . . . . . . . . . .
Dichotomie . . . . . . . . . . . . . . . . . . . .
M
ethode de Ridder . . . . . . . . . . . . . . .
4.3.1 Methode de la position fausse . . . . . . . . .
4.3.2 Methode de Ridder . . . . . . . . . . . . . . .
4.4 M
ethode de Brent . . . . . . . . . . . . . . . .
4.5 Newton-Raphson . . . . . . . . . . . . . . . . .
4.6 Racines de Polyn
omes . . . . . . . . . . . . .
4.6.1 Reduction polynomiale . . . . . . . . . . . . .
4.6.2 Methode de Laguerre . . . . . . . . . . . . .
4.1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
34
35
35
36
37
37
38
38
39
Introduction
Lune des t
aches rencontrees frequemment lors dun calcul est la recherche
de la racine dune equation. Sans perte de generalite, on peut toujours ecrire
une equation o`
u le membre de droite est egal `a zero,
f (x) = 0
(4.1)
(4.2)
Racines dequations
4.2
Dichotomie
(4.3)
(4.4)
0
Si f ( a0 +b
efinit un nouvel encadrement de la racine
2 )f (a0 ) > 0, alors on d
par le couple (a1 , b1 ) tel que
a0 + b0
2
b1 = b0 .
a1 =
(4.5)
(4.6)
En iterant cette methode, on obtient une suite de couple (an , bn ) telle que
n = bn an verifie la relation
n
n+1 =
(4.7)
2
o`
u 0 = (b0 a0 )/2 Cela signifie que si lon se fixe la tolerance qui represente
la precision `
a laquelle on souhaite obtenir la racine, on a un nombre diterations
`a effectuer egal `
a
|b0 a0 |
n = ln2
(4.8)
34
o`
u la notation ln2 signifie le logarithme en base 2.
Le choix de la valeur de la tolerance necessite quelques precautions. Si la
racine recherchee est de lordre de lunite, on peut tr`es raisonnablement choisir 0
de lordre de 106 `
a 1013 selon que lon travaille en simple ou double precision.
Par contre pour une racine dont la valeur est de lordre de 1010 , une precision
de 104 sera la valeur maximale que lon peut atteindre en double precision.
Inversement, pour une racine proche de zero, la precision peut etre meilleure
que 1014 .
4.3
4.3.1
M
ethode de Ridder
M
ethode de la position fausse
(4.9)
(4.10)
x=
(4.11)
(4.12)
soit encore
f (a0 )
f (b0 ) f (a0 )
f (b0 )
= b0 (b0 a0 )
f (b0 ) f (a0 )
x = a0 (b0 a0 )
(4.13)
(4.14)
On reprend `
a ce stade le principe de lalgorithme precedent si f (x)f (a0 ) > 0
alors
a1 = x
(4.15)
b1 = b0
(4.16)
a1 = a0
(4.17)
b1 = x
(4.18)
sinon
La figure
35
Racines dequations
2
4
2
3
4
1
-2
0.5
1.5
2.5
4.3.2
M
ethode de Ridder
Une variante de la methode precedente qui est tr`es efficace est basee sur
0
lalgorithme suivant. On evalue la fonction au point x3 = a0 +b
et on resout
2
lequation en z
f (a0 ) 2f (x)z + f (b0 )z 2 = 0
(4.19)
La solution positive est donnee par
p
f (x) + sgn(f (x)) f (x)2 f (a0 )f (b0 )
z=
f (b0 )
(4.20)
(4.21)
Parmi les proprietes remarquables, notons que x4 est toujours situee `a linterieur
de lintervalle [a0 , b0 ]. Si le produit f (x3 )f (x4 ) est negatif, on prend lintervalle
[x3 , x4 ] comme nouvel encadrement, sinon si on consid`ere le produit f (a0 )f (x4 ) ;
si celui est negatif, le nouvel encadrement est [a0 , x4 ], sinon on prend [x4 , b]. On
it`ere ensuite le procede.
36
4.4
M
ethode de Brent
x=
(4.22)
P
Q
(4.23)
o`
u P et Q sont donnes par
P = S[T (R T )(c b) (1 R)(b a)]
(4.24)
Q = (T 1)(R 1)(S 1)
(4.25)
o`
u R, S et T sexpriment comme
f (b)
f (c)
f (b)
S=
f (a)
f (a)
T =
f (c)
R=
(4.26)
(4.27)
(4.28)
P
En pratique, b est une premi`ere estimation de la racine et Q
une petite correcP
tion. Quand Q 0 la valeur de Q peut devenir tr`es grande et literation par la
methode de Brent est remplacee par une iteration de dichotomie.
4.5
Newton-Raphson
f 00 (x) 2
+ ...
2
(4.29)
Racines dequations
Si est suffisamment petit, on peut negliger les termes non lineaires et une
estimation de la racine est donnee par f (x + ) = 0.
=
f (x)
f 0 (x)
(4.30)
f (xi )
f 0 (xi )
(4.32)
4.6
4.6.1
Racines de Polyn
omes
R
eduction polynomiale
polyn
ome Pn (x). Rappelons que les polynomes `a coefficients complexes se factorisent en un produit de mon
omes de degre 1. Cette propriete exprime le fait
que les polyn
omes `
a coefficients complexes ont lensemble de leurs racines dans
le plan complexe,
n
Y
Pn (x) =
(x xi )
(4.36)
i=1
4.6.2
M
ethode de Laguerre
d ln(|Pn (x)|) X 1
=
dx
x xi
=
i=1
Pn0 (x)
Pn (x)
=G
(4.38)
(4.39)
d2 ln(|Pn (x)|) X
1
=
2
dx
(x xi )2
i=1
0
Pn (x) 2 Pn00 (x)
=
Pn (x)
Pn (x)
=H
(4.40)
Soit la racine x1 `
a determiner, on suppose que la valeur de depart x est situee
`a une distance a de x1 et que lensemble des autres racines sont situees `a une
distance supposee identique et qui vaut b
x x1 = a
x xi = b
(4.41)
i [2, n]
(4.42)
En inserant les equations (4.41) et (4.42) dans les equations (4.38), (4.40), on
en deduit respectivement les relations suivantes
1 n1
+
=G
a
b
1
n1
+ 2 =H
2
a
b
39
(4.43)
(4.44)
Racines dequations
n
p
G (n 1)(nH G2 )
(4.45)
Le signe place devant la racine du denominateur est choisi tel que le denominateur soit le plus grand possible. x a devient alors la nouvelle valeur de
depart et on it`ere le processus. En combinant cette methode avec celle de la
reduction polynomiale, on peut calculer lensemble des racines. En pratique,
comme chaque racine nest determinee quavec une precision finie, il est necessaire dajouter une procedure dite de lissage pour eviter les probl`emes dinstabilite numerique.
40
Chapitre 5
Equations diff
erentielles
Contenu
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.1
Introduction . . . . . . . . . . . . . . . . . . . . .
D
efinitions . . . . . . . . . . . . . . . . . . . . . . .
Equations diff
erentielles sp
eciales . . . . . . . .
5.3.1 Introduction . . . . . . . . . . . . . . . . . . . .
5.3.2 Equations du premier ordre . . . . . . . . . . . .
5.3.3 Equation differentielles du second ordre . . . . .
5.3.4 Equation de Bessel . . . . . . . . . . . . . . . . .
5.3.5 Equation differentielle erreur . . . . . . . . . . .
5.3.6 Equation differentielle dHermite . . . . . . . . .
M
ethodes dint
egration `
a pas s
epar
e . . . . . . .
5.4.1 Introduction . . . . . . . . . . . . . . . . . . . .
5.4.2 Methode dEuler . . . . . . . . . . . . . . . . . .
5.4.3 Methode RK explicites `a un point . . . . . . . .
5.4.4 Methodes RK implicites `a un point . . . . . . . .
5.4.5 Methodes RK explicites `a 2 points intermediaires
5.4.6 Methodes RK explicites `a 3 points intermediaires
5.4.7 Formule generale des methodes RK explicites . .
M
ethode dint
egration `
a pas variables . . . . . .
5.5.1 Introduction . . . . . . . . . . . . . . . . . . . .
M
ethodes de Runge-Kutta embarqu
ees . . . .
M
ethode de Bulirsh-Stoer . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
42
42
42
43
44
45
45
45
45
45
46
47
47
47
48
48
49
49
49
50
51
Introduction
La resolution numerique dequations differentielles est tr`es souvent necessaire, faute de lexistence de solutions analytiques. Le but de ce chapitre est
de montrer que la meilleure methode, ou la plus efficace `a utiliser pour obtenir
une solution, necessite de connatre la nature de lequation differentielle `a resoudre. Les methodes les plus standards que nous allons presenter sont largement presentes dans les logiciels de calcul comme Maple, Matlab, Scilab, Octave, ou Mathematica, et surtout dans les biblioth`eques pour la programmation
41
Equations differentielles
(IMSL, NAG, GSL). Il est donc preferable dutiliser ces biblioth`eques plutot
que de reecrire un code peu performant et probablement faux dans un premier
temps.
5.2
D
efinitions
(5.1)
o`
u y 0 represente la derivee premi`ere par rapport `a x, y 00 la derivee seconde,
etc... Plus generalement, on appelle syst`eme differentiel un ensemble dequations
differentielles reliant une variable x et un certain nombre de fonction yi (x)
ainsi que leurs derivees. Lordre du syst`eme differentiel correspond `a lordre de
derivation le plus eleve parmi lensemble des fonsctions.
On appelle solution de lequation differentielle (5.1) toute fonction y(x) de
classe Cp qui verifie lequation (5.1).
On appelle forme canonique dune equation differentielle une expression du
type
y (p) = f (x, y, y 0 , y 00 , . . . y (p1) )
(5.2)
Seul ce type dequations sera considere dans ce chapitre.
Il est facile de verifier que toute equation differentielle canonique peut etre
ecrite comme un syst`eme dequations differentielles du premier ordre.
Si on introduit p 1 fonctions definies comme
y1 = y
y2 = y 0
...
yp = y (p1)
(5.3)
5.3
5.3.1
(5.4)
Equations diff
erentielles sp
eciales
Introduction
equations differentielles particuli`eres qui contiennent en autres quelques equations differentielles non-lineaires, dont limmense majorite ne peut etre resolue
que numeriquement.
5.3.2
Equation `
a coefficients constants
Les equations differentielles a` coefficients constants de forme generale
a
dy
+ by(x) = c(x)
dx
(5.5)
y(x) = e
Z
c(t) b/at
dt
e
+ cste
a
(5.6)
Equation lin
eaire
Une equation differentielle lineaire a pour forme generale
dy
+ f (x)y(x) = g(x)
dx
(5.7)
o`
u f (x) et g(x) sont des fonctions arbitraires. La solution de cette equation
differentielle est
Z
R
Rt
x f (u)du
f (u)du
y(x) = e
(
dtg(t)e
+ Cste
(5.8)
Equation de Bernouilli
Lequation de Bernouilli a pour forme generale
dy
+ f (x)y(x) + g(x)y(x)a = 0
dx
(5.9)
o`
u f (x) et g(x) sont des fonctions arbitraires. En introduisant le changement
de fonction
1
y(x) = u(x) 1a
(5.10)
(5.11)
Equations differentielles
Equation de Clairaut
Une equation de Clairaut est une equation de la forme
dy
dy
y(x) = x
+g
dx
dx
(5.12)
(5.13)
o`
u C est une constante arbitraire. On peut aussi exprimer la solution de lequation sous forme parametrique
x(s) = g 0 (s)
(5.14)
0
(5.15)
Equation de Riccatti
La forme dune equation de Riccatti est donnee par lexpression suivante
dy
f (x)y(x)2 g(x)y(x) h(x) = 0
(5.16)
dx
o`
u f (x), g(x) et h(x) sont des fonctions arbitraires. Il ny a pas de solutions
generales pour lequation de Riccatti. Quand h(x) = 0, on retrouve la forme
dune equation de Bernouilli dont la solution a ete donnee plus haut. La forme
dite speciale de lequation de Riccatti est definie par lequation differentielle
suivante
dy
ay(x)2 bxc = 0
(5.17)
dx
Si de plus c est de la forme
4 i
c=
(5.18)
2i 1
avec i entier relatif, on peut obtenir une expression analytique de lequation
differentielle de Riccati.
5.3.3
Equation diff
erentielles du second ordre
Equations diff
erentielles `
a coefficients constants
Les equations differentielles `a coefficients constants de forme generale
a
d2 y
dy
+b
+ cy(x) = d(x)
2
dx
dx
(5.19)
2
X
i=1
ui x
Z
2ad(t) uj t
bx
Ci + e a
dt
e
b2 4ac
(5.20)
o`
u les ui sont les solutions de lequation caracteristique
au2 + bu + c = 0
(5.21)
5.3.4
Equation de Bessel
Les equations differentielles de Bessel sont definies par les equations suivantes
d2 y
dy
x2 2 + x
+ (x2 n2 )y(x) = 0
(5.22)
dx
dx
et
d2 y
dy
x2 2 + x
(x2 n2 )y(x) = 0
(5.23)
dx
dx
ce qui donne respectivement pour solutions les equations de Bessel J et Y pour
la premi`ere et les equations de Bessel modifiees I et K pour la seconde.
5.3.5
Equation diff
erentielle erreur
(5.24)
o`
u n est un entier. Pour n = 0 la solution est de la forme
y(x) = c + derf (x)
(5.25)
o`
u c et d sont des constantes arbitraires. Dans le cas o`
u o`
u n = 1, la solution
est de la forme
2
(5.26)
y(x) = cx + d(ex + erf (x)x)
De mani`ere generale, la solution est une combinaison generale de fonction de
WhittakerM.
5.3.6
Equation diff
erentielle dHermite
(5.27)
5.4
5.4.1
M
ethodes dint
egration `
a pas s
epar
e
Introduction
Soit lequation differentielle definie par les equations (5.4). On suppose que la
fonction f satisfait une condition de Lipschitz afin detre certain que la solution
existe, est unique et que le probl`eme est bien pose.
On cherche `
a calculer une approximation de la solution y(x) en un certain
nombre de points x1 , x2 , . . . xN de lintervalle [a, b], appele maillage de lintervalle, avec x0 = a et xN = b
45
Equations differentielles
Nous supposons que la suite des points est choisie de mani`ere `a ce que la
distance entre deux points consecutifs soit constante et on pose
(b a)
N
(5.28)
xk = a + kh
(5.29)
h=
ce qui donne
avec k = 0, 1, . . . , N
On appelle methode dintegration `a pas separe toute formule de recurrence
de la forme
yk+1 = yk + h(xk , yk , h)
k = 0, 1, . . . N
avec y0 donne
(5.30)
5.4.2
M
ethode dEuler
(5.31)
avec y0 donne.
Cette methode revient `
a approximer la solution au voisinage de xk par sa
tangente et nous allons voir quelle est dordre 1. En effet, si la solution est
suffisamment derivable, on peut ecrire
y(xk + h) = y(xk ) + hy 0 (xk ) +
h2 00
y (xk + h)
2
(5.32)
h2 00
y (xk + h)
2
(5.33)
5.4.3
M
ethode RK explicites `
a un point
yk,1 = yk +
h
f (xk , yk )
2
h
, yk,1 )
2
y0 donne
avec un nombre reel compris entre 0 et 1. Les valeurs de couramment
utilisees sont = 1, = 1/2 et = 3/4. Ces methodes sont dordre 2.
5.4.4
M
ethodes RK implicites `
a un point
(5.37)
o`
u est un nombre reel appartenant `a lintervalle ]0, 1] (si = 0, on retrouve la
methode dEuler). Si = 1/2, la methode est dordre 2 et sappelle la methode
des trap`ezes. Si 6= 1/2, la methode est dordre 1.
5.4.5
M
ethodes RK explicites `
a 2 points interm
ediaires
yk,1 = yk +
yk,2
yk+1
(5.38)
ou par
yk,1 = yk +
yk,2
yk+1
h
f (xk , yk )
2
h
= yk + h f (xk , yk ) + 2f xk + , yk,1
2
h
h
= yk +
f (xk , yk ) + 4f xk + , yk,1 + f (xk+1 , yk,2 )
6
2
(5.39)
Ces deux methodes sont dordre 3. La premi`ere est parfois appelee methode de
Heun.
47
Equations differentielles
5.4.6
M
ethodes RK explicites `
a 3 points interm
ediaires
5.4.7
Formule g
en
erale des m
ethodes RK explicites
(5.41)
Les coefficients sont determines afin que lordre soit le plus eleve possible. On
note A la matrice de coefficients (i,j ), le vecteur des coefficients i et le
vecteur des coefficients i .
Quand la matrice A est triangulaire inferieure stricte, ij = 0 pour j i,
on dit que la methode est explicite. Si seule la partie triangulaire superieure est
nulle, ij = 0 pour j > i, la methode est dite implicite ; sinon elle est totalement
implicite.
Une representation en forme de tableau des equations (5.41) donne
1
2
...
n
1
1,1
2,1
...
n,1
2
1,2
2,2
...
n,2
...
...
...
...
...
n
1,n
2,n
n,n
1/6
0
1/2
0
0
1/3
0
0
1/2
0
48
1/3
0
0
0
1
1/6
0
0
0
0
5.5
5.5.1
M
ethode dint
egration `
a pas variables
Introduction
(5.42)
(5.43)
o`
u est une fonction qui reste constante sur lintervalle x, x + 2h `a lordre h5 .
La premi`ere equation correspond `a une integration avec un pas egal `a 2h tandis
que la seconde correspond `
a deux integrations successives avec un pas de h. La
difference
= y2 y1
(5.44)
fournit une estimation de lerreur commise avec un pas dintegration h.
5.6
M
ethodes de Runge-Kutta embarqu
ees
Une autre methode pour estimer lerreur commise par lutilisation dun pas
h est due `
a Fehlberg. Il utilise le fait quen choisissant des valeurs particuli`eres
de i (voir section 5.4.7), on peut changer lordre de levaluation de la solution
pour un pas de temps h donne.
y1 = y(x) +
y2 = y(x) +
6
X
i=1
6
X
i Ki + 0(h6 )
(5.45)
i Ki + 0(h5 )
(5.46)
i=1
ce qui conduit `
a une estimation de lerreur
=
6
X
(i i )Ki
(5.47)
i=1
Pour determiner la valeur du pas la plus adaptee, on note tout dabord que
est calcule `
a lordre h5 . Si on a un pas h1 qui donne une erreur 1 , le pas h0
donne pour une erreur 0 fixee `a lavance, est donne par la relation
1/5
0
h0 = h1
(5.48)
1
49
Equations differentielles
10
8
1
2
3
-2
0.5
1.5
2.5
3.5
5.7
M
ethode de Bulirsh-Stoer
Lidee de cette methode repose sur les trois principes suivants : la resolution
de lequation differentielle pour un accroissement de x est donnee par une
fonction qui depend de h, mais qui tend vers une limite finie (independante de
h) ; on cherche `
a estimer la valeur exacte du syst`eme differentiel `a integrer en
calculant pour differents pas et en prenant la limite dun pas tendant vers zero.
La figure 5.1 illustre graphiquement les differentes estimations de la valeur
de la fonction solution en utilisant trois pas dintegration differents. La limite
dun pas de temps nul correspond `a la solution exacte donnee par la courbe
en trait plein. Ce point est tr`es comparable `a celui de la methode de Romberg
decrite pour lintegration.
50
5.8 Conclusion
5.8
Conclusion
51
Equations differentielles
52
Chapitre 6
Equations diff
erentielles
stochastiques
Contenu
6.1
6.2
6.3
Introduction . . . . . . . . . . . . . . . . . . . . . . .
Variables al
eatoires et processus stochastiques . . .
Processus de Wiener, bruit blanc . . . . . . . . . . .
6.3.1 Equation de diffusion . . . . . . . . . . . . . . . . . .
6.3.2 Equation de Langevin . . . . . . . . . . . . . . . . . .
6.4 Calcul dIto et
equations diff
erentielles stochastiques
6.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
6.4.2 Calcul differentiel stochastique . . . . . . . . . . . . .
6.4.3 Processus dOrstein-Uhlenbeck . . . . . . . . . . . . .
6.4.4 Mod`ele de Black-Scholes . . . . . . . . . . . . . . . . .
6.4.5 Transformee de Lamperti . . . . . . . . . . . . . . . .
6.5 M
ethodes num
eriques . . . . . . . . . . . . . . . . . .
6.5.1 Introdution . . . . . . . . . . . . . . . . . . . . . . . .
6.5.2 Schema dEuler . . . . . . . . . . . . . . . . . . . . . .
6.5.3 Schema de Milstein . . . . . . . . . . . . . . . . . . . .
6.5.4 Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . .
6.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . .
6.1
53
54
56
56
57
58
58
59
60
61
62
63
63
64
64
65
65
Introduction
ces trente derni`eres annees lobjet dune intense recherche par des modelisations
faisant intervenir des forces aleatoires,...
Le propos de ce chapitre est de donner des principes de bases pour la resolution des equations differentielles stochastiques. Sur un sujet tr`es vaste et en evolution rapide, nous serons tr`es loin de lexhaustivite. Nous allons donc rappeler
les definitions et proprietes fondamentales concernant les processus stochastiques ainsi que ceux des equations differentielles stochastiques, et nous renvoyons le lecteur `
a plusieurs ouvrages de base concernant les processus stochastiques.
6.2
Variables al
eatoires et processus stochastiques
(6.1)
54
(6.6)
(6.8)
o`
u les fonctions A(x, t), B(x, t) et W(z|x, t) sont definis de mani`ere suivante :
Z
1
A(x, t) = lim
dy(y x)p(y, t + t|x, t),
(6.9)
t0 t |xy|<
1
t0 t
B(x, t) = lim
et
(6.10)
|xy|<
1
p(x, t + t|z, t).
t0 t
W (x|z, t) = lim
(6.11)
Dans le cas o`
u lespace est discr`et et le temps continu, lequation de ChapmanKolmogorov prend alors la forme suivante
55
p(n, t|n0 , t0 ) X
(W (n|m, t), p(m, t|n0 , t0 )| W (m|n, t)p(n, t|n0 , t0 )) (6.12)
=
t
m
Cette derni`ere equation correspond par exemple `a la dynamique Monte-Carlo
dans le cas dun mod`ele dIsing. Pour les differentes equations de ChapmanKolmogorov, il existe une infinite de solutions qui satisfont ces equations et il est
necessaire de specifier plus precisement la dynamique pour obtenir une solution
unique. Nous allons voir maitenant des processus Markoviens tr`es utiles.
6.3
6.3.1
Quand un processus de Markov `a espace et temps continus Eq. (6.13), est tel
que W (x|z, t) = 0 pour tout temps t et x, z ainsi que A(x, t) = 0, et B(x, t) = 1
on obtient un processus de Wiener avec une equation devolution de la probabilite donnee par
p(w, t|w0 , t0 )
1 2
=
p(w, t|w0 , t0 )
t
2 w2
(6.13)
ce qui correspond `
a une equation de diffusion. La solution de cette equation est
bien entendu exacte et donnee par une Gaussienne
1
(w w0 )2
p(w, t|w0 , t0 ) = p
(6.14)
exp
2(t t0 )
2(t t0 )
Cela donne pour la valeur moyenne
< W (t) >= w0
(6.15)
(6.16)
et la variance
Un processus de Wiener est aussi appele mouvement Brownien puisque
lequation devolution de sa probabilite est identique `a celle obtenue par Einstein
pour la description du comportement erratique des particules en solution.
Trois proprietes essentielles caracterisent un processus de Wiener : (i) la
trajectoire est continue (quand lintervalle de temps tend vers zero, les valeurs
possibles de la position de la particule `a linstant t + t reste au voisinage
de la position de la particule `a linstant t. (ii) On peut montrer que la valeur
de la vitesse en tout point est infinie ce qui correspond au fait que la trajectoire nest pas differentiable (iii) Partant dune meme condition initiale, si
on gen`ere plusieurs dynamiques de Wiener, on obtient des trajectoires dont la
valeur moyenne est la meme, mais dont la dispersion augmente avec le temps,
car la variance crot lineairement avec le temps (voir Fig. (6.2)), (iv) la derni`ere
propriete importante concernant les processus de Wiener est liee `a lindependance statistique des increments successifs de la variable W.
56
0
5
y1
20
40
60
80
100
6.3.2
Equation de Langevin
Lequation stochastique differentielle que lon cherche `a resoudre est lequation de type Langevin definie comme suit
dx
= a(x, t) + b(x, t)(t)
(6.17)
dt
o`
u a(x, t) et b(x, t) sont des fonctions continues et (t) est un fonction aleatoire
fluctuante variant rapidement. Sans perdre de generalite, on peut toujours imposer (`
a une redefinition pr`es de la fonctions a) que la moyenne de est nulle,
< (t) >= 0 et on impose que
< (t)(t0 ) >= (t t0 )
(6.18)
u(t0 ) u(t)
x1
0.4
0.2
0.0
0.2
0.4
20
40
60
80
100
t2
6.4
6.4.1
Calcul dIto et
equations diff
erentielles stochastiques
Introduction
f (t)dW (t)
(6.21)
t0
o`
u W (t) est un processus de Wiener et f (t) une fonction quelconque La mani`ere
naturelle de chercher `
a calculer cette integrale est de faire une discretisation du
temps avec un intervalle de temps constant et devaluer une integrale de type
Riemann. Ainsi on a
Sn =
n
X
(6.22)
i=1
o`
u i est un temps intermediaire entre ti1 et ti .
Si on choisit maintenant f (t) = W (t), on peut calculer exactement la
58
n
X
i=1
n
X
(6.23)
(i ti1 )
(6.24)
i=1
(6.26)
ce qui conduit `
a avoir un resultat qui depend compl`etement du point intermediaire, meme une fois la moyenne sur les differentes realisations !
Pour definir de mani`ere la valeur dune integrale stochastique, il est necessaire de choisir le point intermediaire et le choix dIto est de prendre = 0.
Ainsi, on a
Z
t0
n
X
(6.27)
i=1
Ce choix est physiquement raisonnable car il signifie que lon choisit devaluer lintegrale en prenant une valeur de la fonction f qui est independante du
comportement du processus de Wiener dans le futur. Un respect de la causalite
en quelque sorte !
Lintegrale stochastique dIto a des proprietes un peu non intuitives. En
effet, on peut montrer en utilisant les proprietes dun processus de Wiener que
Z t
Z t
f (t)(dW (t))2 =
f (t)dt
(6.28)
t0
t0
ce qui, unefois de plus, met en evidence que la forme differentielle dW (t) est
de lordre dt
6.4.2
Calcul diff
erentiel stochastique
(6.29)
(6.30)
10
OrnsteinUhlenbeck
0.0
0.2
0.4
0.6
0.8
1.0
Time
dy(t) =(
(6.31)
Une fois ces r`egles parfaitement definies il est possible de donner un sens
t0
6.4.3
Processus dOrstein-Uhlenbeck
(6.33)
(6.34)
o`
u dW (t) est la forme differentielle dun processus de Wiener.
On utilise le changement de variable suivant
y(t) = x(t)et
60
(6.35)
7
6
5
4
3
2
1
10
Time
=e dt + e dW (t)
On peut alors faire lintegrale stochastique, ce qui donne
Z t
t
es dW (s)
y(t) = y(t0 ) + (e 1) +
(6.36)
(6.37)
(6.38)
t0
Revenant `
a la variable initiale x(t), on obtient
t
x(t) = x(t0 )e
+ (1 e
)+
e(st) dW (s)
(6.39)
t0
La valeur moyenne `
a linstant t est donnee par
< x(t) >= x(t0 )et + (1 et )
(6.40)
6.4.4
Mod`
ele de Black-Scholes
Le mod`ele de Black-Scholes est un processus Markovien stochastique satisfaisant lequation de Langevin suivante
dS(t)
= S(t)( + (t))
dt
61
(6.42)
o`
u S(t) est le prix de lactif sous-jacent `a linstant t. Pour les lecteurs peu
familiers au mod`eles financiers, je vous renvoie au cours de N. Sator, et bien
sur aussi `
a des ouvrages plus specialises.
On applique `
a nouveau la formule dIto en utilisant le changement de variable
y(t) = ln(S(t))
(6.43)
ce qui donne
dS(t) 2 dt
S(t)
2
2
=( )dt + dW (t)
2
dy(t) =
(6.44)
(6.45)
2
)t + W (t)
2
(6.46)
Revenant `
a la variable S(t), on obtient
S(t) = S(t0 ) exp((
2
)t + W (t))
2
(6.47)
6.4.5
Transform
ee de Lamperti
Avant daborder les methodes de resolution numerique, nous allons introduire la transformee de Lamperti qui est tr`es utile pour traiter de nombreux processus stochastiques Markoviens. Sous la forme differentielle (autonome) suivante
dX(t) = a(X, t)dt + b(X)dW (t)
(6.48)
On appelle la transformee de Lamperti de X, la fonction Y definie de la mani`ere
suivante
Z
Y (t) = F (X(t)) =
0
X(t)
du
b(u)
(6.49)
a(t, F 1 (y) 1 b 1
(F (y))
b(F 1 (y))
2 x
62
(6.50)
(6.51)
6.5
6.5.1
M
ethodes num
eriques
Introdution
(6.52)
(6.54)
les crochets symbolisant la valeur moyenne sur les trajectoires et C etant une
constante.
6.5.2
Sch
ema dEuler
Soit `
a nouveau la forme differentielle de lequation stochastique
dX(t) = a(X, t)dt + b(X, t)dW (t)
avec une valeur initiale X0 .
Lapproximation dEuler consiste `a utiliser une discretisation reguli`erement
espacee du temps ti = it avec t = T /N et i varie de 0 `a N .
Le schema dEuler est bien evidemment analogue `a celui que lon a pour les
equations differentielles ordinaires
Xi+1 = Xi + a(Xi , ti )(ti+1 ti ) + b(Xi , ti )(Wi+1 Wi )
(6.55)
6.5.3
Sch
ema de Milstein
Il est bien evidemment raisonnable de chercher davoir une methode de resolution allant au dela de cette approximation et dans cet etat desprit, Milstein
a propose une approximation du second ordre qui utilise `a nouveau le calcul
stochastique differentiel. En utilisant `a nouveau un pas de discretisation tempotrel constant, on a le schema iteratif suivant
Xi+1 = Xi + a(Xi , ti )(ti+1 ti ) + b(Xi , ti )(Wi+1 Wi )+
1
b
b(Xi , ti ) (Xi , ti )[(Wi+1 Wi )2 (ti+1 ti )]
2
x
(6.56)
6.6 Conclusion
6.5.4
Runge-Kutta
(6.57)
p
Xi0 = Xi + a(Xi )(ti+1 ti ) + b(Xi ) (ti+1 ti )
(6.58)
avec
Cette methode permet de realiser des simulations en nutilisant quun nombre aleatoire issu dune distribution gaussienne. Il existe bien entendu dautres
methodes dordre plus eleve, mais faisant faisant intervenir des nombres aleatoires qui ne sont pas des variables aleatoires gaussiennes, ce qui complique de
beaucoup la resolution de lequation differentielle stochastique. Toutefois, pour
des equations de Langevin sans bruit multiplicatif, il a ete developpe des algorithmes dordre eleve (jusqu`
a 4) et ne faisant intervenir que des variables
aleatoires gaussiennes.
6.6
Conclusion
65
66
Chapitre 7
Transform
ee de Fourier rapide
et algorithmes de tri
Contenu
7.1
7.2
7.3
Introduction . . . . . . . . . . . . . . . . . . .
Propri
et
es . . . . . . . . . . . . . . . . . . . . .
Discr
etisation de la transform
ee de Fourier .
7.3.1 Echantillonage . . . . . . . . . . . . . . . . .
7.3.2 Transformee de Fourier discr`ete . . . . . . . .
7.4 Transform
ee de Fourier rapide . . . . . . . .
7.5 Algorithmes de tri . . . . . . . . . . . . . . . .
7.5.1 Introduction . . . . . . . . . . . . . . . . . .
7.5.2 Methode dinsertion . . . . . . . . . . . . . .
7.5.3 Tri `
a bulles . . . . . . . . . . . . . . . . . . .
7.5.4 Tri rapide . . . . . . . . . . . . . . . . . . . .
7.1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
67
68
70
70
71
72
74
74
74
75
75
Introduction
principaux algorithmes de tri que lon peut utiliser pour reordonner les elements
dun tableau.
7.2
Propri
et
es
(7.2)
f () =
f (t)eit dt
(7.3)
(7.6)
f () =
f (t)eit dt
(7.7)
(7.8)
Pour symetriser les expressions, la transformee de Fourier est parfois definie comme
Z +
1
f() =
f (t)eit dt
(7.4)
2
68
f()eit d
(7.5)
7.2 Proprietes
lon va utiliser, en testant une fonction dont la transformee de Fourier est connue analytiquement pour determiner de mani`ere simple la convention utilisee
dans la biblioth`eque disponible. Au del`a du principe general de la transformee
de Fourier rapide, il existe des optimisations possibles compte tenu de larchitecture de lordinateur sur lequel le programme sera execute. Cela renforce laspect
totalement inutile de la reecriture dun code realisant la dite transformee, ce
code serait en general tr`es peu performant compare aux nombreux programmes
disponibles.
Dans le cas o`
u la fonction f poss`ede des symetries, sa transformee de Fourier
presente des symetries en quelque sorte duales de la fonction initiale
Si f (t) est reelle, la transformee de Fourier des frequences negatives est
complexe conjuguee de celle des arguments positifs f() = (f()) .
Si f (t) est imaginaire, la transformee de Fourier des frequences negatives
est egale `
a lopposee du complexe conjugue de celle des arguments positifs
f() = (f()) .
Si f (t) est paire, la transformee de Fourier est aussi paire, f() = f().
Si f (t) est impaire, la transformee de Fourier est aussi impaire, f() =
f().
Si f (t) est paire et reelle, la transformee de Fourier lest aussi.
Si f (t) est impaire et reelle, la transformee de Fourier est imaginaire et
impaire.
Si f (t) est paire et imaginaire, la transformee de Fourier lest aussi.
Si f (t) est impaire et imaginaire, la transformee de Fourier est reelle et
impaire.
Des proprietes complementaires sont associees aux operations de translation
et dilatation
1
Soit f (at), sa transformee de Fourier est donnee par |a|
f ( a ).
1
t
Soit f ( ), la transformee de Fourier est donnee par f(b).
|b|
|b|
(7.10)
et donc que
Z
dx(x)e2ikx = 1
(7.11)
Z
+
(x) =
69
dke2ikx
(7.12)
(7.13)
(7.15)
(7.17)
Compte tenu du fait que f est reelle, on a f() = (f()) , ce qui donne
cf () = |f()|2
C
Cette relation est appelee theor`eme de Wiener-Khinchin.
Le theor`eme de Parseval donne que
Z +
Z +
|f (t)|2 dt =
|f()|2 d
7.3
7.3.1
(7.18)
(7.19)
Discr
etisation de la transform
ee de Fourier
Echantillonage
au del`
a de laquelle il nest pas possible davoir une information sur le spectre
de la fonction echantillonnee. Supposons que la fonction soit une sinusode de
frequence egale `
a celle de Nyquist. Si la fonction est maximale pour un point,
elle est minimale au point suivant et ainsi de suite.
La consequence de ce resultat est que si on sait que le support de la transformee de Fourier est strictement limite `a lintervalle [c , c ], la fonction f (t)
est alors donnee par la formule
f (t) =
+
X
fn
n=
sin(2c (t n))
(t n)
(7.22)
Si la fonction f (t) est multipliee par la fonction e21 t avec 1 qui est un
multiple de 1/, les points echantillonnes sont exactement les memes. Une
consequence de cette propriete est lapparition du phenom`ene de duplication
(aliasing en anglais). Cela se manifeste de la mani`ere suivante : supposons
que la transformee de Fourier exacte dune fonction ait un spectre plus large
que celui donne par lintervalle de Nyquist, le spectre situe `a droite se replie `a
gauche et celui `
a droite se replie `a gauche.
7.3.2
Transform
ee de Fourier discr`
ete
fk = f (tk )
(7.23)
Avec N nombres fournis, il semble evident que lon peut obtenir N frequences
pour la transformee de Fourier. Soit la suite
n =
n
N
(7.24)
N
1
X
n e2ikn/N
h
(7.26)
n=0
Ces transformees de Fourier sont definies independamment des abscisses correspondant aux valeurs originales o`
u la fonction h a ete evaluee. Il est toutefois
71
Notons que les proprietes etablies pour les transformees de Fourier au debut de
ce chapitre, selon le cas o`
u la fonction est paire ou impaire, reelle ou imaginaire
se transposent compl`etement au cas de la transformee de Fourier discr`ete. Les
r`egles concernant la convolution se retrouvent bien evidemment et par exemple
lexpression du theor`eme de Parseval est alors
N
1
X
k |2 =
|h
k=0
N 1
1 X
|hk |2
N
(7.30)
k=0
7.4
Transform
ee de Fourier rapide
n =
h
W nk hk
(7.32)
k=0
(7.28)
N
1
X
fk e2in tk
k=0
72
(7.29)
pair, on peut separer la contribution des termes pairs et celle des termes impairs
dans lequation
Fk =
N
1
X
e2ijk/N fj
(7.33)
j=0
N/21
N/21
2i(2j)k/N
f2j +
j=0
(7.34)
j=0
N/21
e2i(2j+1)k/N f2j+1
N/21
2ijk/(N/2)
f2j + W
j=0
e2ijk/(N/2) f2j+1
(7.35)
j=0
=Fkp + W k Fki
(7.36)
o`
u Fkp represente la ki`eme composante de Fourier pour les composantes paires
de la fonction de depart et Fki represente la ki`eme composante de Fourier pour
les composantes impaires de la fonction de depart. A noter que ces deux composantes sont periodiques en k avec une periode N/2.
Pour iterer ce type de procedure, nous allons supposer que le nombre de
points de la fonction de depart est dorenavant une puissance de deux. On peut
alors exprimer chaque composante de Fourier en fonction de deux nouvelles
composantes de Fourier sur un intervalle de longueur N/4 et ainsi de suite. Une
fois obtenue un intervalle de longueur 1, on a la transformee de Fourier pour
cet intervalle qui est egale au nombre fn correspondant. Le nombre dindices
pour caracteriser ce nombre est egal `a ln2 (N )
Fkiipip...ppi = fn
(7.37)
73
000
000
000
001
001
001
010
010
010
011
011
011
100
100
100
101
101
101
110
110
110
111
111
111
(b)
(a)
7.5
7.5.1
Algorithmes de tri
Introduction
Un tableau est une suite delements reperes par un entier appele indice. Une
operation tr`es classique consiste `a changer lordre initial (qui peut etre aleatoire)
en respectant un crit`ere defini par lutilisateur. Une operation de base consiste `a
trier des nombres selon un ordre croissant ou decroissant. Une operation voisine
est la recherche du plus petit ou du grand element de ce tableau.
Les operations precedentes sont destructrices dans le sens o`
u lordre initial
du tableau est perdu une fois loperation effectuee. On peut en creant un tableau
supplementaire construire une correspondance entre lordre obtenu par un tri et
lindice occupe par lelement du tableau correspondant dans le tableau initial.
Si, au lieu dutiliser un tableau de nombres, on dispose dun tableau dobjets,
cest-`
a-dire un tableau dont lelement de base est une structure comprenant
des champs, qui sont eux-memes des nombres et des chanes de caract`eres,
les operations de tri peuvent aussi realisees sur plusieurs champs de mani`ere
sequentielle ; cette operation est appelee operation de tri multiple.
7.5.2
M
ethode dinsertion
Supposons que lon veuille trier des elements dun tableau de nombre selon
un ordre croissant.Lalgorithme de la methode dinsertion est le suivant : on
74
place un `
a un les elements du tableau `a la bonne place du nouveau tableau
rempli des elements tries. On proc`ede donc de mani`ere iterative jusquau dernier
element du tableau `
a trier. On peut choisir de construire un nouveau tableau
ou de reutiliser le tableau existant. Pratiquement, on proc`ede de la mani`ere
suivante. On choisit le premier element : il est automatiquement bien place
dans un tableau `
a un element. On tire le second element : on augmente dun
element la taille du tableau `
a trier ; soit le nouvel element est plus grand que
le precedent et on place cet element `a la deuxi`eme place, sinon, on deplace
lelement initialement place `
a la seconde place et lon place le nouvel element
`a la premi`ere place. On choisit alors un troisi`eme element ; on teste si celui-ci
est plus grand que le deuxi`eme. Si le test est positif, cet element est place en
troisi`eme place, sinon on deplace lelement place en numero deux en numero
trois et on teste si le nouvel element est plus grand que lelement un. Si le
test est positif, on place le nouvel element en numero deux, sinon on deplace
le premier element en deux et on place le nouvel element en un. On continue
cet algorithme jusquau dernier element du tableau `a trier. Il est facile de voir
que le nombre doperations en moyenne evolue comme N 2 , o`
u N est le nombre
delements `
a trier. Comme nous allons le voir ci-dessous les algorithmes de
type tri rapide sont beaucoup plus efficaces car ceux-ci dependent du nombre
delements comme N log2 (N ). Neanmoins, un algorithme de type insertion reste
suffisamment efficace si N < 20.
7.5.3
Tri `
a bulles
Le tri `
a bulles es un algorithme en N 2 qui op`ere de la mani`ere suivante :
On compare les deux premiers elements du tableau ; si lordre est correct, on ne
fait rien sinon on echange les deux elements : on passe alors au couple suivant
constitue des elements 2 et 3, et on effectue un test `a nouveau. Apr`es N 1
operations de ce type, on a place le plus grand element du tableau en derni`ere
position ; on peut alors recommencer sur le tableau restant des N 1 elements ;
cet algorithme est bien evidemment un algorithme en N 2 et ne peut servir que
pour des valeurs de N tr`es modestes.
7.5.4
Tri rapide
Connu par son nom anglais quicksort, le tri dit rapide proc`ede de la
mani`ere suivante : on prend le premier element du tableau `a trier, note a1 .
On construit avec les autres elements deux sous tableaux : le premier contient
les elements plus petits que a1 et le second les elements plus grands. On peut
placer a1 `
a la bonne place dans le tableau final et on applique lalgorithme du
tri rapide sur chacun des deux sous-tableaux. On peut montrer quen moyenne
lalgorithme est en N log2 (N ), mais il est possible dobtenir des situations o`
u
lalgorithme est en N 2 .
Des variantes de cet algorithme puissant existent pour par exemple eviter
la recursivite qui penalise la rapidite dexecution du programme. A nouveau,
il est inutile, hormis pour des raisons pedagogiques, de chercher `a reecrire un
programme pour ces algorithmes, que cela soit en programmation o`
u de nom75
76
Chapitre 8
Equations aux d
eriv
ees
partielles
Contenu
8.1
8.2
8.3
8.4
8.5
8.6
8.1
Introduction . . . . . . . . . . . . . . . . . . . . . . .
M
ethode de la caract
eristique . . . . . . . . . . . . .
8.2.1 Equation du premier ordre lineaire et quasi-lineaire .
8.2.2 Surface solution . . . . . . . . . . . . . . . . . . . . .
8.2.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . .
Classification des EPDL du second ordre . . . . . .
Equations avec conditions aux fronti`
eres . . . . . .
8.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . .
8.4.2 Differences finies . . . . . . . . . . . . . . . . . . . .
8.4.3 Methodes matricielles . . . . . . . . . . . . . . . . .
8.4.4 Methodes de relaxation . . . . . . . . . . . . . . . .
8.4.5 Methodes de Fourier . . . . . . . . . . . . . . . . . .
Equations avec conditions initiales . . . . . . . . . .
8.5.1 Equations `
a flux conservatif . . . . . . . . . . . . . .
8.5.2 Une approche nave . . . . . . . . . . . . . . . . . .
8.5.3 Crit`ere de Stabilite de Von Neumann . . . . . . . . .
8.5.4 Methode de Lax . . . . . . . . . . . . . . . . . . . .
8.5.5 Methode de Crank-Nicholson . . . . . . . . . . . . .
8.5.6 Methode `
a contre-vent . . . . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
77
78
78
78
81
81
84
84
84
85
85
85
87
87
88
89
90
91
92
93
Introduction
Les equations aux derivees partielles interviennent dans de nombreux domaines de physique, qui comprennent les probl`emes de diffusion, les phenom`enes
de propagation, ainsi que le domaine de la mecanique des fluides decrite par
les equations hydrodynamiques comme celles de Navier-Stokes et lequation de
Schr
odinger dependante du temps pour la mecanique quantique. Ces equations
77
(8.1)
o`
u un x est un vecteur de composante (x1 , x2 , . . . , xn ) et o`
u L est un operateur
defini par la relation
L = p0 (x) +
n
X
pi (x)i +
i=1
n
X
pij (x)i j + . . .
(8.2)
i,j=1
8.2
8.2.1
M
ethode de la caract
eristique
Equation du premier ordre lin
eaire et quasi-lin
eaire
Il existe une classe dequations aux derivees partielles dont on peut obtenir
les solutions en utilisant une methode de resolution de type geometrique, la
methode de la caracteristique. Ces equations sont des equations aux derivees
partielles du premier ordre qui sont lineaires pour lordre de la derivation, mais
quelconques pour la dependence dans la fonction. Plus explicitement, ces equations correspondent `
a la forme suivante
P (x, y, f )
f
f
+ Q(x, y, f )
= R(x, y, f )
x
y
(8.3)
o`
u P , Q et R sont des fonctions scalaires `a trois variables et f une fonction de
deux variables x et y. La methode de resolution que nous allons presenter sapplique aux equations du premier ordre avec une nombre de variables superieur
`a deux, mais pour une representation geometrique de cette methode et pour la
clarte de lexpose, nous nous limitons `a une equations aux derivees partielles de
deux variables.
8.2.2
Surface solution
Nous cherchons `
a exprimer la solution de lEDP du premier ordre sous la
forme dune equation de surface suivante
g(x, y, f ) = 0
(8.4)
g
g
g
dx +
dy +
df
x
y
f
78
(8.5)
O
Fig. 8.1 Schema illustrant la geometrie de la surface solution, le vecteur
gradient qui est perpendiculaire `a la surface et le vecteur V
.
Vu que f (x, y) est une solution de lequation (8.3), on a
df =
f
f
dx +
dy
x
y
(8.6)
g
f
(8.8)
(8.9)
6= 0, on en deduit que
g
f
= x
g
x
(8.10)
f
=
y
(8.11)
f
g
y
g
f
79
g
g
g
+ Q(x, y, f )
+ R(x, y, f )
=0
x
y
f
(8.12)
g
g
g
i+
j+
k
x
y
f
(8.13)
(8.14)
(8.15)
(8.16)
(8.17)
o`
u r(t) est un vecteur
(8.18)
(8.19)
(8.20)
(8.21)
Il est `
a noter que deux de ces trois equations differentielles sont independantes.
La methode de la caracteristique permet de reduire une equation differentielle
du premier ordre lineaire ou quasi-lineaire en un syst`eme dequations differentielles du premier ordre, bien plus facile `a trater pour obtenir une solution.
80
8.2.3
Exemple
(8.22)
f (x, 0) = x
(8.23)
2xt
avec la condition initiale
(8.24)
x = x0 e t
(8.25)
(8.26)
(8.27)
8.3
Pour les equations aux derivees partielles du second ordre, nous allons nous
limiter aux equations aux derivees partielles lineaires. Une premi`ere classification non exhaustive fait apparatre trois types dequations : equations hyperboliques, paraboliques et elliptiques. Cette classification provient de lanalyse
des derivees partielles dordre le plus eleve. Pour les equations dordre deux,
une solution unique existe si la relation appelee equation aux caracteristiques
p
(p12 + p21 (p12 + p21 )2 4p11 p22
6= 0
(8.31)
2p11
81
Conditions
aux
limites
3
1
Conditions initiales
0
-1
(8.32)
o`
u u(x, t) peut designer une variable scalaire comme la densite locale
(x, t) ou une variable vectorielle comme la vitesse locale v(x, t).
Equation parabolique. La diffusion de particules dans un milieu continu
obeit `
a lequation suivante
(x, t)
2 (x, t)
=D
t
x2
(8.33)
o`
u D est la constante de diffusion et (x, t) la densite locale instantanee
des particules diffusantes.
Equation elliptique. En dimensions deux, le potentiel coulombien induit
par une densite de charges electriques satisfait lequation suivante (avec
82
6
Conditions aux bords
5
0
-1
2 V (x, y, t) 2 V (x, y, t)
+
x2
y 2
(8.34)
o`
u (x, y) est la densite locale de charge et V (x, y) le potentiel electrostatique `
a determiner.
La resolution numerique repose sur une distinction importante entre ces
type dequations : Les deux premi`eres equations correspondent `a une evolution
temporelle tandis que la troisi`eme equation correspond `a un probl`eme statique.
Dans le premier cas, la solution est donnee `a partir dune fonction (ou condition
initiale) que lon doit propager le long de laxe du temps ; en complement on
doit tenir compte des conditions au limites du probl`eme. En discretisant la
resolution, on obtient un schema du type de celui illustre par la figure 8.2.
En effet pour une equation dependante du temps du type equation de diffusion, la resolution de lequation se fait pour un temps donne en fonction des
valeurs de la fonction `
a linstant anterieur precedent (ou de quelques instants
anterieurs precedents). Il nest donc pas necessaire de garder en memoire la
solution `
a tous les temps.
Pour lequation de Poisson, la solution est unique une fois donnee la fonction (x, y). La solution ne pouvant etre obtenue numeriquement directement
`a partir de lintegration `
a partir dune fronti`ere du syst`eme, il est necessaire de
proceder `
a des reajustements, ce qui implique de garder en memoire la totalite
83
de valeurs de la fonction V `
a determiner tout au long de la resolution numerique
(voir figure 8.3).
8.4
8.4.1
8.4.2
Diff
erences finies
j = 0, 1, ..., J
(8.35)
yk = x0 + k
k = 0, 1, ..., K
(8.36)
o`
u est le pas de la grille. On note Vjk = V (xj , yk ). On approxime le laplacien
par la formule de difference finie suivante
Vj+1,k + Vj1,k 2Vj,k
Vj,k+1 + Vj,k1 2Vj,k
+
= jk
2
(8.37)
(8.38)
j = 0, 1, ..., J et k = 0, 1, ..., K
(8.39)
Lequation (8.37) est correcte pour lensemble des points interieurs au rectangle.
Pour les points aux fronti`eres, les valeurs de V ou de ces derivees sont donnees
par le probl`eme lui-meme. On obtient finalement la structure matricielle suivante.
A.Y = b
(8.40)
La matrice A est une matrice tridiagonale avec des franges, le vecteur Y est un
vecteur `
a JK composantes (Yi Vjk ) et le vecteur b `a JK composantes (bi
84
8.4.3
M
ethodes matricielles
8.4.4
M
ethodes de relaxation
Les methodes de relaxation reposent sur le schema iteratif suivant. On decompose la matrice A comme
A=EF
(8.42)
o`
u E est une matrice facilement inversible et F le reste. On peut ecrire alors
que
E.u = F.u + b
(8.43)
En choisissant un vecteur u(0) , on proc`ede `a la succession de calculs suivants
E.u(r) = F.u(r1) + b
(8.44)
8.4.5
M
ethodes de Fourier
Principe
On exprime la transformee de Fourier discr`ete de V dans les deux directions
Ox et Oy.
K1 L1
1 XX
Vkl =
Vmn e2ikm/K e2iln/L
(8.45)
KL
m=0 n=0
85
(8.46)
m=0 n=0
En prenant la transformee de Fourier discr`ete de lequation (8.38), les composantes de Fourier de V sont reliees `a celles de par la relation
Vmn e2im/K + e2im/K + e2in/L + e2in/L 4 =
mn 2
(8.47)
ce qui peut se reecrire plus simplement pour si n et m differents de zero comme
Vmn =
mn 2
2 cos 2m
+ cos
K
2n
L
(8.48)
(8.49)
K1 L1
2 XX
km
ln
Vmn sin
sin
KL
K
L
(8.50)
m=0 n=0
Une expression similaire pour la fonction peut etre ecrite. Un calcul simple
montre que la relation (8.48) relie les composantes de Fourier en sinus des
deux fonctions. et la methode de calcul donnee dans le paragraphe precedent
sapplique `
a nouveau `
a condition de considerer les transformees de Fourier en
sinus.
86
Condition de Neumann
Si on impose des conditions de Neumann aux bords du rectangle, cest-`adire u = 0 pour j = 0 et j = J et pour k = 0 et k = K, la transformee de
Fourier adaptee est alors celle en cosinus.
K1 L1
ln
2 XX
km
cos
(8.51)
Vkl =
Vmn cos
KL
K
L
m=0 n=0
ainsi que pour la fonction . A nouveau, les composantes de Fourier sont reliees
par la relation (8.48). Le meme schema donne ci-dessus sapplique alors.
Conditions complexes
Ceci represente le cas general o`
u par exemple la fonction u(x, y) sannule sur
lune des fronti`eres (j = 0), mais vaut u = f (y) sur la fronti`ere opposee (j = J).
La methode consiste alors `
a ecrire que la solution de ce probl`eme est la somme
de deux contributions : celle de la solution de lequation pour une condition
de Dirichlet et celle de la solution qui est nulle `a linterieur du rectangle. En
ecrivant la solution sous la forme
u = u0 + uB
(8.52)
avec uB = 0 sauf uB = f `
a la fronti`ere, on obtient
2 u0 = 2 uB +
(8.53)
ce qui montre que la fonction satisfait alors une condition de Dirichlet. Le calcul
de u0 est effectue en ajoutant un terme de source `a . Pratiquement, cela ajoute
une contribution sur la ligne situee juste avant la fronti`ere.
De mani`ere analogue, si la condition aux fronti`eres est donnee par un gradient normal non nul, on decompose la solution dune premi`ere contribution
correspondant `
a la solution du probl`eme de Neumann et dune seconde contribution nulle en dehors de la fronti`ere. En utilisant une decomposition analogue
`a celle introduite ci-dessus, cela revient `a resoudre le probl`eme de Neumann en
modifiant le terme de source.
8.5
8.5.1
Les equations `
a flux conservatif dans un espace unidimensionel peuvent
secrire sous la forme
u
F (u)
=
(8.54)
t
x
o`
u u et F sont des fonctions soit scalaires soit vectorielles ; F est appele flux
conserve, on peut citer lexemple de lequation de la conservation de la masse
(correspondant `
a une fonction u scalaire)
= .(v)
t
87
(8.55)
(8.56)
r=c
(8.57)
(8.58)
(8.59)
(8.60)
8.5.2
j = 0, 1, . . . J
(8.63)
tn = t0 + nt
n = 0, 1, . . . N
(8.64)
o`
u x et t sont les pas despace et de temps respectivement.
88
(8.65)
= c
unj+1 unj1
2x
(8.67)
un+1
= unj ct
j
unj+1 unj1
2x
(8.68)
t
soit encore
La determination de un+1
se fait en fonction des trois points : unj , unj+1 et unj1 .
j
On parle de methode explicite. Malheureusement, ce schema tr`es simple ne
fonctionne pas en ce sens quil ne permet pas dobtenir une solution correcte de
lequation aux derivees partielles. En dautres termes, on dit quil est instable.
8.5.3
Crit`
ere de Stabilit
e de Von Neumann
Pour faire lanalyse de la stabilite des algorithmes, on suppose que les coefficients de lequation aux differences varient tr`es peu dans lespace et le temps.
Les modes propres solutions de cette equation peuvent alors secrire sous la
forme
(8.69)
unj = (k)n eikjx
o`
u k est un vecteur donde reel et (k) une fonction complexe qui depend de
k. On voit facilement que lintegration temporelle conduit `a une progression
geometrique pour les valeurs de unj . Afin que la solution soit stable, il est necessaire que les modes exponentiellement divergents nexistent pas. Cela revient `a
dire que lalgorithme est instable d`es quil existe un vecteur donde k0 tel que
|(k0 )| > 1
(8.70)
ct
sin(kx)
x
(8.71)
Le module de (k) est strictement superieur `a 1 pour tous les vecteurs donde,
hormis ceux o`
u kx = p o`
u p est un entier. Ceci permet de comprendre la
nature catastrophique de la methode precedente.
89
8.5.4
M
ethode de Lax
(8.72)
(8.73)
(8.75)
8.5.5
M
ethode de Crank-Nicholson
Nous venons de voir ci-dessus que lon peut corriger en partie les defauts
de la methode nave en modifiant la methode dEuler. La methode est unconditionnellement stable dans le sens o`
u quel que soit le vecteur donde k, (k) a
un module inferieur `
a 1, mais doit satisfaire un crit`ere sur la relation entre le
pas temporel et le pas spatial par la relation Eq.(8.75). Avec des schemas de
resolution implicite, on va voir que lon peut obtenir une methode inconditionnellement stable.
La derivee spatiale discretisee avec le schema dEuler calcule en fait la
derivee au temps demi-entier. La methode de Crank-Nicholson corrige ce defaut
en faisant une moyenne temporelle de derivee spatiale de la mani`ere suivante.
un+1
= unj c
j
i
t h n
n+1
uj+1 unj1 + un+1
u
j+1
j1
4x
(8.76)
c
u
u
+
u
u
j
j+1
j1
j1
j+1
j1
4x
4x
(8.77)
Cette equation peut sexprimer sous la forme dun ecriture matricielle
un+1
+c
j
A.un+1 = un
(8.78)
o`
u un est un vecteur dont les composantes sont les coordonnees spatiales.
En faisant une analyse du crit`ere de stabibilite de Von Neumann, on obtient
(k) qui est donne par
(k) =
1+
1
ct
2x i sin(kx)
ct
2x i sin(kx)
(8.79)
Pour toute valeur de k, on a|(k)| = 1, ce qui donne une methode qui est
inconditionnellement convergente.
La methode de Crank-Nicholson est une amelioration significative par rapport `a la methode de Lax precedemment decrite. Elle est remarquable si le front
ou la queue donde ne presente pas de discontinuite, mais elle genere des oscillations rapides si les discontinuites dans les conditions initiales sont presentes. Les
Figures 8.5 gauche et droitre montrent levolution, sur un temps court t = 0.1,
de lequation de propagation donnee par la methode de Crank-Nicholson pour
des conditions initiales suivantes : `a gauche, la courbe est une arche de sinusoide
91
1.2
0.8
1
0.8
0.6
0.6
0.4
0.4
0.2
0.2
2
x
0.2
Fig. 8.5 Illustration de la methode dintegration `a contre vent pour la propagation dun front donde abrupte (figure de gauche) avec la methode de CrankNicholson (figure de droite) pour un front donde initialement donnee par une
fonction porte. La methode de Crank-Nicholson genere des oscillations au voisinage des fortes changements de pente du front donde, un effet attenue par la
methode `
a contre-vent
et `
a droite une fonction porte. Le fait que le module de (k) soit egal `a 1 pour
toutes les valeurs de k est `
a la lorigine de ce phenom`ene.
Pour eviter ces probl`emes doscillation sur le front donde, il est necessaire
de choisir une methode qui verifie la condition de CFL, cest `a dire une methode
o`
u (k) < 1.
8.5.6
M
ethode `
a contre-vent
Dans le cas o`
u le front donde presente une discontinuite, la methode la plus
adaptee est la methode dite `a contre-vent. La discretisation de lequation de
propagation se fait de la mani`ere suivante
un+1
unj
j
t
unj unj1
= c
x
(8.80)
x
x
(1 cos(kx)) ic
sin(kx)
t
t
92
(8.81)
8.6 Conclusion
8.6
Conclusion
93
94
Chapitre 9
Alg`
ebre lin
eaire
Contenu
9.1
9.2
9.3
9.4
9.5
9.6
9.7
9.1
Introduction . . . . . . . . . . . . . . . . . . .
Elimination
de Gauss-Jordan . . . . . . . . .
9.2.1 Rappels sur les matrices . . . . . . . . . . . .
9.2.2 Methode sans pivot . . . . . . . . . . . . . .
9.2.3 Methode avec pivot . . . . . . . . . . . . . .
Elimination
gaussienne avec substitution . .
D
ecomposition LU . . . . . . . . . . . . . . . .
9.4.1 Principe . . . . . . . . . . . . . . . . . . . . .
9.4.2 Resolution dun syst`eme lineaire . . . . . . .
Matrices creuses . . . . . . . . . . . . . . . . .
9.5.1 Introduction . . . . . . . . . . . . . . . . . .
9.5.2 Matrices tridiagonales . . . . . . . . . . . . .
9.5.3 Formule de Sherman-Morison . . . . . . . . .
D
ecomposition de Choleski . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
95
97
. 97
. 97
. 98
98
99
. 99
. 100
101
. 101
. 102
. 102
102
103
Introduction
Les deux chapitres qui suivent concernent le traitement numerique des matrices Ce premier chapitre est consacre aux methodes employees pour resoudre
les quatre t
aches les plus frequemment rencontrees pour les syst`emes lineaires.
Par definition, on peut ecrire celles-ci comme
A.x = b
(9.1)
..
..
..
. ...
.
A= .
..
..
..
..
.
.
.
.
aM 1 aM 2 . . . aM N
(9.2)
o`
u A est une matrice M N
95
Alg`ebre lineaire
x1
x2
..
x=
.
..
.
xM
b1
b2
..
b=
.
..
.
bN
(9.3)
96
9.2 Elimination
de Gauss-Jordan
9.2
9.2.1
Elimination
de Gauss-Jordan
Rappels sur les matrices
Il est utile de remarquer que le calcul des quatre taches precedentes peut
etre a priori execute de mani`ere similaire : en effet, si on consid`ere par exemple
un syst`eme 4 4, on a
y11 y12 y13 y14
t1
x1
a11 a12 a13 a14
a21 a22 a23 a24 x2 t2 y21 y22 y23 y24
b1
c1
1 0 0 0
b2 c2 0 1 0 0
=
(9.4)
b3 t c3 t 0 0 1 0
b4
c4
0 0 0 1
o`
u loperateur t designe loperateur reunion de colonnes. Ainsi on voit que
linversion dune matrice est identique `a la resolution dun ensemble de N syst`emes lineaires pour lequel le vecteur situe dans le membre de droite a tous les
elements nuls sauf un seul qui est different pour chaque colonne.
Les trois r`egles elementaires que lon peut realiser sur les matrices sont les
suivantes.
Echanger
les lignes de A et de b (ou c ou de la matrice identite) et en
gardant x (ou t ou Y ) ne change pas la solution du syst`eme lineaire. Il
sagit dune reecriture des equations dans un ordre different.
De mani`ere similaire, la solution du syst`eme lineaire est inchangee si toute
ligne de A est remplacee par une combinaison lineaire delle-meme et des
autres lignes, en effectuant une operation analogue pour b (ou c ou la
matrice identite).
Lechange de deux colonnes de A avec echange simultane des lignes correspondantes de x (ou t ou Y ) conduit `a la meme solution. Toutefois, si
on souhaite obtenir la matrice Y dans lordre initialement choisi, il est
necessaire de proceder `
a loperation inverse une fois la solution obtenue.
9.2.2
M
ethode sans pivot
(9.5)
0 a032 a033 a034
0 a042 a043 a044
97
Alg`ebre lineaire
o`
u les coefficients a0ij sexpriment en fonction des coefficients o`
u les coefficients
aij .
On multiplie alors la deuxi`eme ligne par 1/a022 , puis on soustrait a012 fois
la deuxi`eme ligne `
a la premi`ere ligne, a032 fois la deuxi`eme ligne `a la troisi`eme
ligne et ainsi de suite jusqu`
a la derni`ere ligne. La matrice A a maintenant la
structure suivante
1 0 a0013 a0014
0 1 a0023 a0024
(9.6)
0 0 a033 a0034
0 0 a0043 a0044
On it`ere le procede jusqu`a la derni`ere ligne et on obtient alors la matrice
identite. On peut obtenir alors facilement la solution du syst`eme dequations.
9.2.3
M
ethode avec pivot
9.3
Elimination
gaussienne avec substitution
Pour la resolution stricte dun syst`eme lineaire, il nest pas necessaire dobtenir
une matrice diagonale comme celle obtenue par la methode precedente. Ainsi
en effectuant `
a chaque ligne la soustraction des lignes situees au dessous de la
ligne dont le coefficient de la diagonale vient detre reduit `a lunite, on obtient
une matrice triangulaire superieure dont la structure est la suivante
a011 a012 a013
0 a022 a023
0
0 a0133
0
0
0
0
x1
b1
a014
x2 b02
a024
. =
a034 x3 b03
a044
x4
b04
98
(9.7)
9.4 Decomposition LU
(9.8)
(9.9)
et de mani`ere generale
xi =
N
X
1
(b
a0ij xj )
i
a0ii
(9.10)
j=i+1
Cette methode est avantageuse dans le cas des syst`emes lineaires car le nombre
doperations `
a effectuer est dordre N 2 , contrairement `a la methode precedente
qui necessite de calculer compl`etement linverse de la matrice et necessite un
temps de calcul en N 3 .
Sil faut resoudre un ensemble de syst`emes lineaires comprenant N termes,
cela est alors equivalent `
a resoudre linversion dune matrice et lon retrouve un
temps de calcul de lordre de N 3 .
9.4
D
ecomposition LU
9.4.1
Principe
11
0
0
...
0
21 22
0 ............
0
..
.
.
.
.
.
.
.
.
...
.
L=
(9.12)
.
..
..
..
.
. (N 1)(N 1)
0
.
N 1 N 2 . . .
...
N N
et
11 12 13
...
1N
0 22 23 . . . . . . . . . . . .
2N
..
..
..
..
.
.
...
.
U = .
..
..
..
.
.
. (N 1)(N 1) (N 1)N
0
0 ...
0
N N
99
(9.13)
Alg`ebre lineaire
i
X
il lj
ij
(9.14)
il lj
i>j
(9.15)
l=1
aij =
j
X
l=1
2
Ce syst`
eme dequations lineaires donne N equations et le nombre dinconnues
N (N +1)
est 2
. Ce syst`eme est donc surdetermine. On peut donc choisir N
2
equations supplementaires afin dobtenir une et une seule solution. On fixe donc
la valeur de la diagonale de la matrice L
ii = 1
(9.16)
pour i [1, N ].
Lalgorithme de Crout permet de calculer simplement les N 2 coefficients
restants, en utilisant les relations suivantes
ij = aij
ij =
1
(aij
jj
i1
X
ik kj
k=1
j1
X
ik kj )
ij
(9.17)
ij+1
(9.18)
k=1
Il faut noter que les sous-programmes creant cette decomposition sappuie sur
la recherche du meilleur pivot afin que la methode soit stable.2
9.4.2
R
esolution dun syst`
eme lin
eaire
(9.20)
= L.(U x) = b
(9.21)
Soit
L.y = b
(9.22)
0 A
(N 1)(N 1)
N 1
N 2
...
...
N N
en se rappelant que les elements diagonaux de la matrice ont ete choisis egaux `
a un.
100
U.x = y
(9.23)
b1
11
yi =
X
1
(bi
ij yj )
ii
(9.24)
i1
(9.25)
j=1
(substitution `
a partir du premier element car la matrice est triangulaire inferieure). On obtient la solution pour le vecteur x en utilisant
xN =
yN
N N
(9.26)
N
X
1
(yi
ij xj )
xi =
ii
(9.27)
j=i+1
9.5
9.5.1
Matrices creuses
Introduction
On appelle matrice creuse une matrice dont la plupart des elements sont
egaux `
a zero. Si de plus, la structure des elements non nuls est simple, il nest
pas necessaire de reserver une quantite de memoire egale `a celle de la matrice
compl`ete. Des algorithmes specifiques permettent de reduire le temps de calcul
de mani`ere considerable. Parmi les cas simples de matrices creuses, citons les
matrices
tridiagonales : les elements de matrice non nuls sont sur la diagonale et
de part et dautre de celle-ci sur les deux lignes adjacentes. On a aij = 0
pour |i j| > 1,
diagonales par bande de largeur M : les elements de matrice tels que
|i j| > M sont nuls aij = 0,
simplement ou doublement bordees : par rapport `a la definition precedente, des elements non nuls supplementaires existent le long des lignes
ou colonnes du bord de la matrice.
101
Alg`ebre lineaire
9.5.2
Matrices tridiagonales
b1 c1
0
a2 b2 c2
..
..
0
.
.
..
0 ...
.
0
0 ...
x1
y1
x2 y2
.. ..
= . .
. .
cN 1 .. ..
bN N
xN
yN
...
...
..
.
0
0
..
.
bN 1
...
(9.29)
9.5.3
Formule de Sherman-Morison
Supposons que lon ait une matrice A dont on a facilement calcule linverse
(cas dune matrice tridiagonal). Si on fait un petit changement dans A en modifiant par exemple un ou quelques elements de lensemble de la matrice, peut-on
calculer encore facilement linverse de cette nouvelle matrice ?
B =A+uv
(9.30)
(9.31)
= (1 A1 .u v + A1 .u v.A1 .u v . . .).A1
=A
= A1
.u vA
(A1 .u)
(1 + + . . .)
(v.A1 )
1+
(9.32)
(9.33)
(9.34)
o`
u = v.A1 u. On a utilise lassociativite du produit exterieur et produit
interne.
Posons z = A1 u et w = (A1 )T v, on a = v.z et
B 1 = A1
9.6
zw
1+
(9.35)
D
ecomposition de Choleski
(9.36)
9.7 Conclusion
quel que soit x. Il existe alors une matrice L triangulaire inferieure telle que
A = L.LT
(9.37)
i1
X
L2ik )1/2
(9.38)
k=1
i1
Lji =
X
1
(aij
Lik Ljk )
Lii
(9.39)
k=1
9.7
Conclusion
Avant de resoudre des syst`emes lineaires de grande dimension, il est imperatif de commencer par une analyse des proprietes de la matrice afin de
determiner la methode la plus adaptee afin dobtenir une solution avec une
precision correcte et pour un temps de calcul qui sera minimal. Les differentes
methodes presentees dans ce chapitre ne sont quune introduction `a ce tr`es vaste
sujet.
103
Alg`ebre lineaire
104
Chapitre 10
Analyse spectrale
Contenu
10.1 Introduction . . . . . . . . .
10.2 Propri
et
es des matrices . . .
10.3 M
ethodes directes . . . . . .
10.3.1 Methode de Jacobi . . . .
10.3.2 Reduction de Householder
10.3.3 Algorithme QL . . . . . .
10.3.4 Factorisation de Schur . .
10.4 M
ethode it
eratives . . . . . .
10.4.1 Methodes des puissances .
10.4.2 Methode de Lancz`os . . .
10.1
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
105
106
108
. 108
. 110
. 112
. 113
114
. 114
. 115
Introduction
Ce chapitre est consacre aux operations que lon peut realiser sur des matrices. Plus specifiquement, nous allons nous interesser `a la determination des
valeurs propres et/ou vecteurs propres correspondants. Tout dabord, quelques
rappels utiles pour la suite de ce chapitre : soit une matrice carree A de dimension N , on appelle un vecteur propre x associe `a la valeur propre , un vecteur
qui satisfait la relation
A.x = x
(10.1)
Si x est un vecteur propre, pour tout reel 6= 0, x est aussi un vecteur propre
avec la meme valeur propre .
Les valeurs propres dune matrice peuvent etre determinees comme les racines
du polyn
ome caracteristique de degre N
det(A .1) = 0
(10.2)
o`
u 1 designe la matrice identite.
Compte tenu du fait que dans C, tout polynome de degre N a N racines, la
matrice A poss`ede N valeurs propres complexes.
105
Analyse spectrale
(10.3)
i, j
(10.4)
(10.5)
(10.6)
Une matrice est unitaire si sa matrice adjointe est egale `a son inverse
A.A = A .A = 1
(10.7)
10.2
Propri
et
es des matrices
Les valeurs propres dune matrice Hermitienne sont toutes reelles. Parmi les
matrices Hermitiennes tr`es utilisees en Physique, il vient `a lesprit la representation matricielle de loperateur de Schrodinger en mecanique quantique1
Un corollaire de la propriete precedente est que les valeurs propres dune
matrice reelle symetrique sont elles aussi toutes reelles.
Les vecteurs propres dune matrice normale ne possedant que des valeurs
propres non degenerees forment une base dun espace vectoriel de dimension
N . Pour une matrice normale avec des valeurs propres degenerees, les vecteurs
propres correspondant `
a une valeur propre degeneree peuvent etre remplaces
par une combinaison lineaire de ceux-ci.
Pour une matrice quelconque, lensemble des vecteurs propres ne constituent
pas necessairement une base dun espace de dimension N .
Pour une matrice non normale, les vecteurs propres ne sont pas orthogonaux.
On appelle vecteur `
a droite les vecteurs tels que
R
A.xR
i = i xi
1
(10.8)
106
o`
u i est la i`eme valeur propre. De mani`ere similaire, on appelle vecteurs propres
a` gauche, les vecteurs tels que
L
xL
i .A = i xi
(10.9)
Le transpose du vecteur `
a gauche de A est le vecteur propre `a droite de la
transposee de la meme matrice. Si la matrice est symetrique, les vecteurs propres
`a gauche sont les transposes des vecteurs propres `a droite2 .
Si la matrice est Hermitienne, les vecteurs propres `a gauche sont les transposes des vecteurs propres conjugues `a droite.
Dans le cas dune matrice non normale, on definit la matrice XR comme la
matrice constituee de colonnes formees par les vecteurs `a droite. On introduit la
matrice XL formee par les lignes des vecteurs `a gauche. On obtient par definition
que
A.XR = XR .diag(1 , . . . , n )
(10.10)
de meme on a
XL .A = diag(1 , . . . , n ).XL
(10.11)
(10.14)
o`
u P est une matrice inversible. On a
det(B 1) = det(P 1 .A.P .1)
= det(P
.(A .1)P )
= det(A .1)
2
(10.15)
(10.16)
(10.17)
Puisque le determinant dune matrice et de sa transposee sont les memes, les valeurs
propres de ces deux matrices sont identiques.
107
Analyse spectrale
10.3
M
ethodes directes
10.3.1
M
ethode de Jacobi
La methode de Jacobi revient `a effectuer une suite de transformations similaires orthogonales. Chaque transformation est une simple rotation planaire qui
permet dannuler un element de la matrice A initial.
La rotation elementaire Ppq est donne par la matrice
Ppq
1
0
=
0
0
0
0
0
1
...
...
...
...
...
...
...
c . . . . . . s . . . 0
. . . . . . . . . . . . . . . 0
. . . . . . 1 . . . . . . 0
. . . . . . . . . . . . . . . 0
s . . . . . . c . . . 0
. . . . . . . . . . . . 1 0
... ... ... ... ... 1
(10.18)
c2 + s2 = 1.
(10.19)
T
A0 = Ppq
.A.Ppq
(10.20)
108
(10.21)
a0rq
a0pp
a0qq
a0pq
= carq + sarp
(10.22)
(10.23)
(10.24)
(10.25)
avec r 6= p et r 6= q.
Si on annule le terme a0pq , en introduisant langle de rotation , (c = cos(),
s = sin()) on a le rapport
c2 s2
2sc
= cot(2)
aqq app
=
apq
(10.26)
(10.27)
(10.28)
(10.29)
t=
(10.30)
|| + 2 + 1
En utilisant que c2 + s2 = 1 on obtient pour c que
1
c=
1 + t2
(10.31)
(10.32)
a0qq
a0rp
a0rq
= aqq + tapq
(10.33)
(10.34)
(10.35)
s
1+c
(10.36)
109
Analyse spectrale
En calculant la somme S
S=
|ars |2
(10.37)
r6=s
(10.38)
(10.39)
o`
u D est une matrice diagonale contenant les differentes valeurs propres et V
est une matrice contenant les vecteurs propres correspondants.
10.3.2
R
eduction de Householder
(10.40)
o`
u w est un vecteur reel normalise, wT .w = |w|2 = 1.
Verifions que la matrice P est une matrice orthogonale
P 2 = (1 2w.wT ).(1 2w.wT )
(10.41)
(10.42)
=1
(10.43)
u.uT
H
(10.44)
(10.45)
o`
u e1 est le vecteur colonne unitaire tel que seule la premi`ere composante est
non nulle et egale `
a 1. On obtient facilement la valeur de H
H = 2(|x2 | |x|x1 )
(10.46)
En appliquant P `
ax
u
.(x |x|e1 )T .x
H
2u.(|x|2 |x|x1 )
=x
2|x|2 2|x|x1
=x u
P.x =x
= |x|e1
(10.47)
(10.48)
(10.49)
(10.50)
Cela montre que la matrice P annule tous les elements du vecteur x hormis le
premier.
La strategie pour construire les matrices de Householder est la suivante : on
choisit un vecteur x constitue des n1 derniers elements de la premi`ere colonne
pour construire la matrice P1 . En consequence, on obtient la structure suivante
pour P1
1 0 0
...
... 0
0
P1 =
(10.51)
..
(n1)
.
P1
0
En appliquant la transformation orthogonale `a la matrice A, on obtient
A0 =P.A.P
a11 k 0 . . .
k
= 0
..
.
0
0
(10.52)
...
(10.53)
o`
u le nombre k est au signe pr`es la norme du vecteur (a21 , . . . , an1 )T .
On choisit la seconde matrice de Householder avec un vecteur x qui constitue
avec les (n 2) derniers elements de la seconde colonne
1 0 0
...
... 0
0 1 0
...
. . . 0
0 0
0 0
P1 =
(10.54)
.. ..
(n2)
. .
P2
0 0
0 0
111
Analyse spectrale
A.u
H
(10.55)
A.P = A.(1
(10.56)
(10.57)
uT .p
2H
(10.58)
(10.59)
En posant
q = p Ku
(10.60)
10.3.3
(10.61)
Algorithme QL
(10.62)
o`
u Q est une matrice orthogonale et R une matrice triangulaire superieure. Pour
obtenir une telle decomposition, les matrices de Householder sont construites
dans ce cas de mani`ere `
a ce que la premi`ere colonne ne poss`ede que le premier
element non nul une fois la transformation effectuee, pour la deuxi`eme colonne,
on choisit le vecteur de la matrice de Householder pour que tous les elements de
la matrice transformee soient nuls sous la diagonale et ainsi de suite jusqu`a former une matrice triangulaire superieure. Le nombre de matrices de Householder
pour obtenir ce resultat est egal `a (n 1).
De mani`ere analogue, on peut montrer quil existe une decomposition de la
forme
A = Q.L
(10.63)
. o`
u Q est une matrice orthogonale et L une matrice triangulaire inferieure. Les
transformations de Householder correspondantes consistent `a annuler, colonne
112
par colonne, les elements de la matrice transformee qui sont situes au dessus de
la diagonale.
Si on definit la matrice A0 comme
A0 = L.Q
(10.64)
(10.65)
A0 = QT .A.Q
(10.66)
ce qui donne
ce qui montre que A0 est une transformation orthogonale de A.
Pour des raisons de minimisation derreurs darrondi, il est preferable dutiliser la decomposition QL au lieu de la decomposition QR.
Lalgorithme QL est defini par la suite suivante
As = Qs .Ls
(10.67)
As+1 = Ls .Qs
(10.68)
La methode repose sur les bases suivantes : (i) Si A a des valeurs propres
toutes distinctes de valeur absolue |i |, alors As tend vers une matrice triangulaire inferieure quand s . Les valeurs propres apparaissent sur la diagonale par valeur absolue croissante (ii) Si A a une valeur propre degeneree de
multiplicite p,quand s , As tend vers une matrice triangulaire inferieure,
exceptee pour un bloc dordre p correspondant `a la valeur propre degeneree.
Pour une matrice quelconque, une iteration a un co
ut de calcul proportionnel
`a n3 , mais pour une matrice tridiagonale, ce co
ut est lineaire avec n. On peut
montrer que la convergence depend de la difference entre deux valeurs propres
successives. Quand deux valeurs propres sont trop proches, il est quand meme
possible dameliorer la convergence de lalgorithme en deplacant ces valeurs
propres successives.
10.3.4
Factorisation de Schur
(10.69)
(10.70)
o`
u Z est orthogonale et T est une matrice quasi-triangulaire superieure,
ce qui signifie que la diagonale est constituee soit de blocs 1 1 soit de
blocs 2 2.
113
Analyse spectrale
Les colonnes de Z sont appelees les vecteurs de Schur. Les valeurs propres de
A apparaissent sur la diagonale de T ; les valeurs propres complexes conjuguees
dune matrice A reelle correspondent aux blocs 2x2 de la diagonale.
Lalgorithme utilisee dans la biblioth`eque LAPACK, on commence par transformer la matrice A en la transformant en une matrice de Hessenberg, qui est
une matrice triangulaire superieure bordee une ligne delements nuls sous la
diagonale.
Si la matrice A est complexe
A = QHQ
o`
u Q est unitaire et H est une matrice de Hessenberg.
Si la matrice A est reelle
A = QT QT
(10.71)
(10.72)
o`
u Q est orthogonale et H est une matrice de Hessenberg.
Dans une deuxi`eme etape, on transforme la matrice de Hessenberg en une matrice de Schur.
10.4
M
ethode it
eratives
10.4.1
M
ethodes des puissances
Le principe de cette methode est tr`es simple, car il repose sur le fait quen
appliquant un grand nombre de fois la matrice sur un vecteur initial quelconque,
les vecteurs successifs vont prendre une direction qui se rapproche du vecteur
propre de la plus grande valeur propre (en valeur absolue). Le principe iteratif
de cette methode est la suivante : soit x0 un vecteur initial quelconque, et A la
matrice dont on cherche `
a determiner la plus grande valeur propre. On effectue
loperation suivante
x1 = A.x0
(10.73)
Si on designe comme langle entre ces deux vecteurs, on a
cos() =
x1 .x0
|x1 |.|x0 |
(10.74)
10.4.2
M
ethode de Lancz`
os
La methode de Lancz`
os consiste `a la fois `a calculer les puissances successives
de A, en sinspirant de la methode precedente, mais de mani`ere bien plus efficace en construisant un ensemble de vecteurs orthogonaux. Par simplicite, nous
allons voir la methode pour des matrices hermitiennes, mais la methode peut
etre etendue pour des matrices plus generales, en particulier quand les vecteurs
`a gauche diff`erent des vecteurs a` droite.
Soit un vecteur de depart normalise u0 : ce vecteur est convenablement choisi
cest `
a dire que sa projection sur la base de la valeur propre `a determiner est
non nulle. On construit les vecteurs successifs de la base dite de Krylov `a partir
de la relation
2 u1 = A.u0 1 u0
(10.75)
o`
u 2 et 1 sont des constantes determinees de la mani`ere suivante : 1 est
choisi de mani`ere `
a ce que le vecteur u1 soit orthogonal au vecteur u0
1 = uT0 .A.u0
et 2 est determine de mani`ere a` ce que le vecteur u1 soit normalise.
q
2 = uT0 .A2 .u0 12
(10.76)
(10.77)
(10.78)
(10.79)
(10.80)
(10.81)
On verifie facilement que tous les vecteurs uj avec j < i 2 sont orthogonaux avec le vecteur ui+1 en raison de la construction dans un sous espace
115
Analyse spectrale
orthonorme sur ses vecteurs. Les valeurs i et i+1 sont determinees par les
relations suivantes
i =uTi1 .A.ui+1
q
i+1 = uTi1 .A2 .ui1 i2 i
Dans cette base, la matrice
1
2
0
A =
0
0
0
0
2
0 ... ...
...
0
2 3
0
...
...
0
3 3 4
0
...
0
...
...
...
0
. . . . . . 0 n1 n1 n
... ... ...
0
n n
(10.82)
(10.83)
(10.84)
Il est possible dutiliser alors une methode de type QL pour obtenir rapidement
les valeurs propres de la matrice A0 , cest `a dire aussi la matrice A.
Quelques remarques : en construisant progressivement une base de vecteurs
de plus en plus grande, on voit que la valeur propre recherchee peut etre estimee
en utilisant les sous espaces successifs. On peut donc arreter literation quand
la difference entre deux estimations successives de la valeur propre est devenue
suffisamment petite.
Dans le cas o`
u la matrice A est une representation tronquee dun operateur
dont la base propre est infinie (par exemple, un operateur de Schroringer),
le procede iteratif conduit progressivement `a des valeurs de i de plus en en
plus petites. On peut considerer que la base de Krylov est compl`ete quand
n est devenu inferieure en valeur absolue `a une valeur choisie `a lavance
(generalement 1012 ).
116
Chapitre 11
Equations int
egrales
Contenu
11.1 Introduction . . . . . . . . . . . . . . . . . . .
11.2 Equation de Fredholm . . . . . . . . . . . . .
11.2.1 Equation de premi`ere esp`ece . . . . . . . . .
11.2.2 Equation de seconde esp`ece . . . . . . . . . .
11.3 Equation de Volterra . . . . . . . . . . . . . .
11.3.1 Equation de premi`ere esp`ece . . . . . . . . .
11.3.2 Equation de seconde esp`ece . . . . . . . . . .
11.4 Conclusion . . . . . . . . . . . . . . . . . . . .
11.1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
117
117
. 117
. 118
119
. 119
. 119
119
Introduction
Les equations integrales sont a priori moins simples `a resoudre que les
equations algebriques ou les equations differentielles. Nous allons voir dans ce
chapitre que pour des equations integrales lineaires, une fois realisee la discretisation de ces equations, on se ram`ene au probl`eme de la recherche de solutions
dun syst`eme lineaire que nous avons vu chapitre 6.
11.2
Equation de Fredholm
11.2.1
Equation de premi`
ere esp`
ece
o`
u f (t) est la fonction inconnue que lon souhaite determiner. g(t) est le terme
de source et K(t, s) est appele le noyau.
En notant gi = g(ti ), Kij = K(si , tj ) et fj = f (tj ) o`
u i est un indice
variant de 1 `
a N et j un indice variant de 1 `a M (M peut etre different de N ).
117
Equations integrales
Kij fj = gi
(11.2)
j=1
(11.3)
11.2.2
o`
u f (t) est la fonction inconnue que lon souhaite determiner. g(t) est le terme de
source, K(t, s) est appele le noyau et est un scalaire introduit par commodite
pour la suite de cette equation.
Suivant le meme principe que celui defini ci-dessus, une fois discretisee,
lequation (11.5) se reexprime comme
fi =
M
X
Kij fj + gi
(11.6)
j=1
(11.7)
(11.8)
11.3
Equation de Volterra
Les equations de Volterra sont des cas particuliers de ceux de Fredholm dans
lesquelles le noyau K est tel que
K(t, s) = 0
11.3.1
pour s > t
(11.9)
Equation de premi`
ere esp`
ece
Lequation de Volterra homog`ene de premi`ere esp`ece est definie par la relation suivante
Z t
g(t) =
K(t, s)f (s)ds
(11.10)
a
o`
u f (t) est la fonction inconnue que lon souhaite determiner. g(t) est le terme
de source et K(t, s) est appele le noyau.
La reecriture matricielle de lequation de Volterra est identique formellement
`a celle de Fredholm, mais avec la particularite que la matrice associee au noyau
K est une matrice triangulaire inferieure. Ce type dequations lineaires, comme
nous lavons vu au chapitre 6, peut etre resolu par une methode de substitution.
Alors que les equations de Fredholm de premi`ere esp`ece sont generalement mal
conditionnees, les equations de Volterra ne le sont pas.
11.3.2
f (t) =
(11.11)
11.4
Conclusion
119
Equations integrales
120
Annexe A
Coordonn
ees hypersph
eriques
Il convient de distinguer le cas pair du cas impair pour le syst`eme de coordonnees. Les calculs analytiques et numeriques sont plus simples dans le cas
impair, car en particulier le calcul de la transformee de Fourier dune fonction
`a symetrie spherique se ram`ene au calcul dune transformee de Fourier `a une
dimension sur laxe reel positif.
Considerons tout dabord le cas o`
u n est impair : A n dimensions, on definit
les coordonnees hyperspheriques de la mani`ere suivante
x1 = sin(1 ) sin(2 ) sin(3 ) . . . sin(n3 ) sin(n2 ) sin(n1 )
x2 = sin(1 ) sin(2 ) sin(3 ) . . . sin(n3 ) sin(n2 ) cos(n1 )
x3 = sin(1 ) sin(2 ) sin(3 ) . . . sin(n3 ) cos(n2 )
x4 = sin(1 ) sin(2 ) sin(3 ) . . . cos(n3 )
...
xn1 = sin(1 ) cos(2 )
xn = cos(1 )
(A.1)
o`
u les variables i varient de 0 a` pour j compris entre 1 et n 2, la variable
n1 varie entre 0 et 2, et la variable est positive ou nulle.
Pour n pair, on definit les coordonnees hyperspheriques de la mani`ere suivante
x1 = sin(1 ) sin(2 ) sin(3 ) . . . sin(n3 ) sin(n2 ) sin(n1 )
x2 = sin(1 ) sin(2 ) sin(3 ) . . . sin(n3 ) sin(n2 ) cos(n1 )
x3 = sin(1 ) sin(2 ) sin(3 ) . . . sin(n3 ) cos(n2 )
x4 = sin(1 ) sin(2 ) sin(3 ) . . . cos(n3 ) cos(n2 )
...
xn1 = sin(2 ) cos(1 )
xn = cos(2 ) cos(1 )
(A.2)
(A.3)
Coordonnees hyperspheriques
x2i = 2
(A.4)
i=1
(x1 x2 . . . xn )
= n1
(1 2 . . . n )
sin(1 ) sin(2 ) . . . sin(n1 ) cos(1 ) . . . sin(n1 ) . . . sin(1 ) . . . cos(n1 )
sin(1 ) sin(2 ) . . . cos(n1 cos(1 ) . . . cos(n1 ) . . . sin(1 ) . . . sin(n1 )
...
...
...
...
cos(1 )
sin(1 )
0
0
(A.5)
J =
n2
Y
0 n2
n1j
sin
(j ) =
j=1
sin(n1j ))j
(A.6)
j=1
d
(sin(j ))
dj
dn1
0
j=1
n/2 an
(n/2 + 1)
n/2 an
pour n pair
= (n/2)!
(n1)/2 (2a)n ((n 1)/2)!
pour n impair
n!
Lelement de surface de lhypersph`ere de rayon a est donne par
=
n1
dSn = a
n2
Y
sinn1i (i )di
(A.7)
(A.8)
i=1
dVn
n n/2 an1
=
da
(n/2 + 1)!
n/2 n1
n a
(n/2)!
=
(n1)/2 (2a)n1 ((n 1)/2)!
2n
(n 1)!
122
pour n pair
(A.9)
pour n impair
Annexe B
Les biblioth`
eques BLAS et
Lapack
Contenu
B.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
B.2 Terminologie . . . . . . . . . . . . . . . . . . . . . . .
B.1
123
124
Introduction
La biblioth`eque BLAS (Basic Linear Algebra Subprograms) est un biblioth`eque qui realise les operations dalg`ebre lineaire de bas niveau. Elle est
disponible en Fortran et en C par lintermediaire de la biblioth`eque GSL, par
exemple. Ces operations sont classees par ordre de difficulte croissante :
1. operations vectorielles
y x + y
(B.1)
y Ax + y
(B.2)
C AB + C
(B.3)
2. operations matrices-vecteurs
3. operations matrices-matrices
LAPACK dont le nom vient de Linear Algebra PACKage est une biblioth`eque ecrite en fortran 77 et qui comprend un ensemble de sous-programmes
pour resoudre les probl`emes suivants : syst`eme dequations lineaires : probl`emes
aux valeurs propres. Diverses factorisations matricielles sont disponibles comme
la decomposition LU, QR Cholesky, SVD, Schur et Schur generalisee. Les matrices considerees sont des matrices soit pleines soit `a bande. Le cas des matrices
creuses nest pas specifiquement traite. Les sous-programmes sont fournis pour
des probl`emes dans lesquelles les matrices sont soit reelles, soit complexes, en
simple ou en double precision.
123
B.2
Terminologie
124
Annexe C
La biblioth`
eque GSL
Contenu
C.1 Introduction . . . .
C.2 Sous programmes .
C.2.1 BLAS . . . . . .
C.2.2 fonctions simples
C.1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
. 125
. 126
. . 126
. . 126
Introduction
Racines de polynomes
Vecteurs et Matrices
Combinatoire
BLAS
FFT
Generateurs de nombres aleatoires
Statistiques
Equations differentielles
Differentiation numerique
Series acceleratrices
Recherche de racines
Moindre carre
Constantes physiques
La biblioth`eque GSL
ment plus de 450 pages ! Le but de cet appendice est donc de donner quelques
cles pour une utilisation aussi simple que possible de cette biblioth`eque et par
effet dapprentissage dautres biblioth`eques dont les noms de sous-programmes
sont generalement moins eloquents.
Les fichiers dentetes necessaires `a la compilation dun programme sont
places dans le repertoire /usr/include/gsl.
Pour que les executables generes soient les plus petits possibles, les fichiers
dentetes sont tr`es nombreux (206 dans la version 1.1.1), et leur nom correspondent `
a une classe de sous-programes que lon souhaite utilises selon la r`egle
suivante :
Le nom commence toujours par le prefixe gsl . (Moyen simple didentification par rapport `
a dautres biblioth`eques qui seraient `a utiliser dans le
meme programme).
La seconde partie correspond `a la classe de probl`eme. Par exemple sf correspond `
a un fonction speciale, matrix `a un probl`eme sur les matrices,...
La troisi`eme correspond au probl`eme specifique. Par exemple, gsl sf expint.h
est le fichier pour les fonctions exponentielles integrales, gsl sf bessel.h
aux fonctions de bessel, ...
Si lon veut disposer dune classe de fonctions plus directement au lieu
de charger un `
a un les fichiers dentetes, on peut utiliser le fichier qui
regroupe. Pour lexemple precedent, on peut utiliser gsl sf.h qui contient
les definitions de toutes les fonctions speciales.
C.2
Sous programmes
C.2.1
BLAS
Les fonctions du BLAS ecrites. Elles realisent les trois niveaux qui sont les
suivants :
1. operations vectorielles
y = x + y
(C.1)
y = Ax + y
(C.2)
C = AB + C
(C.3)
2. operations matrices-vecteurs
3. operations matrices-matrices
C.2.2
fonctions simples
126
Annexe D
Maple et Mathematica
Deux logiciels commerciaux dominent le domaine de la resolution analytique : Maple et Mathematica. Maple est historiquement un logiciel provenant
du domaine universitaire et developpe principalement dans un premier temps `a
lUniversite de Waterloo (Canada). Steven Wolfram a ete le createur de Mathematica et a cree la societe qui porte son nom. Les possibilite de chaque logiciel
sont dans une large mesure tr`es comparables. La version actuelle de Maple
est la version 9.5, et celle de Mathematica est la version 5.1. La difference de
numerotation nimplique nullement une difference de performance. Au del`a de
la vocation premi`ere de la resolution exacte dequations, ces deux logiciels se
sont enrichis au cours des annees de modules de calcul numerique ainsi que de
modules graphiques offrant ainsi une exploitation des resultats `a travers un seul
logiciel. Pour des probl`emes necessitant une puissance de calcul importante, il
est possible de transformer les resultats analytiques obtenus dans une feuille
de calcul en langage C (ou Fortran) ce qui permet alors dutiliser des biblioth`eques de programme (comme GSL ou LAPACK) pour obtenir un resultat
plus rapidement.
Ces logiciels poss`edent chacun un site Web tr`es interessant, que je recommande vivement daller consulter[7, 8].
D.2
128
Bibliographie
[1] W. H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery, Numerical
Recipes in C, Cambridge University Press (1992).
[2] http ://sources.redhat.com/gsl/
[3] http ://www.netlib.org/lapack/
[4] http ://www.netlib.org/blas/
[5] http ://beige.ucs.indiana.edu/B673/
[6] http ://dmawww.epfl.ch/rappaz.mosaic/index.html
[7] http ://www.maplesoft.com
[8] http ://www.wolfram.com
[9] http ://www.mathworks.com/
[10] http ://scilabsoft.inria.fr/
[11] http ://www.mathsoft.com/
[12] http ://www.mathsoft.com/mathresources/
129
BIBLIOGRAPHIE
130
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
adaptatives
. . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
5
6
7
7
9
11
2 Fonctions sp
eciales et
evaluation de fonctions
2.1 Introduction . . . . . . . . . . . . . . . . . . . . .
2.2 Fonctions transcendantes simples . . . . . . . . .
2.3 Fonction Gamma . . . . . . . . . . . . . . . . . .
2.3.1 Definition et proprietes . . . . . . . . . .
2.3.2 Fonctions reliees : , B . . . . . . . . . .
2.4 Fonctions de Bessel . . . . . . . . . . . . . . . . .
2.5 Fonctions Hypergeometriques . . . . . . . . . . .
2.5.1 Fonction Hypergeometrique Gaussienne .
2.5.2 Fonctions Hypergeometriques generalisees
2.6 Fonction erreur, exponentielle integrale . . . . . .
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
13
14
14
14
16
18
20
20
20
21
22
3 Interpolation de fonctions
3.1 Introduction . . . . . . . . . . . . . . . . . . .
3.2 Fonctions `
a une variable . . . . . . . . . . . .
3.2.1 Algorithme de Neville . . . . . . . . .
3.2.2 Polyn
omes de Chebyshev . . . . . . .
3.2.3 Methodes de lissage (Spline) . . . . .
3.2.4 Approximants de Pade . . . . . . . . .
3.2.5 Algorithme de Remez . . . . . . . . .
3.3 Fonctions `
a plusieurs variables . . . . . . . .
3.3.1 Introduction . . . . . . . . . . . . . .
3.3.2 Interpolations bilineaire et bicubiques
3.4 Conclusion . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
23
24
24
25
26
28
30
30
30
31
32
131
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
`
TABLE DES MATIERES
4 Racines d
equations
4.1 Introduction . . . . . . . . . . . . . .
4.2 Dichotomie . . . . . . . . . . . . . .
4.3 Methode de Ridder . . . . . . . . . .
4.3.1 Methode de la position fausse
4.3.2 Methode de Ridder . . . . . .
4.4 Methode de Brent . . . . . . . . . .
4.5 Newton-Raphson . . . . . . . . . . .
4.6 Racines de Polyn
omes . . . . . . . .
4.6.1 Reduction polynomiale . . . .
4.6.2 Methode de Laguerre . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
33
34
35
35
36
37
37
38
38
39
5 Equations diff
erentielles
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Equations differentielles speciales . . . . . . . . . . . .
5.3.1 Introduction . . . . . . . . . . . . . . . . . . . .
5.3.2 Equations du premier ordre . . . . . . . . . . . .
5.3.3 Equation differentielles du second ordre . . . . .
5.3.4 Equation de Bessel . . . . . . . . . . . . . . . . .
5.3.5 Equation differentielle erreur . . . . . . . . . . .
5.3.6 Equation differentielle dHermite . . . . . . . . .
5.4 Methodes dintegration `a pas separe . . . . . . . . . . .
5.4.1 Introduction . . . . . . . . . . . . . . . . . . . .
5.4.2 Methode dEuler . . . . . . . . . . . . . . . . . .
5.4.3 Methode RK explicites `a un point . . . . . . . .
5.4.4 Methodes RK implicites `a un point . . . . . . . .
5.4.5 Methodes RK explicites `a 2 points intermediaires
5.4.6 Methodes RK explicites `a 3 points intermediaires
5.4.7 Formule generale des methodes RK explicites . .
5.5 Methode dintegration `a pas variables . . . . . . . . . .
5.5.1 Introduction . . . . . . . . . . . . . . . . . . . .
5.6 Methodes de Runge-Kutta embarquees . . . . . . . . .
5.7 Methode de Bulirsh-Stoer . . . . . . . . . . . . . . . . .
5.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
41
42
42
42
43
44
45
45
45
45
45
46
47
47
47
48
48
49
49
49
50
51
6 Equations diff
erentielles stochastiques
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
6.2 Variables aleatoires et processus stochastiques . . . .
6.3 Processus de Wiener, bruit blanc . . . . . . . . . . .
6.3.1 Equation de diffusion . . . . . . . . . . . . .
6.3.2 Equation de Langevin . . . . . . . . . . . . .
6.4 Calcul dIto et equations differentielles stochastiques
6.4.1 Introduction . . . . . . . . . . . . . . . . . .
6.4.2 Calcul differentiel stochastique . . . . . . . .
6.4.3 Processus dOrstein-Uhlenbeck . . . . . . . .
6.4.4 Mod`ele de Black-Scholes . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
53
53
54
56
56
57
58
58
59
60
61
132
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
`
TABLE DES MATIERES
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
62
63
63
64
64
65
65
7 Transform
ee de Fourier rapide et algorithmes de tri
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Proprietes . . . . . . . . . . . . . . . . . . . . . . . . .
7.3 Discretisation de la transformee de Fourier . . . . . . .
7.3.1 Echantillonage
. . . . . . . . . . . . . . . . . .
7.3.2 Transformee de Fourier discr`ete . . . . . . . . .
7.4 Transformee de Fourier rapide . . . . . . . . . . . . . .
7.5 Algorithmes de tri . . . . . . . . . . . . . . . . . . . .
7.5.1 Introduction . . . . . . . . . . . . . . . . . . .
7.5.2 Methode dinsertion . . . . . . . . . . . . . . .
7.5.3 Tri `
a bulles . . . . . . . . . . . . . . . . . . . .
7.5.4 Tri rapide . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
67
67
68
70
70
71
72
74
74
74
75
75
8 Equations aux d
eriv
ees partielles
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 Methode de la caracteristique . . . . . . . . . . . . . . . .
8.2.1 Equation du premier ordre lineaire et quasi-lineaire
8.2.2 Surface solution . . . . . . . . . . . . . . . . . . . .
8.2.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . .
8.3 Classification des EPDL du second ordre . . . . . . . . . .
8.4 Equations avec conditions aux fronti`eres . . . . . . . . . .
8.4.1 Introduction . . . . . . . . . . . . . . . . . . . . .
8.4.2 Differences finies . . . . . . . . . . . . . . . . . . .
8.4.3 Methodes matricielles . . . . . . . . . . . . . . . .
8.4.4 Methodes de relaxation . . . . . . . . . . . . . . .
8.4.5 Methodes de Fourier . . . . . . . . . . . . . . . . .
8.5 Equations avec conditions initiales . . . . . . . . . . . . .
8.5.1 Equations `
a flux conservatif . . . . . . . . . . . . .
8.5.2 Une approche nave . . . . . . . . . . . . . . . . .
8.5.3 Crit`ere de Stabilite de Von Neumann . . . . . . . .
8.5.4 Methode de Lax . . . . . . . . . . . . . . . . . . .
8.5.5 Methode de Crank-Nicholson . . . . . . . . . . . .
8.5.6 Methode `
a contre-vent . . . . . . . . . . . . . . .
8.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
77
77
78
78
78
81
81
84
84
84
85
85
85
87
87
88
89
90
91
92
93
6.5
6.6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9 Alg`
ebre lin
eaire
95
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.2 Elimination
de Gauss-Jordan . . . . . . . . . . . . . . . . . . . . 97
9.2.1 Rappels sur les matrices . . . . . . . . . . . . . . . . . . . 97
133
`
TABLE DES MATIERES
9.3
9.4
9.5
9.6
9.7
Elimination
gaussienne avec substitution
Decomposition LU . . . . . . . . . . . .
9.4.1 Principe . . . . . . . . . . . . . .
9.4.2 Resolution dun syst`eme lineaire
Matrices creuses . . . . . . . . . . . . .
9.5.1 Introduction . . . . . . . . . . .
9.5.2 Matrices tridiagonales . . . . . .
9.5.3 Formule de Sherman-Morison . .
Decomposition de Choleski . . . . . . .
Conclusion . . . . . . . . . . . . . . . .
10 Analyse spectrale
10.1 Introduction . . . . . . . . . . . .
10.2 Proprietes des matrices . . . . .
10.3 Methodes directes . . . . . . . .
10.3.1 Methode de Jacobi . . . .
10.3.2 Reduction de Householder
10.3.3 Algorithme QL . . . . . .
10.3.4 Factorisation de Schur . .
10.4 Methode iteratives . . . . . . . .
10.4.1 Methodes des puissances .
10.4.2 Methode de Lancz`os . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11 Equations int
egrales
11.1 Introduction . . . . . . . . . . . . . .
11.2 Equation de Fredholm . . . . . . . .
11.2.1 Equation de premi`ere esp`ece
11.2.2 Equation de seconde esp`ece .
11.3 Equation de Volterra . . . . . . . . .
11.3.1 Equation de premi`ere esp`ece
11.3.2 Equation de seconde esp`ece .
11.4 Conclusion . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
105
. 105
. 106
. 108
. 108
. 110
. 112
. 113
. 114
. 114
. 115
.
.
.
.
.
.
.
.
117
. 117
. 117
. 117
. 118
. 119
. 119
. 119
. 119
A Coordonn
ees hypersph
eriques
97
98
98
99
99
100
101
101
102
102
102
103
121
B Les biblioth`
eques BLAS et Lapack
123
B.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
B.2 Terminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
C La biblioth`
eque GSL
C.1 Introduction . . . . . . .
C.2 Sous programmes . . . .
C.2.1 BLAS . . . . . .
C.2.2 fonctions simples
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
134
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
125
125
126
126
126
`
TABLE DES MATIERES
135