Sunteți pe pagina 1din 35

Methode de Monte-Carlo

Celine Baranger - Julien Mathiaud


2012/2013
2
Table des mati`eres
1 Introduction 5
2 Rappel sur les notions utiles de probabilites 7
2.1 Variables aleatoires et probabilite . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Esperance et variance dune variable aleatoire . . . . . . . . . . . . . . . 7
2.3 Exemples de variables aleatoires discr`etes . . . . . . . . . . . . . . . . . . 8
2.4 Variables aleatoires continues . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Exemples de variables aleatoires continues . . . . . . . . . . . . . . . . . 9
2.6 Notion de variables aleatoires independantes . . . . . . . . . . . . . . . . 9
2.7 Methode dinversion et methode dacception-rejet . . . . . . . . . . . . . 10
3 Description de la methode de Monte-Carlo 11
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Premier exemple de la methode de Monte-Carlo . . . . . . . . . . . . . . 12
3.3 Description de la methode . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4 Convergence de la methode . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.5 Estimation de la variance dun calcul . . . . . . . . . . . . . . . . . . . . 14
3.6 Quelques exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4 Methodes de reduction de variance 17
4.1

Echantillonnage preferentiel . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 Methode des variables de controles . . . . . . . . . . . . . . . . . . . . . 18
4.3 Variables antithetiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.4 Methode de lechantillonnage stratie . . . . . . . . . . . . . . . . . . . . 18
5 Methode de Monte-Carlo pour les equations de transport 19
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2 Description dune methode particulaire . . . . . . . . . . . . . . . . . . . 20
6 TD1 : Simulation de grandeurs aleatoires 21
6.1 La distribution uniforme entre 0 et 1 . . . . . . . . . . . . . . . . . . . . 21
6.2 La distribution uniforme entre 0 et 1 (suite) . . . . . . . . . . . . . . . . 21
6.3

4
et le quart de cercle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.4 Tirage aleatoire sur la sph`ere . . . . . . . . . . . . . . . . . . . . . . . . 22
6.5 Methode de simulation directe . . . . . . . . . . . . . . . . . . . . . . . . 23
6.5.1 Loi uniforme sur [a, b] . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.5.2 Methode directe (ou methode dinversion) . . . . . . . . . . . . . 23
3
TABLE DES MATI
`
ERES
6.6 Methode dacception-rejet . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.7 Reconstruction des distributions (ou lois) . . . . . . . . . . . . . . . . . . 25
7 TD2 : Calcul dintegrales et reduction de variance 27
7.1 Calcul dintegrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.2 Reduction de variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8 TD3 : Simulation numerique du transport pur 29
9 TD4 : Simulation numerique du transport avec collision 31
9.1

Equation du transport avec collision . . . . . . . . . . . . . . . . . . . . . 31
9.2 Lapproximation de la diusion . . . . . . . . . . . . . . . . . . . . . . . 32
9.3 Lequation de Boltzmann . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4
Chapitre 1
Introduction
La naissance de la methode Monte-Carlo remonte `a 1777 : Comte de Buon, decrit
une methode de calcul de base sur la realisation dexperiences repetees. La veritable
denomination de la methode date de lapparition des premiers ordinateurs et de luti-
lisation de cette methode dans le cadre des projets secret americains dans les annees
1940-1945, en vue de la conception de la premi`ere bombe atomique (article fondateur :
Metropolis-ULam, the Monte-Carlo method, 1949).
Pour avoir une premi`ere idee de la methode, voici un cas simple dutilisation de la
methode de Monte-Carlo : le calcul dintegral. Soit I =
_
[
0, 1]f(x) dx, une integrale `a
calculer. On lapproche classiquement par une somme discr`ete :

n
i=1

i
f(x
i
), avec
i
0
tels que

n
i=1

i
= 1 et x
i
des points de lintervalle [0, 1] reguli`erement espace (par
exemple,
0
=
n
=
2
n
,
i
=
1
n
pour 0 < i < n et x
i
=
i
n
, alors on obtient la methode
des trap`ezes). Pour la methode de Monte-Carlo, on choisit
i
=
1
n
et on tire au hasard
les points x
i
(pas ci au hasard que cela mais plutot tire selon la loi uniforme sur [0,1]),
et on utilise toujours la formule I

n
i=1

i
f(x
i
). Cette methode converge mais avec
une vitesse de lordre de
K

n
(K une constante). Cette vitesse est faible par rapport aux
autres methodes dintegration en dimension 1, mais le gros avantage, cest que la vitesse
de convergence est independante de la dimension, et la methode de Monte-Carlo prend
alors tout son sens lorsque lon cherche `a calculer les integrales en dimensions elevees.
5
Introduction
6
Chapitre 2
Rappel sur les notions utiles de
probabilites
2.1 Variables aleatoires et probabilite
Une variable aleatoire est une fonction denie sur un ensemble qui prend ses
valeurs dans un autre ensemble E :
X : E
X()
est un ensemble muni dune tribu /, E dune tribu c, et X : E est mesurable
(i.e. pour tout F c, alors lensemble X F est dans / (i.e. est mesurable)).
Dans tous les cas que lon traite on a E = R
d
, c est la tribu des boreliens de R
d
.
Il faut donner un poids `a chaque realisation de : on utilise une mesure positive
sur (, /), de masse totale 1, notee P et appelee probabilite.
2.2 Esperance et variance dune variable aleatoire
Lorsquune variable aleatoire X prend ses valeurs dans R ou bien R
d
(i.e. = R ou
R
d
), cette mesure P permet de calculer lesperance de X, que lon note E(X).
E(X) =
_

X() dP()
Cette esperance nest denie que si E([X[) =
_

[X()[ dP() < +.


Si = N, la mesure P (notee, pour i N, p
i
= P(i)) permet de denir lesperance
discr`ete
E(X) =

iN
x
i
p
i
La loi de la variable aleatoire X est la mesure image de P par lapplication X. Cest
une mesure sur E, que lon notera
X
. La loi de X sous P,
X
est caracterisee par la
7
Rappel sur les notions utiles de probabilites
propriete suivante : pour toute application f de E dans R, mesurable et positive,
E(f(X)) =
_
E
f(x) d
X
(x) =
_

(f(X))() dP().
On denit alors la variance par V ar(X) =
2
= E(X
2
) (E(X))
2
, et est lecart-
type.
Remarque : comme E(X
2
) (E(X))
2
= E((XE(X)
2
)), cette quantite est bien 0.
2.3 Exemples de variables aleatoires discr`etes
Une variable aleatoire est discr`ete quand = N.
X : N R
i X(i) = x
i
R
On dote lespace N dune probabilite P.
On va denir les variables aleatoires par leur loi sous P.
La distribution de poisson discr`ete : P(X = n) =

n
n!
e

, pour n N. Lesperance
de cette variable aleatoire est E(X) = et la variance : V ar(X) = .
La distribution binomiale : P(X = n) = C
n
N
p
n
(1 p)
Nn
avec p [0, 1] et
N un entier. Lesperance de cette variable aleatoire est E(X) = N p et la variance :
V ar(X) = Np(1 p).
La distribution geometrique : on rep`ete un nombre dexperience de mani`ere
independante. Il y a deux resultats possible `a chaque experience : reussite (de probabilite
p) et on arrete, ou echec (proba q = 1 p) et on continue. Alors, P(X = n) = q
n1
p,
E(X) =
1
p
, V ar(X) =
1
p
2

1
p
2.4 Variables aleatoires continues
Cest une variable aleatoire reelle, i.e. (E, c) = (R, B(R)) et telle que = R, ou R
d
ou un intervalle de ces espaces. On denit la fonction de distribution cumulative
(ou fonction de repartition) par :
F(x) = P(X x)
Propriete de la fonction de repartition : F est croissante sur ] , +[, continue `a
droite, lim
x
F(x) = 0, lim
x+
F(x) = 1. Quand F est continue partout et derivable
par morceaux, alors sa derivee est notee F

(x) = f(x) et est la loi de la variable aleatoire


X sous P. Alors
_
+

f(x) dx = 1, et on retrouve F par F(x) =


_
x

f() d. De meme,
P(x X x + dx) = f(x) dx
On peut montrer que lesperance mathematique devient :
E(X) =
_
+

x f(x) dx =
_
+

x dF(x).
Cette fonction de repartition est utilisee dans la methode dinversion.
8
Rappel sur les notions utiles de probabilites
Proposition 2.4.1 Si r est une variable aleatoire uniforme sur [0, 1] et si F est la fonc-
tion de repartition dune variable aleatoire de loi f. Alors = F
1
(r) est une variable
aleatoire de fonction de repartition F et de loi f.
Cette proposition permet ainsi dobtenir analytiquement les formules pour simuler un
grand nombre de lois.
Remarque 1 Souvent la distribution f nest pas normalisee. Il faut penser `a la multiplier
par une constante an que
_
b
a
f(x)dx = 1.
2.5 Exemples de variables aleatoires continues
La distribution uniforme sur [0,a] :
F(x) =
_
_
_
0 pour x 0
x/a pour 0 x a
1 pour x a
La loi de la variable aleatoire est alors :
f(x) = F

(x) =
_
_
_
0 pour x 0
1/a pour 0 x a
0 pour x a
Les esperance et variance sont : E(X) =
1
2
a, V ar(X) =
1
12
a
2
.
La distribution exponentielle :
F(x) =
_
1 e
x
pour x 0
0 pour x < 0
La loi de la variable aleatoire est alors :
f(x) = F

(x) =
_
e
x
pour x 0
0 pour x < 0
La loi de la variable aleatoire est alors : E(X) =
1

, V ar(X) =
1

2
.
La distribution normale :
F(x) =
1

2
_
x

(t)
2
2
2
dt, F

(x) =
1

2
e

(x)
2
2
2
.
E(X) = , V ar(X) =
2
.
2.6 Notion de variables aleatoires independantes
On dit de deux variables aleatoires X
1
et X
2
quelles sont independantes si on a pour
toutes fonctions mesurables positives f
1
et f
2
,
E(f
1
(X
1
) f
2
(X
2
)) = E(f
1
(X
1
)) E(f
2
(X
2
)).
De meme, des variables aleatoires X
1
, , X
n
sont independantes si pour toutes fonctions
mesurables positives f
1
, , f
n
E(f
1
(X
1
) f
n
(X
n
) = E(f
1
(X
1
)) E(f
n
(X
n
))
9
Rappel sur les notions utiles de probabilites
2.7 Methode dinversion et methode dacception-rejet
La methode dinversion utilise la fonction de repartition.
Nous nous placons dans le cas o` u les grandeurs `a simuler suivent une loi de distribu-
tion quelconque entre a et b (a et/ou b peuvent etre innis), notee f (que lon suppose
normalisee, cest `a dire
_
f = 1). On note F la fonction de repartition de f, soit :
F(x) =
_
x
a
f(u)du
Proposition 2.7.1 Si r est une variable aleatoire uniforme sur [0, 1] alors = F
1
(r)
est une variable aleatoire de fonction de repartition F et de loi f.
Cette proposition permet ainsi dobtenir analytiquement les formules pour simuler un
grand nombre de lois.
Remarque 2 Souvent la distribution f nest pas normalisee. Il faut penser `a la multiplier
par une constante an que
_
b
a
f(x)dx = 1.
Lorsque lon ne peut pas inverser la fonction de repartition (meme en utilisant les
astuces comme pour la distribution gaussienne, voir le TD1), on utilise la methode
dacception-rejet (similaire au calcul de ).
Supposons que lon connaisse une borne M `a f, denie sur lintervalle [a, b] :
f(x) M
Alors, f(x)/M 1.
On engendre des nombres aleatoire r
1
`a distribution uniforme sur [a, b], et r
2
`a distri-
bution uniforme sur [0, 1].
Si dans le carre [a, b] [0, 1] le point (r
1
, r
2
) est sous la courbe y = f(x)/M, alors le
nombre aleatoire r
1
est garde, sinon il est rejete :
si r
2
f(r
1
)/M alors = r
1
est le nombre aleatoire cherche.
si r
2
f(r
1
)/M alors la paire (r
1
, r
2
) est rejetee.
On recommence cette etape autant que necessaire an davoir le nombre desire de nombres
aleatoires .
10
Chapitre 3
Description de la methode de
Monte-Carlo
Le terme methode de Monte-Carlo designe toute methode visant `a calculer une valeur
numerique en utilisant des procedes aleatoires, cest `a dire des techniques probabilistes.
Le nom de ces methodes fait allusion aux jeux de hasard pratiques `a Monte-Carlo, et
a ete invente en 1947 par N. Metropolis, dans un article publie pour la premi`ere fois en
1949 (Metropolis-Ulam, the Monte-Carlo method,. Journal of the American Statistical
Association)
3.1 Introduction
La methode de Monte-Carlo est une methode dapproximation, au sens statistique
du terme. Il ny a pas de denition precise de ce quest une technique de type Monte-
carlo, mais la description la plus habituelle consiste `a dire que les methodes de ce type
se caracterisent par lutilisation du hasard pour resoudre des probl`emes centres sur le
calcul dune valeur numerique. La reponse fournie sera une reponse statistique, de type
la valeur cherchee I se trouve tr`es probablement (par exemple avec une probabilite au
moins egale `a 0, 95) dans lintervalle de conance ]I
1
, I
2
[. La precision est mesuree par la
taille I
2
I
1
de lintervalle de conance. Si on utilise n points echantillonnes de mani`ere
independante, la methode converge en o(
1

n
, quelque soit la dimension du probl`eme,
do` u son interet en grande dimension (parfois pour des fonctions `a plusieurs dizaines de
variable, la methode de Monte-Carlo est le seul outil capable de donner une reponse en
un temps raisonnable).
Applications de la methode : en nance, en sismologie, telecommunication, ingenierie
physique, biologie, sciences sociales.
Attention, elles peuvent etre gourmandes en temps de calcul si elles ne sont pas uti-
lisees correctement (do` u la necessite dutiliser des techniques de reduction de variance) et
il est necessaire de savoir mimer sur un ordinateur le comportement aleatoire du hasard
(generateur de nombre pseudo-aleatoire, cf TP 1).
11
Description de la methode de Monte-Carlo
3.2 Premier exemple de la methode de Monte-Carlo
Un premier exemple de methode de Monte-Carlo, est la determination du nombre ,
via lestimation de la surface du cercle de rayon 1. On consid`ere un grand nombre (N) de
paires de nombres (r
1
, r
2
) tires avec une distribution uniforme. Lensemble de ces points
sont donc dans le carre de cote [0, 1] [0, 1]. La proportion p de points qui sont dans
le cercle unite va tendre vers quand le nombre de points N tend vers + (Le point
(r
1
, r
2
) est dans le cercle unite si r
2
1
+ r
2
2
1.)
3.3 Description de la methode
Pour utiliser une methode de Monte-Carlo, on doit tout dabord mettre sous la forme
dune esperance la quantite que lon cherche `a calculer. Cest souvent simple (calcul
dintegrale par exemple) mais peut-etre plus complique (equations aux derivees partielles
par exemple).
A lissu de cette etape, il reste `a calculer une quantite de la forme E(X), cest `a dire
lesperance de la variable aleatoire X. Pour calculer E(X), il convient de savoir simuler
une variable aleatoire selon la loi de X. On dispose alors dune suite (X
i
)
1iN
de N
realisations de la variable aleatoire X. On approxime alors E(X) par
E(X)
1
N
(X
1
+ X
N
)
Application au cas du calcul dune integrale : on cherche `a calculer
I =
_
[0,1]
d
f(u
1
, , u
d
)du
1
, du
d
.
1. Mise sous forme desperance : on pose X = f(U
1
, , U
d
) o` u U
1
, , U
d
sont des
realisations de la loi uniforme sur lintervalle [0, 1], alors E(X) = E(f(U
1
), , U
d
) =
I
2. Simulation de la variable aleatoire : on suppose que lon dispose dune suite (U
i
)
i1
de realisations de la loi uniforme sur [0, 1]. On pose alors X
1
= f(U
1
, , U
d
), X
2
=
f(U
d+1
, , U
2d
), etc. Alors les (X
i
) sont des realisations de la variable aleatoire X
et
I
1
N
(X
1
+ + X
N
)
Remarque : cette methode est facilement programmable, et ne depend pas de la regularite
de f (on lui demande juste detre mesurable).
Souvent on cherche `a evaluer une integrale plus generale :
I
_
R
d
g(x) f(x) dx =
_
R
d
g(x
1
, , x
d
)f(x
1
, , x
d
) dx
1
, dx
d
avec f positive,
_
R
d
f(x)dx = 1. Alors I = E(g(X)) o` u X est une variable aleatoire `a
valeur dans R
d
de loi f.
12
Description de la methode de Monte-Carlo
Ainsi, on approche I par
I
1
N
N

i=1
g(X
i
),
si (X
i
) est un echantillon tire selon la loi f.
3.4 Convergence de la methode
Cest la loi forte des grands nombres qui permet de justier la convergence de la
methode, et le theor`eme de la limite centrale qui precise la vitesse de convergence.
Theor`eme 1 Loi forte des grands nombres Soit (X
i
, i 1) une suite de realisations
de la variable aleatoire X. On suppose que E([X[) < +. Alors, pour presque tout
(i.e. N avec p(N)=0 et / N)
E(X) = lim
n+
1
n
(X
1
() + + X
n
())
Premi`ere remarque : la methode de Monte-Carlo ne peut donc sutiliser que pour des
variables aleatoires integrables.
Pour avoir une idee de linteret de la methode, il faut pouvoir evaluer lerreur commise.
Denition 1 Lerreur est denie par
n
= E(X)
1
n
(X
1
+ + X
n
)
Le theor`eme de la limite centrale donne un asymptotique de lerreur
n
, mais de nature
aleatoire. Il dit que la loi de lerreur nit par ressembler `a une loi gaussienne centree :
Theor`eme 2 Soit (X
i
, i 1) une suite de realisation de la variable aleatoire X. On
suppose que E(X
2
) < +. On note
2
la variance de X (
2
= E(X
2
) (E(X))
2
), alors


n
converge en loi vers une gaussienne centree reduite G.
Cela signie que si G est une variable aleatoire de loi
1

2
e

x
2
2
dx et si f est une
fonction continue bornee, E(f(


n
)) converge vers E(f(G)) =
_
+

f(x)
1

2
e

x
2
2
dx.
Utilisation pratique de ce theor`eme :
Remarque 1 On peut aussi montrer que pour tout c
1
et c
2
, lim
n
t
o+
P(

n
c
1

n

n
c
2
) =
_
c
2
c
1
1

2
e

x
2
2
dx
Dans les applications, on oublie le passage `a la limite, et on remplace
n
par une gaussienne
centree de variance

2
n
.
Remarque 2 Le theor`eme de la limite centrale ne permet jamais de borner lerreur (le
support dune gaussienne est egale `a R en entier). On presente souvent lerreur de la
methode de Monte-Carlo, soit en donnant lecart-type de lerreur
n
, cest `a dire

n
, soit
en donnant un intervalle de conance `a 95% pour le resultat. Comme P([N[ < 1, 96) =
0, 95, si N est une variable aleatoire de loi la gaussienne centree reduite, cela signie que
P([
n
[ 1, 96

n
) 0, 95.
13
Description de la methode de Monte-Carlo
Denition 2 Lintervalle de conance `a 95% est donc [
1
n

n
i=1
X
i
1, 96

n
,
1
n

n
i=1
X
i
+
1, 96

n
].
(attention, il faut se souvenir que la variance
2
nest pas plus connu que la solution
cherchee E(X), on verra plus loin comment lestimer au mieux).
Remarque 3 La vitesse de convergence est en
1

n
, ce qui nest pas tr`es rapide, mais cest
parfois la seule methode accessible, de plus cette vitesse ne change pas si on est en grande
dimension, et elle ne depend pas de la regularite de f.
3.5 Estimation de la variance dun calcul
On desire evaluer la variance dun calcul par Monte-Carlo dune integrale de type
I =
_
R
x f(x) dx = E(X) avec X une variable aleatoire de loi f. Soit X
i
des realisations
de X, on approche I par

I =
1
n

n
i=1
X
i
Denition 3 variance empirique de X

2
n
=
1
n 1
n

i=1
(X
2
i


I
2
)

2
n
est un estimateur sans biais de
2
, cest `a dire que E(

2
n
) =
2
et que la suite

2
n
converge vers
2
presque s urement quand n +. Cela signie quau cours dun
calcul Monte-Carlo, on peut simultanement calculer lapproximation de lesperance et de
sa variance, ce qui permet dobtenir un intervalle de conance `a 95%.
3.6 Quelques exemples
Exemple 1 Soit f une fonction mesurable sur [0, 1]. On cherche `a calculer p =
_
f(x)
dx,
une constante donnee.
Soit X la variable aleatoire X = 1
f(U)
(U etant une variable aleatoire dans [0, 1]
suivant la loi uniforme).
Alors p = E(X) et
2
= V ar(X) = p(1 p). A lissu de n tirages independants selon
la loi de X, on a :
p
n
=
X
1
+ + X
n
n
p +

n
G
pou faire une erreur moyenne

n
de lordre de 0, 01, comme p(1 p)
1
4
, il faut prendre
n de lordre de 2500. Aussi lintervalle de conance `a 95% est alors ]p
n
1, 960.01, p
n
+
1, 96 0, 01[.
Si la valeur de p `a estimer est de lordre de 0.5, lerreur est acceptable.
Par contre, si p est proche de 0 (ou de 1), comme

p (ou bien

1 p), lerreur
relative est

nE(X)
=
1

p
, donc il faut beaucoup de tirages aleatoires (n grand), pour
estimer un p convenable.
14
Description de la methode de Monte-Carlo
Exemple 2 On cherche `a calculer I = E(exp(G)), avec G variable aleatoire gaussienne
centree reduite. Alors, le calcul exact montre que I = e

2
2
.
Par la methode de Monte-Carlo, on pose X = e
G
, donc I = E(X). La variance de
la variable aleatoire X vaut
2
= e
2
2
e

2
.
Lerreur relative moyenne est e =

I

n
=
_
e

2
1
n
donc n
e

2
1
e
2
. Si on souhaite avoir
e = 1, et si = 5, on doit prendre n = 7.10
10
. Une technique de reduction de variance
sera utile dans ce cas !
Exemple 3 En nance, on est amene `a calculer des quantites du type C = E((e
G
K)
+
)
(un call) ou bien P = E((K e
G
)
+
) (un put) avec G une variable aleatoire de loi la
gaussienne centree reduite, et x
+
= max(0, x).
15
Description de la methode de Monte-Carlo
16
Chapitre 4
Methodes de reduction de variance
Nous venons de voir que la vitesse de convergence de la methode Monte-Carlo est de
lordre de

n
. Pour ameliorer cette methode, il existe de nombreuses techniques, dites de
reduction de variance, qui cherchent `a diminuer la valeur de
2
. Lidee generale de ces
methodes est de donner une autre representation sous forme desperance de la quantite
`a calculer, cest `a dire : E(X) = E(Y ) avec V ar(Y ) < V ar(X).
4.1

Echantillonnage preferentiel
Soit X une variable aleatoire de loi f (sur R par exemple), et on cherche `a calculer
E(g(X)) =
_
R
g(x)f(x)dx.
Soit h une autre loi de probabilite (h > 0 et
_
R
h(x)dx = 1).
Alors on ecrit :
E(g(X)) =
_
R
g(x)f(x)
h(x)
h(x)dx = E(
g(Y )f(Y )
h(Y )
,
avec Y une variable aleatoire de loi h.
En eectuant un tirage de n valeurs Y
1
, , Y
n
, on approxime E(g(X)) par
1
n
n

i=1
g(Y
i
)f(Y
i
)
h(Y
i
)
.
Si on pose Z =
g(Y )f(Y )
h(Y )
, on a accelere le calcul si V ar(Z) < V ar(X).
Si h est choisie aussi proche que possible de [g(x)f(x)[ (et ensuite on la normalise),
et quelle est facilement calculable, on a reduit la variance.
Exemple 4
_
1
0
cos(
x
2
dx : on approche le cosinus par un polynome du second degre
h(x) = (1 x
2
). Par normalisation, =
1
3
. En calculant les variances (exercice),
on voit quon a reduit la variance dun facteur 100.
Exemple 5 P = E((K e
G
)
+
) : e
x
1 est proche de x quand x nest pas trop grand.
On ecrit donc : P =
_
(1e
x
)
+
|x|
|x[
e
x
2
/2

2
dx Par changement de variable, y =

x sur
R
+
et y =

x sur R

, on obtient : P =
_
(1e

y
)
+
(1e

y
)
+
2

y
e
y/2
sqrt2
dy
Si Y est la variable aleatoire de loi
e
x/2
2
alors P = E(
(1e

Y
)
+
+(1e

Y
)
+

2 Y
) On passe
dune erreur relative de 6% `a 1%.
17
Methodes de reduction de variance
4.2 Methode des variables de contr oles
Cette fois-ci, on prend h une fonction voisine de g facilement simulable, pour laquelle
E(h(X)) est explicite et on ecrit :
E(g(X)) = E(g(X) h(X)) + E(h(X))
On estime par un calcul Monte-Carlo lesperance E(g(X) h(X)) et on a une formule
directe pour E(h(X)). si h est bien choisie, alors V ar(g(X) h(X)) < V ar(g(X))
Exemple 6
_
1
0
e
x
dx =
_
1
0
(e
x
1 x) dx +
3
2
en nance : C P = E(e
G
K) = e

2
/2
K
4.3 Variables antithetiques
Cette methode consiste, quand on eectue des realisations X
i
de la variable aleatoire
x, `a associer `a X
i
, la realisation X
i
. En eet, I =
_
1
0
f(x) dx =
1
2
(
_
1
0
(f(x)+f(1x)) dx).
Ainsi,

I
2n
=
1
N
(

i
= 1
N 1
2
(f(U
i
)+f(1U
i
)) au lieu de I
2n
=
1
2N
(

i
= 1
2N
f(U
i
)) Si f est
continue, monotone, cette methode est plus ecace que le Monte-Carlo initial (ecacite
30) Cette idee est generalisable `a toute dimension et `a toute transformation preservant
la loi de la variable aleatoire.
4.4 Methode de lechantillonnage stratie
Cest la methode qui est utilisee dans les sondages : On cherche `a calculer I =
E(g(X)) =
_
R
d
g(x)f(x)dx, X est ici une variable aleatoire de loi f dans R
d
.
On suppose que lon dispose dune partition (D
i
, 1 i m) de R
d
. Alors
I =
m

i=1
E(1
XD
i
g(X)) =
m

i=1
E(g(X)[X D
i
) P(X D
i
).
Si on connat les p
i
= P(X D
i
), il reste `a calculer les I
i
= E(g(X)[X D
i
) par des
methodes de Monte-Carlo (calcul approche :

I
i
), ainsi, I sera approche par

I =
m

i=1
p
i

I
i
On suppose que pour calculer

I
i
, on eectue n
i
tirages, la variance de lerreur dapproxi-
mation est donnee par

2
i
n
i
, si on note
2
i
= V ar(g(X)[X D
i
). La variance du calcul de

I vaut alors

m
i=1
p
2
i

2
i
n
i
. Si on pose n =

m
i=1
n
i
. On peut verier que les n
i
qui minimise
la variance de

I sont donnes par : n
i
= n
p
i

i
P
m
i=1
p
i

i
, et le minimum de la variance est
alors
1
n
(

m
i=1
p
i

i
)
2
. On peut montrer que cette variance est inferieure `a la variance quon
obtiendrait en eectuant n tirages aleatoires par la methode de Monte-Carlo :
V ar(g(X))
m

i=1
p
i
V ar(g(X)[X D
i
) (
m

i=1
p
i

i
)
2
18
Chapitre 5
Methode de Monte-Carlo pour les
equations de transport
5.1 Introduction
Nous allons presenter la methode de Monte-Carlo pour la resolution numerique de
quelques equations aux derivees partielles (pour lesquelles il existe une representation
probabiliste de la solution), ce qui est le cas des equations de transport.
Les methodes de Monte-Carlo ont souvent mauvaise presse (convergence lente, peu
able car resultat bruite). Il convient de les utiliser quand on ne dispose pas dautre
methode numerique ecace (grande dimension de lespace des phases, equations aux
derivees partielles avec terme integral ou integro-dierentiel,...).
De plus, il est toujours possible de controler la abilite du resultat obtenu (intervalle
de conance). Enn, la loi forte des grands nombres permet dassurer la convergence de
la methode.
Cadre theorique : resolution de lequation de transport.

t
f(t, x, v) + v
x
f(t, x, v) =
_
k(v

, v)f(t, x, v

)dv

([v[)f(t, x, v) (5.1)
avec x X R
3
, v V (si V = R
3
on resout le transport des neutrons, si V = S
2
on resout le transport des photons). Par exemple, en transport des photons, on traite
lequation (simpliee)

t
f(t, x, v) + v
x
f(t, x, v) =
_
f(t, x, v

)dv

f(t, x, v)
On parle de methode particulaire lorsque lon cherche `a resoudre des equations dad-
vection (equations de Vlasov) du type
t
f + v

x
f +
v
(af) = 0.
On parle de methode de Monte-Carlo lorsque lon cherche `a resoudre des equations
de transport avec terme de collision, ou bien les equations de type Boltzmann.
19
Methode de Monte-Carlo pour les equations de transport
5.2 Description dune methode particulaire
Se donner une description particulaire de la densite f(t, x, v) cest lapprocher par une
combinaison lineaire de masse de Dirac
f(t, x, v) =
N

i=1
a
i
(t)
x
i
(t)

v
i
(t)
La mesure a
i
(t)
x
i
(t)

v
i
(t)
est appelee particule numerique, a
i
etant le poids numerique
ou representativite de la particule numerique, x
i
et v
i
etant respectivement la position et
la vitesse de la particule numerique.
Pour passer de la forme continue `a la forme discretisee, il faut faire un tirage aleatoire
des x
i
et v
i
suivant la loi (`a t xe)
f(t, x, v)dxdv
_ _
f(t, x, v)dxdv
. (voir TD1)
Pour passer de la forme discretisee `a la forme continue, il faut passer par des techniques
de convolutions via une fonction de forme reguli`ere (cf TD1).
Remarque 4 La question se pose des resultats que lon souhaite visualiser, ou bien des
quantites que lon souhaite determiner `a partir de la fonction f : par exemple, on a
besoin de la vitesse moyenne
_
f(t, x, v)vdv, de quantites moyennees (sur lespace des
vitesses ou des positions), mais non de la fonction elle-meme. Dans ces cas-l`a, il sut
souvent deectuer une somme ponderee sur les particules numeriques. En eet, grace
`a la representation discr`ete de la fonction f sous forme de masse de Dirac, la quantite
f(t, x, v) v dv se calcule facilement sous la forme de somme : f(t, x, v) v dv =

N
i=1
a
i
v
i

x
i
qui est une fonction de x que lon peut representer spatialement.
Chaque realisation du processus (x
i
(t), v
i
(t)) 0 t T et 1 i N est genere de la
facon suivante :
1. Les N particules numeriques (x
i
(0), v
i
(0))
1iN
sont tirees independamment les unes
des autres avec la probabilite
f
0
(x, v)dxdv
_ _
f
0
(x, v)dxdv
.
2. On fait evoluer les quantites x
i
et v
i
an de resoudre lequation de transport (cest
lobjet de la suite du cours)
3. On reconstruit la fonction f au temps nal T, ou bien on calcule des grandeurs
moyennes.
(La suite du cours reste `a ecrire ...)
20
Chapitre 6
TD1 : Simulation de grandeurs
aleatoires
Les methodes dites de Monte-Carlo consistent en des simulations experimentales de
probl`emes mathematiques, dans lesquelles des nombres aleatoires sont utilises pour trou-
ver une solution qui dans certains cas nest pas aleatoire.
La premi`ere etape lors de lapplication de telles methodes est la construction de
nombres aleatoires, veriant une loi de distribution donnee (pour representer la donnee
initiale dun probl`eme par exemple).
Les exercices se feront avec loutil Matlab. Dans certains exercices, la mention pour
aller plus loin correspond `a des parties facultatives (reservees aux el`eves ayant le plus de
facilite avec Matlab).
6.1 La distribution uniforme entre 0 et 1
La distribution de base quil faut savoir simuler numeriquement est la loi uniforme sur
[0, 1]. En Matlab, la commande rand(n) renvoie une matrice de taille n dont les elements
sont des variables aleatoires de loi la loi uniforme sur [0, 1].
Exercice 1 Simuler avec Matlab une loi uniforme sur [0, 1] : tirer 1000 nombres aleatoires
et visualiser-les.
6.2 La distribution uniforme entre 0 et 1 (suite)
Une suite de variables aleatoires independantes uniformes sur [0 ; 1] est realisee concr`etement
avec les langages comme Matlab ou C par des appels successifs `a un generateur de nombres
pseudo-aleatoires. La methode la plus simple et la plus couramment utilisee est la methode
des congruences lineaires. On gen`ere une suite de nombres entiers compris entre 0 et m1
de la facon suivante :
x
0
= valeur initiale 0, 1, , m1
x
n+1
= (a x
n
+ b) ( modulo m)
21
TD1 : Simulation de grandeurs aleatoires
a, b et m etant des entiers quil faut choisir soigneusement si lon veut que les ca-
racteristiques statistiques de la suite soient satisfaisantes. Le choix suivant est souvent
eectue (voir [1])
a = 31415821
b = 1
m = 10
8
Cette methode permet de simuler des entiers pseudo aleatoires entre 0 et m 1, et
pour obtenir une nombre reel aleatoire entre 0 et 1, il sut de diviser lentier aleatoire
par m.
Exercice 2 Simuler par le procede decrit ci-dessus une loi uniforme sur [0, 1], en prenant
x
0
= 1.
6.3

4
et le quart de cercle
Nous cherchons `a determiner la surface du quart de cercle de rayon 1, cest-`a-dire

4
.
Considerons un grand nombre N de paires de nombres (r
1
, r
2
), tires au hasard avec
une distribution uniforme entre 0 et 1. Chaque paire est representee en coordonnees
cartesiennes par un point `a linterieur du carre de cote 1. La proportion p de points tels
que r
2
1
+ r
2
2
1 tend, si N , vers la surface du cercle qui vaut

4
. En pratique, on
est limite `a un nombre N dessais ni, donc le resultat nest quune estimation de

4
.
Exercice 3 Programmer lalgorithme precedent pour en deduire une valeur approchee de
/4.
(Pour aller plus loin) : Reiterer lexperience precedente pour des N de plus en plus
grand. Tracer levolution de lerreur en fonction de N.
6.4 Tirage aleatoire sur la sph`ere
On cherche `a tirer des points aleatoirement sur la sph`ere unite de R
3
(notee S
2
). On
note v =
_
_
sin() cos()
sin() sin()
cos()
_
_
un point de S
2
en coordonnees spheriques, avec [0, [,
[0, 2[. La loi de cette variable aleatoire est alors
sin()
4
dd, (pour le retrouver, il faut
ecrire dxdydz en coordonnee spherique et en considerant que r = 1 et normaliser). Donc,
il faut tirer avec la loi
sin()
2
d et avec 2d, soit (pour la justication de la formule,
utiliser la proposition 6.5.1) :
= arccos(1 2 c
1
)
= 2 c
2
o` u c
1
et c
2
sont uniformement tires sur [0, 1].
Exercice 4 Tirer un grand nombre de points sur la sph`ere. Les acher et retrouver le
dessin dune sph`ere.
22
TD1 : Simulation de grandeurs aleatoires
6.5 Methode de simulation directe
6.5.1 Loi uniforme sur [a, b]
Si r suit la loi uniforme sur [0, 1], alors = a+(b a) r suit la loi uniforme sur [a, b].
Exercice 5 Tirer 1000 nombres avec la loi uniforme sur [2, 4] et visualiser-les.
6.5.2 Methode directe (ou methode dinversion)
Nous nous placons dans le cas o` u les grandeurs `a simuler ne suivent pas une loi de
distribution uniforme mais une distribution quelconque entre a et b (a et/ou b peuvent
etre innis), notee f (que lon suppose normalisee, cest `a dire
_
f = 1). On note F la
fonction de repartition de f, soit :
F(x) =
_
x
a
f(u)du
Proposition 6.5.1 Si r est une variable aleatoire uniforme sur [0, 1] alors = F
1
(r)
est une variable aleatoire de fonction de repartition F et de loi f.
Cette proposition permet ainsi dobtenir analytiquement les formules pour simuler un
grand nombre de lois.
Remarque 3 Souvent la distribution f nest pas normalisee. Il faut penser `a la multiplier
par une constante an que
_
b
a
f(x)dx = 1.
Exercice 6 Retrouver la formule permettant de trouver la loi uniforme sur [a, b] en fonc-
tion de la loi uniforme sur [0, 1].
Exercice 7 Simulation dune loi exponentielle Construire la loi exponentielle de
param`etre : f(x) = 1
{x0}
e
x
.
Exercice 8 Cas particulier : une distribution gaussienne. Soit f(x) =
1

2
e

x
2
2
2
.
Lintegrale de f(x) na pas dexpression analytique, on passe alors `a deux dimensions puis
en coordonnees polaires (, ) en denissant la loi p suivante :
p(x, y)dxdy = f(x) f(y)dxdy =
1
2
2

exp(
x
2
+ y
2
2
2
)dxdy
p(, )dd =
1
2
2

exp(

2
2
2
)dd =
1

2
exp(

2
2
2
)d
1
2
d
Ainsi, suit la loi uniforme sur [0, 2].
La distribution en est
1

2
exp(

2
2
2
)d, et on va pouvoir inverser sa fonction de
repartition :
F() =
_

0
1

2
exp(

2
2
2
)d
23
TD1 : Simulation de grandeurs aleatoires
Par le changement de variable : u =
2
/(2
2
)
F() =
_

2
/(2
2
)
0
exp(u)du = 1 exp(
2
/(2
2
))
Soit `a inverser r = 1 exp(
2
/(2
2
)), sachant que r suit une loi uniforme. Donc
=
_
2
2
ln(r). Et ensuite, on retrouve x et y par x = r cos() et y = r sin(), cest `a
dire :
Si r
1
et r
2
sont deux nombres aleatoires `a distribution uniforme sur [0, 1], x et y `a
distribution gaussienne sont donnes par :
x =
_
2 ln(r
2
) cos(2r
1
)
y =
_
2 ln(r
2
) sin(2r
1
)
Si au nal, nous navons besoin que dune variable gaussienne, seul x est calcule.
Par contre, on peut montrer que le couple (x, y) forme un couple de variables aleatoires
independantes, et on peut donc calculer ces deux variables lorsque lon cherche `a simuler
de grands nombres de variables gaussiennes.
Exercice 9 (Pour aller plus loin) Simuler une gaussienne de moyenne m et de va-
riance (i.e. f(x) =
1

2
exp(
|xm|
2
2
))
Exercice 10 (Pour aller plus loin) Simulation dune loi exponentielle : Construire
la loi exponentielle de param`etre : f(x) = 1
{t0}
e
t
dt.
6.6 Methode dacception-rejet
Lorsque lon ne peut pas inverser la fonction de repartition (meme en utilisant les
astuces comme pour la distribution gaussienne), on utilise la methode dacception-rejet
(similaire au calcul de ).
Supposons que lon connaisse une borne M `a f, denie sur lintervalle [a, b] :
f(x) M
Alors, f(x)/M 1.
On engendre des nombres aleatoire r
1
`a distribution uniforme sur [a, b], et r
2
`a distri-
bution uniforme sur [0, 1].
Si dans le carre [a, b] [0, 1] le point (r
1
, r
2
) est sous la courbe y = f(x)/M, alors le
nombre aleatoire r
1
est garde, sinon il est rejete :
si r
2
f(r
1
)/M alors = r
1
est le nombre aleatoire cherche.
si r
2
f(r
1
)/M alors la paire (r
1
, r
2
) est rejetee.
On recommence cette etape autant que necessaire an davoir le nombre desire de nombres
aleatoires .
Exercice 11 Construire la distribution x x
2
e
x
2
, x R.
Exercice 12 (Pour aller plus loin) Construire la distribution v v
2
e
v
2
, o` u v R
3
.
24
TD1 : Simulation de grandeurs aleatoires
6.7 Reconstruction des distributions (ou lois)
Pour retrouver la loi correspondant `a un ensembles de variables alatoires, nous pou-
vons utiliser la technique de reconstruction de distribution.
Le passage entre la loi et les variables aleatoires correspond `a ecrire la loi sous la forme
dune somme de masse de Dirac : Si f est une loi, et (X
i
)
i=1N
les variables aleatoires de
loi f, on a approche f par :
f
N

i=1

X
i
Cest le passage de la forme continue `a la forme discr`ete.
La reconstruction des distributions correspond au passage de la forme discr`ete `a la
forme continue : lidee est de remplacer les masses de Dirac en X
i
par des fonctions plus
reguli`eres. Par exemple, on se donne fonction reguli`ere `a support dans [h, h], 0
et
_
= 1. On remplace alors les masses de Dirac
X
i
par (X
i
x). Ainsi :
f(x)
N

i=1
(X
i
x)
qui se trouve etre reguli`ere (aussi reguli`ere que ).
Exemple 1 Fonction Chapeau :
_
(x) = 0 pour [x[ h,
(x) = (1
|x|
h
) sinon.
avec choisi de telle mani`ere que
_
|x|h
(x)dx = 1
Par contre, plus la fonction sera reguli`ere, plus les calculs de reconstruction de la
fonction f seront longs.
La principale diculte reside dans le choix du param`etre h : il faut quun nombre
consequent de points X
i
se trouvent dans lintervalle [h, h] sans pour autant que la
fonction f ne se reduise uniquement `a la fonction . Cest au cours de la reconstruction
que lon ajuste ce param`etre.
Exercice 13 Reconstruire toutes les distributions vues precedemment.
25
TD1 : Simulation de grandeurs aleatoires
26
Chapitre 7
TD2 : Calcul dintegrales et
reduction de variance
7.1 Calcul dintegrale
Le but de lexercice est dutiliser la methode de Monte Carlo pour calculer les integrales
ci-dessous. Pour chaque calcul, on donnera quand cest possible la valeur theorique de
la variance. Puis on donnera la valeur de lintegrale obtenue (`a comparer avec la valeur
exacte quand cest possible), et lintervalle de conance `a 95% (en se basant sur un
estimateur de la variance) pour N = 100 ; 1000 ; 10000 ;
I =
_
1
0
e
x
dx
I = E(exp(g)) = e

2
/2
o` u g est une gaussienne centree reduite.
Application `a la nance : prix dune option dachat (ou call en anglais)
C = E((e
G
K)
+
)
et le prix dune option de vente (put)
P = E((K e
G
)
+
)
o` u G est une gaussienne centree reduite. On prendra = K = 1.
Les valeurs exactes sont donnees par la formule explicite due `a Black et Scholes
C = e
(

2
2
)
N(
log(K)

) K N (
log(K)

)
avec N =
1

2
_
x

e
u
2
/2
du.
Pour laquelle de ces 2 quantites (entre C et P) la methode de Monte-Carlo sera la
plus ecace ?
7.2 Reduction de variance
Appliquer sur chacun des calculs precedents les dierentes methodes de reduction de
variances, et montrer de combien on diminue la variance dans chaque cas.
Echantillonage preferentiel
27
TD2 : Calcul dintegrales et reduction de variance
Methode utilisant des variables de controle
Variables antithetiques
Methode dechantillonnage stratie
28
Chapitre 8
TD3 : Simulation numerique du
transport pur
On cherche `a resoudre numeriquement lequation de transport pur suivante :
f
t
+ v
x
f
x
= 0, t [0, T]
avec pour donnee initiale f
0
(x, v) une fonction connue et avec x R, v S
2
la sph`ere
unite de R
3
(et v
x
la premi`ere composante de v).
Exercice 1 Construire un programme qui :
initialise N particules `a partir dune fonction f
0
choisie (par exemple : distribution
uniforme sur [1, 1], gaussienne en x ou enn distribution uniforme sur la sph`ere
en v).
calcule aux temps t
n
= nt (t etant le pas de temps, par exemple t = T/50),
les nouvelles valeurs des positions des particules.
en n de calcul (t=T), reconstruit la distribution en x (cest `a dire la fonction
x
_
f(T, x, v)dv). La comparer avec la distribution `a t = 0.
Exercice 2 Quelle equation verie v(t) =
_
x
_
v
v f(t, x, v)dvdx. Veriez-le sur votre pro-
gramme de simulation.
Exercice 3 Conditions aux bords : On se place dans le cas o` u le transport seectue
dans un domaine borne, par exemple x [1, 1]. La normale exterieure n(x) est alors :
si x = 1, n(x) = (1, 0, 0) et si x = 1, n(x) = (1, 0, 0). Les conditions aux bords possibles
sont
Condition de reexion speculaire si v n < 0 f(t, x, v) = f
_
t, x, v 2(v n(x))n(x)
_
Condition periodique Si v n(x) < 0 f(t, x, v) = f(t, x, v)
Comment cela sexprime-t-il dans votre code par rapport aux particules numeriques ? Pro-
grammez ces conditions et testez-les.
29
TD3 : Simulation numerique du transport pur
30
Chapitre 9
TD4 : Simulation numerique du
transport avec collision
9.1

Equation du transport avec collision
On cherche `a resoudre numeriquement la partie collision de lequation de transport :
f
t
(t, x, v) + v
x
f =
_
v

S
2
f(t, x, v

)dv

f(t, x, v), t [0, T]


avec pour donnee initiale f
0
(x, v), une fonction connue, et avec x R, v S
2
.
Grace `a la technique du splitting, cette etape sins`ere `a la suite de la resolution du
transport pur (ou transport libre). Cela revient `a :
Initialisation des particules numeriques : creation des tableaux contenant les (x
i
)
i=1..N
,
et les ((v
1
)
i
, (v
2
)
i
, (v
3
)
i
)
i=1..N
.
Tous les nt :
Resolution de
f
t
v
1
f
x
= 0 : faire evoluer les positions de chaque particule
en resolvant
dx
i
dt
= (v
1
)
i
.
Resolution de
f
t
=
_
f(v

)dv

f : faire collisionner chaque particule avec la


probabilite t. Sa nouvelle vitesse sera tiree aleatoirement dans la sph`ere unite
(|v

| = 1).
au temps T, faire la reconstruction de la fonction x
_
f(T, x, v)dv
Attention, la condition de type c sur le pas de temps sera : t 1 (on prendra
par exemple t =
0.1

).
Exercice 1 Integrer la resolution des collisions dans le programme du td de resolution
du transport pur. On prendra = 1.
Exercice 2 Quelle equation verie v(t) =
_
x
_
v
v f(t, x, v) dv dx. Veriez-le sur votre
programme de simulation. (Pour cela, on pourra calculer la valeur numerique de v
1
, cest-
`a-dire

N
i=1
(v
1
)
i
`a tous les pas de temps et tracer le resultat en fonction du temps.)
Acceleration du code
La methode numerique precedente eectue N operations par pas de temps (N=nombres
de particules). Si ce nombre est grand, le calcul devient co uteux. On sait que pendant
31
TD4 : Simulation numerique du transport avec collision
t chaque particule collisionne avec la probabilite t. Donc, comme il y a N parti-
cules, il y aura en probabilite Nt particules qui vont collisionner durant t. Lidee
qui va accelerer le programme cest de se donner `a chaque pas de temps et de mani`ere
aleatoire Nt (ou lentier le plus proche) particules et de faire collisionner ces particules
et seulement celles-ci.
Exercice 3 Programmer cette methode pour accelerer le programme. Comparer les resultats
avec ceux obtenus precedemment, et comparer la vitesse de calcul.
Exercice 4 Rajouter de labsorption `a lequation de transport (terme
a
f) et `a la simu-
lation numerique.
9.2 Lapproximation de la diusion
Le but de cette section est de verier numeriquement que lequation de transport,
dans un milieu tr`es collisionnel, derive vers une equation de diusion.
Exercice 5 Modier le programme pour resoudre lequation de transport suivante :
f
t
(t, x, v) +
v


x
f =

2
(
_
v

S
2
f(t, x, v

)dv

f(t, x, v)), t [0, T]


Exercice 6 Resoudre avec une methode de type dierences nies lequation de diusion
suivante en 1D :

t
u div(
1
3
u) = 0
Exercice 7 Montrer que la solution numerique de lequation de transport se rapproche
de la solution numerique de la diusion quand tend vers 0.
9.3 Lequation de Boltzmann
Le but de cette section est de simuler lequation de Boltzmann dans le cas particulier
de sections ecaces simples.
On cherche donc `a resoudre lequation

t
f = Q
coll
(f, f) =
_
v

R
3
_

=0
_
2
=0
(f(v

)f(v

) f(v)f(v

))
sin()
2
d
d
2
dv

avec
v

= (v + v

) +
[v v

[
2
(9.1)
v

= (v + v

)
[v v

[
2
(9.2)
avec le vecteur unitaire de R
3
parametre par les angles (, ), [0, [, [0, 2].
Dans ce cas precis, on sait que si la donnee initiale est f(0, v) =
2
3

[v[
2
e
|v|
2
pour
v R
3
, alors la solution est de la forme : f(t, v) = (a(t) + b(t)[v[
2
)e
(c(t)|v|
2
)
.
32
TD4 : Simulation numerique du transport avec collision
Exercice 8 Construire un programme qui resout avec une methode de type Bird lequation
de Boltzmann homog`ene ci-dessus, avec la donnee initiale ci-dessus.
Exercice 9 Montrer que les fonctions a, b et c verient
a(t) =
5
2
(
c(t)

)
3
2
(1 c(t))
b(t) = c(t)(
c(t)

)
3
2
(
5c(t)
2
1)
c(t) =
5
52e

t
6
et calculer le moment dordre 4 de la solution f
Exercice 10 Comparer les moments theorique et numerique de la fonction f.
33
TD4 : Simulation numerique du transport avec collision
34
Bibliographie
[1] B. Lapeyre, E. Pardoux R. Sentis, Methodes de Monte-Carlo pour les equations de
transport et de diusion, Springer, 1998
[2] D. Foata, A. Fuchs, Calcul des probabilites, Dunod
35

S-ar putea să vă placă și