Cours Monte Carlo Michel ROGER
Cours Monte Carlo Michel ROGER
Michel ROGER
Service de Physique de l’Etat Condensé
CEA Saclay
13 octobre 2008
2
Préface
1 Introduction 11
2 Calcul d’intégrales 13
2.1 Travail dirigé introductif : l’aiguille de Buffon . . . . . . . . . . . . . . . . . 13
2.1.1 Expérience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.2 Montrer que M/N “tend vers” 2L/(πD) . . . . . . . . . . . . . . . . 14
2.2 Calcul d’intégrales multidimensionnelles. . . . . . . . . . . . . . . . . . . . 17
3 Techniques d’échantillonnage 19
3.1 Génération de nombres “pseudo-aléatoires” . . . . . . . . . . . . . . . . . . 19
3.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.2 La méthode des congruences linéaires . . . . . . . . . . . . . . . . . 20
3.1.3 Le “test spectral” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.4 Suites de Fibonacci “retardées” . . . . . . . . . . . . . . . . . . . . . 26
3.1.5 Puis-je utiliser la fonction “RAND(), random(), ...” de mon ordinateur ? 27
3.2 Echantillonnage d’une loi de probabilité non uniforme . . . . . . . . . . . . 28
3.2.1 Méthode de transformation . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.2 Méthode de réjection de Von Neumann . . . . . . . . . . . . . . . . 32
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Chaı̂nes de Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3 Convergence vers une loi de distribution invariante imposée . . . . . . . . . 43
5.3.1 Echantillonnage de f (x) = e−βE(x) /Z . . . . . . . . . . . . . . . . . . 44
5.4 Algorithme de Metropolis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6 Le modèle d’Ising 47
6.1 L’Hamiltonien d’Ising . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.2 Modélisation par la méthode de Monte-Carlo . . . . . . . . . . . . . . . . . 47
6.3 Analyse des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.4 Evolution en fonction de la température . . . . . . . . . . . . . . . . . . . . 52
10 Optimisation 73
10.1 Méthode du “Recuit Simulé” (Simulated Annealing) . . . . . . . . . . . . . 73
10.2 “Recuit Parallèle” (Parallel Tempering) . . . . . . . . . . . . . . . . . . . . 73
11 Polymères 77
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
11.2 Modélisation de polymères . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
11.2.1 Modèle du “collier de perles” . . . . . . . . . . . . . . . . . . . . . . 77
11.2.2 Modèle du “Chapelet de ressorts” (String beads) . . . . . . . . . . . 78
11.3 Mouvements dans un algorithme de Metropolis . . . . . . . . . . . . . . . . 79
11.3.1 Reptation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
11.3.2 Mouvements de pivot . . . . . . . . . . . . . . . . . . . . . . . . . . 79
11.4 “Reconstruction biaisée” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
12 Monte-Carlo quantique 83
12.1 Monte-Carlo Variationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
12.2 “Diffusion Monte-Carlo” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
12.3 “Path Integral Monte-Carlo” . . . . . . . . . . . . . . . . . . . . . . . . . . 88
12.3.1 Valeur moyenne d’une grandeur physique . . . . . . . . . . . . . . . 88
12.3.2 La Matrice Densité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
12.3.3 Echantillonnage de ρ(R, R 0 ; β) . . . . . . . . . . . . . . . . . . . . . . 90
A travers cet exemple simple, nous allons revoir l’utilisation des notions et principaux
résultats de la théorie des probabilités : loi des grands nombres, théorème de la limite
centrale, convergences, estimation d’erreurs etc... fondamentales pour ce cours ! Un rappel
de toutes ces notions est effectué en annexe A.
2.1.1 Expérience
Chacun dispose d’une feuille de papier sur laquelle sont tracées des lignes équidistantes de
D et d’une aiguille de longueur L. Lancer l’aiguille N = 100 fois et compter le nombre M
de fois où celle-ci intercepte une ligne. Disposer dans un tableau les valeurs M i /N obtenues
par chacun des n étudiants. Calculer une estimation le la valeur moyenne globale :
i=n
1 X Mi
m=
n N
i=1
2 pour N=100 lancers
ainsi qu’une estimation de la variance σ N
i=n 2
2 1 X Mi
σN = −m
n−1 N
i=1
En déduire une valeur approchée du nombre π et en estimer la “précision” obtenue sur les
n répétitions des N lancers. .
En langage probabiliste :
– Lancer l’aiguille est une expérience aléatoire, elle est caractérisée par l’ensemble des
résultats possibles Ω constitué par toutes les positions possibles ω de l’aiguille sur la
feuille.
– Le fait de couper une ligne définit un événement aléatoire, représenté par le sous ensemble
A de résultats de Ω qui le réalisent.
14 Calcul d’intégrales
Pour chaque résultat ω de l’expérience on mesure l’angle 0 ≤ Θ(ω) < π entre la direction
de l’aiguille et celle des droites parallèles, et la distance 0 ≤ Y (ω) < D/2 du centre de
l’aiguille à la droite la plus proche. Θ et Y sont deux fonctions de Ω dans R, dont la valeur
dépend du résultat ω d’une expérience aléatoire. Ce sont donc deux variables aléatoires à
valeurs dans R.
On peut considérer que la loi de probabilité de Y est uniforme sur le segment [0, D/2]
(toute valeur de Y entre 0 et D/2 est équiprobable), c’est à dire :
2dy
dPY = P rob({y ≤ Y (ω) < y + dy}) =
D
et que la loi de distribution de Θ est elle-aussi uniforme sur [0, π] :
dθ
dPΘ = P rob({θ ≤ Θ(ω) < θ + dθ}) =
π
L
Y < sin Θ
2
Le décompte que nous opérons peut lui-même être représenté par une variable aléatoire
Z(ω) fonction des deux précédentes et à valeurs dans l’ensemble {0,1} :
L
Z(ω) = 1 si Y (ω) < sin Θ(ω) et 0 sinon
2
L’espérance E(Z) de la variable aléatoire Z(Y, Θ) est l’intégrale de Z(Y, Θ) par rapport
aux “mesures de probabilités” dPY , dPθ dans le pavé D à deux dimensions représenté sur
la figure 2.1 c’est à dire :
Z Z
I = E(Z) = Z(X, Θ)dPY dPΘ
D
soit :
dθ 2dy
Z Z
I = E(Z) = 1[y< L sin θ]
D 2 π D
où
1[y< L sin θ]
2
2.1 Travail dirigé introductif : l’aiguille de Buffon 15
D/2
0
0 θ π
Fig. 2.1 – L’angle θ est réparti uniformément sur le segment [0, π], la distance y à la ligne
la plus proche est répartie uniformément sur le segment [0, D/2]. La proportion de points
qui tombent sous la courbe mesure l’aire de la surface correspondante.
est la “Fonction Indicatrice” du sous ensemble de points du pavé D = [0, π][0, D] tels que
y < L2 sin θ.
On en déduit : π
dθ 2L
Z
I = E(Z) = L sin θ =
0 πD πD
Si on répête N fois l’experience et qu’on effectue la somme S N des N résultats (0 ou 1)
obtenus pour Z, alors SN définit une nouvelle variable aléatoire, somme de N variables
aléatoires indépendantes Z1 , Z2 , ..., ZN ayant la même loi de probabilité que Z :
SN = Z 1 + Z 2 + · · · + Z N
Alors la “loi forte des grands nombres” nous assure que S N /N converge “presque sûrement”
2L
vers l’espérance E(Z). C’est dans ce sens que le rapport M/N “tend” vers πD . Cette loi
ne nous dit rien sur la vitesse de convergence.
A titre anecdotique : Mario Lanzarini annonce en 1901 avoir calculé π = 3.1415929 en
lançant 3408 fois une aiguille de 2,5 cm sur un feuille de papier comportant des lignes
parallèles équidistantes de 3 cm. VRAI ou FAUX ?
Pour répondre à cette question, nous allons déterminer la “vitesse de convergence”, c’est à
dire estimer “l’erreur” :
SN
N = − E[Z]
N
16 Calcul d’intégrales
soit : Z Z n o2 dθ 2dy
2
E[Z ] = 1[y< L sin θ]
D 2 π D
qui peut s’écrire
π
dθ 2L
Z
2
E[Z ] = L sin θ =
0 πD πD
On a donc : s
2L 2L
σ= 1−
πD πD
En appliquant le théorème
√ de la limite centrale, nous déduisons, par exemple, que la prob-
N
abilité pour que σ |N | soit inférieur à 2 est égale à la probabilité pour qu’une variable
aléatoire gaussienne réduite X de loi
1 2
f (x) = √ e−x /2
2π
soit de module inférieur à 2, soit
2
1
Z
2
P rob(|X| < 2) = √ e−x /2 dx = 0.95
−2 2π
On définit ainsi un “intervalle de confiance à 95%” pour I :
SN 2σ SN 2σ
P rob −√ <I< +√ = 0.95
N N N N
2.2 Calcul d’intégrales multidimensionnelles. 17
σ = 0.499
√
avec N = 3408, il obtient avec une probabilité de 95% une erreur inférieure à 2∗0.499/ 3408 =
0.017 sur le nombre 2L/(πD) = 0.5305 soit une erreur relative inférieure à 3%. Il ne peut
donc estimer π qu’avec un seul chiffre significatif après la virgule... c’est un imposteur !
Pour l’expérience réalisée en cours, comparer votre ecart type experimentalement estimé à la
valeur théorique exacte. Avec le nombre total n.M de lancés effectués déduire “l’incertitude”
sur votre mesure de π.
Nous allons voir, sur un exemple : la méthode de Simpson, qu’il est par contre illusoire de
généraliser ces méthodes à un grand nombre de dimensions.
La méthode de Simpson à une dimension revient à couper l’intervalle d’intégration (que
nous supposerons [0,1]) en N segments infinitésimaux de longueur h = 1/N . Nous con-
sidérons un petit segment particulier, et par une translation nous recentrons l’origine au
milieu de cet intervalle. Dans ce nouveau système d’axes, nous approximons la fonction
Φ(x) par son développement de Taylor d’ordre deux :
∂Φ ∂ 2 Φ x2
Φ(x) = Φ(0) + x+ + O(x3 )
∂x ∂x2 2
et nous intégrons cette expression entre −h/2 et h/2. les trois premiers termes sont pris en
h/2
compte exactement. Le premier terme d’erreur d’ordre x 3 donne un terme en [x4 /4]−h/2 qui
s’annulle par symétrie. L’erreur provient donc de l’intégration du terme suivant en x 4 qui
donne une erreur d’ordre h5 . Le domaine d’intégration est divisé en N intervalles égaux,
de longueur h = 1/N l’erreur totale (N fois la précédente) est d’ordre N h 5 ≈ 1/N 4 .
A deux dimensions, on divise le pavé d’intégration [0,1]x[0,1] en N pavés élémentaires de
coté h = (1/N )1/2 . Dans un carré élémentaire, on recentre les axes sur le centre de ce carré
infinitésimal [−h/2, h/2][−h/2, h/2] et on approxime la fonction Φ(x, y) par un polynome
d’ordre 2 en x, y. L’erreur provient des termes d’ordre 3 et 4 négligés. Comme précédement
le terme d’ordre 3 donne une contribution nulle par symétrie. L’erreur provenant des termes
d’ordre 4 s’écrit :
4
1 X ∂ 4 Φ(x, y) h/2
Z Z h/2
4−α
dyy dxxα ≈ O(h6 )
4! α=0 ∂y 4−α ∂xα −h/2 −h/2
18 Calcul d’intégrales
Et à d dimensions, l’erreur dans une cellule élémentaire est d’ordre h 4+d . Si le nombre
de cellules (c’est à dire le nombre de points où on doit calculer la fonction) est N , on a
h = N 11/d et, par rapport à N , l’erreur totale est
1
N h4+d ≈ O
N 4/d
Lorsque d est grand, la convergence, en fonction du nombre N de points où la fonction est
évaluée (ce qui détermine le temps CPU) devient
√ très lente. Pour cette règle de Simpson,
la convergence devient plus lente que 1/ N lorsque d est supérieur à 8. Nous voyons
apparaı̂tre√ l’intérêt d’une méthode stochastique, où, comme nous allons le montrer, l’erreur
est en 1/ N quelle que soit la dimension d.
Il y a évidemment une infinité de possibilités (que nous exploiterons) pour une telle
décomposition. Nous pouvons donc réécrire :
Z
I = E[g(X)] = g(x)dP avec dP = f (x)dx (2.3)
tend vers I lorsque N → ∞,√ et le théorème de la limite centrale nous assure que l’erreur
(SN /N − I) est d’ordre 1/ N
Techniques
3 d’échantillonnage
“Anyone who consider arithmetical methods of producing random digits is, of course, in a
state of sin”.
John von Neumann (1951)
3.1.1 Introduction
Nous illustrerons ce conseil sur les deux algorithmes mathématiques les plus utilisés actuelle-
ment :
– La méthode des congruences linéaires
20 Techniques d’échantillonnage
a) Définition
Cet algorithme proposé par Lehmer[2] génère une suite de nombres entiers compris entre
0 et (m − 1) par la relation :
(a) (b)
5
13
2 12
11
15
8 6
9 1 9 1
14 0
3
7
4 10
5 13
Fig. 3.1 – (a) Congruence linéaire X n+1 = 5Xn + 1 [mod 16]. (b) Congruence linéaire
Xn+1 = 5Xn [mod 16].
3.1 Génération de nombres “pseudo-aléatoires” 21
on observe une alternance parfaite de nombres pairs et impairs. Dans une représentation
binaire des nombres obtenus, le dernier digit alterne entre 0 et 1 et n’a aucun caractère
aléatoire.
Nous retiendrons de cet exemple que pour engendrer une suite aléatoire de nombres 0
ou 1, il est fortement déconseillé d’utiliser un générateur de nombres entiers pour ne
conserver que le dernier digit. De même, dans le but de gagner du temps CPU, pour
obtenir, par exemple, deux nombres aléatoires de 16 digits on peut imaginer d’engendrer
un nombre de 32 digits puis former 2 nombres avec respectivement les 16 digits les plus
bas et les 16 les plus hauts. Ceci est fortement déconseillé : il faut engendrer deux nombres
de 32 digits dont on ne conservera que les 16 digits les plus hauts (généralement les plus
“aléatoires”)
– Exemple avec c=0 :
Par rapport à l’exemple précédent, on a juste changé la constante additive c. La suite
obtenue a une très courte période 4, et elle est très fortement corrélée puisque la différence
entre deux nombres successifs est 4.
Après cette illustration triviale de l’avertissement de Knuth, cité plus haut, nous allons
donner quelques règles simples pour le choix des paramètres m, a et c. La justification
de ces règles dépasse le cadre de cette introduction, nous renvoyons le lecteur au livre de
Knuth[1] pour la démonstration des théorèmes énoncés.
b) Choix du module m
– Le module m constituant une borne supérieure à la période, on a intérêt à le prendre le
plus grand possible, par exemple on peut choisir le plus grand entier représenté sur la
machine. Pour une machine 32 bits, en langage Fortran, on peut prendre m = 2 31 (le
32ieme ) digit étant réservé au signe. En langage C, on pourra prendre 2 32 en travaillant
avec des entiers positifs (“unsigned int”).
– Avantages et inconvenients à prendre pour m une puissance de 2 :
Si m = 2α , l’opération “modulo m” sur ordinateur devient très rapide, elle correspond
à retenir les α derniers digits du nombre considéré, on la réalise avec un masque et une
opération binaire “AND”. On évite une coûteuse division. De même, il n’y a pas à se
soucier de dépassement éventuel de l’entier maximal représenté lors de la multiplication
de a par Xn , dans ce cas la machine conserve les 32 derniers digits du résultat de la
multiplication et jette le reste.
Par contre, si m = 2l est une puissance de 2, on montre[1] que les l derniers digits de
Xn ont une période inférieure ou égale à 2 l . (Dans l’exemple de la Figure 1a, les deux
derniers digits parcourent le cycle 01, 10, 11, 00 )
– Knuth montre, qu’on peut encore programmer de manière efficace l’opération “modulo
m” lorsque m = 2α − 1 ou m = 2α + 1. Par contre, dans ce cas, les digits les plus bas
sont “aussi aléatoires” que les plus hauts. Ce choix est donc préférable.
c) Choix du facteur multiplicatif a
Le module m étant fixé, il convient de choisir a de manière à obtenir la plus grande période
22 Techniques d’échantillonnage
(inférieure ou égale à m). Ceci n’est pas suffisant pour avoir un bon générateur de nombres
quasi-aléatoires. Il faudra encore passer avec succès un certain nombres de tests statistiques
dont les pricipaux ont été recommandés par Knuth.
Nous énonçons deux théorèmes dont les démonstrations figurent dans le livre de Knuth[1].
Théorème A
La période de la congruence linéaire définie par {m, a, c, X 0 } est m, si et seulement si les
trois conditions suivantes sont simultanément vérifiées :
Théorème B
Lorsque c = 0, la période est toujours strictement inférieure à m.
Si
m = 2α pβ1 1 · · · pβr r (3.2)
où les p sont des nombres premiers, distincts, impairs, la période maximale possible est le
plus petit multiple commun de :
où
On obtient la période maximale si les trois conditions suivantes sont simultanément vérifiées :
β β
i) an 6= 1[mod pj j ] pour 0 < n < λ(pj j )
ii) a = 1 [mod 2] si α = 1
a = 3 [mod 4] si α = 2
a = 3 ou 5 [mod 8] si α = 1
iii) X0 et m sont premiers entre eux
3.1 Génération de nombres “pseudo-aléatoires” 23
Parmi les nombreux tests statistiques qui permettent de s’assurer du caractère aléatoire des
nombres générés par un algorithme numérique [1], nous avons choisi le test spectral, non
seulement parce qu’il peut être illustré graphiquement, mais parce qu’il apparait comme
l’un des test les plus forts. Un mauvais algorithme peut passer avec succès un certain
nombre de test statistiques, excepté celui-ci.
Le test spectral examine les correlations entre k nombres consécutifs {X n+1 , Xn+2 , · · · , Xn+k },
fournis par un algorithme.
Même si un algorithme de congruence linéaire fournit des nombres individuellement “quasi-
aléatoires”, les k − uples de nombres consécutifs sont loins d’être exempts de corrélations !
Si {Xn+1 , Xn+2 , · · · , Xn+k } représentent les coordonnées d’un point P n dans un espace à k
dimensions, alors les points Pn se répartissent sur des hyperplans à n − 1 dimensions et on
montre [3] qu’il y a au plus m1/k tels plans (mais il peut y en avoir beaucoup moins !...).
Reprenons le même exemple de la Figure 3.1a, et reportons sur un plan les coordonnées
des doublets (1,6), (6,15), (15,2) etc... . Les points obtenus se répartissent sur 4 lignes (Fig.
3.2). Puisque m = 16 = 24 , on en attend au plus 24/2 = 4 lignes.
Si on considère, non pas la suite des entiers X n , mais les réels Un = Xn /m appartenant
à [0, 1[, pour les k − uples consécutifs P n = (Un+1 , Un+2 , · · · , Un+k ) représentés par des
points d’un hypercube à k dimensions de coté [0,1], la distance maximale entre hyperplans
15.0
10.0
5.0
0.0
0.0 5.0 10.0 15.0
Fig. 3.2 – Corrélations entre paires pour la congruenc linéaire : X n+1 = 5Xn + 1 [mod 16].
24 Techniques d’échantillonnage
Même pour des générateurs de nombres quasi-aléatoires relativement satisfaisant, des cor-
rélations existent, mais à une échelle plus petite. L’une de bibliothèques mathématiques
les plus utilisées : IMSL, propose un algorithme de congruence linéaire avec c = 0, a = 7 5
et m = 231 − 1. Ici, a est suffisamment faible pour que la multiplication par a puisse être
implémentée de manière efficace. Les corrélations entre triplets (Fig. 3.4) n’apparaissent
qu’à une échelle 100 fois plus faible.
Knuth donne un tableau des νk , k = 2 à 6 pour une trentaine d’algorithmes dont ceux
Fig. 3.3 – Corrélations entre triplets représentées dans un cube [0,1]x[0,1]x[0,1] pour la
congruence linéaire Xn+1 = (216 + 3)Xn [mod 232 ]
3.1 Génération de nombres “pseudo-aléatoires” 25
décrits ci-dessus.
Pour briser ces corrélations, une technique appelée “shuffling” (traduction : “battre les
cartes”) peut être utilisée. L’algorithme correspondant est simple [1, 3] et consomme peu
de temps CPU. Il consiste à garder constamment en mémoire un tableau des derniers p
nombres tirés et les permuter aléatoirement en fonction de nouveaux nombres tirés au
hasard par un autre algorithme.
La bibliothèque IMSL propose l’algorithme précédemment cité avec shuffling superposé. Le
coût supplémentaire en temps CPU est de l’ordre de 50%, mais les corrélations (Fig. 3.5)
disparaissent.
Les nombres k et l sont appelés “lags” (i.e “retards” ou “décalages”) On montre que si
m = 2α est une puissance de deux, et si l et k sont tels que le trinome :
xk + x l + 1
est un polynome premier (i.e. n’a aucun autre polynome diviseur que lui-même ou une
constante) dans le corps des entiers modulo 2, alors la période est 2 α−1 (2k − 1) (k > l) et
le nombre de cycles différents est 2 (k−1)×(α−1)
Les couples de “lags” (24,55), (38,89), (37,100), (30,127), (83,258) satisfont cette pro-
priété[1, 5].
Pour k et l suffisament grands, tous les test statistiques s’avèrent en général excellents, bien
supérieurs aux résultats des congruences linéaires. Cette méthode présente de nombreux
avantages :
– Calcul rapide, puisqu’il n’y a pas de multiplication et si m = 2 α , l’opération “modulo
m” s’effectue par un cache et une opération binaire AND.
– La période peut être très longue.
3.1 Génération de nombres “pseudo-aléatoires” 27
Les performances statistiques sont encore meilleures, mais au prix d’un accroissement du
temps CPU.
Enfin, on peut encore utiliser des algorithmes hybrides en associant cette méthode et celle
des congruences linéaires :
1 + a 1 x + a 2 x2 + · · · + a k xk
doit être un polynome premier dans le corps des entiers modulo 2 (cf. les travaux de
Tausworthe[6])
La réponse dans les années 80 était dans la plupart des cas négative et à cette époque, bon
nombre de calculs stochastiques publiés étaient erronnés par suite de l’usage de générateurs
de nombres peu aléatoires !
Les choses on maintenant évolué. Sur les stations 32 bits, la plupart des constructeurs
fournissent un choix de générateurs de nombre quasi-aléatoires dont certains sont satis-
faisants (mais il faut encore se méfier -cf. fonction RANDU(), qui, malgré ses performances
pitoyables n’a pas encore complètement disparu-).
Quelquefois on a accès à une notice détaillée sur le ou les générateurs de nombres aléatoires
proposés avec description de l’algorithme utilisé et résultats de test statistiques (ceux
préconisés par Knuth).
28 Techniques d’échantillonnage
Dans le cas de générateurs “boite noire”, il est prudent de se livrer soi même à quelques
tests (ex : test spectral) avant de faire un choix.
L’avantage à utiliser un générateur de nombre aléatoires fourni par le constructeur est
que l’algorithme est programmé en langage machine en tenant compte de son architecture
spécifique. Le même algorithme, programmé en langage évolué (Fortran, C...) serait plus
lent.
Par contre, si on souhaite qu’un programme soit portable et donne exactement les mêmes
résultats, quelle que soit la machine, on peut programmer soi-même l’algorithme.
Les bibliothèques IMSL et NAG contiennent actuellement de bon sous-programmes de
génération de nombres aléatoires.
Changement de variable
Soit X une variable aléatoire réelle possédant la densité de probabilité f (x). Soit Ψ(x) une
fonction réelle, monotone croissante, continue et dérivable.
3.2 Echantillonnage d’une loi de probabilité non uniforme 29
Y = Ψ(X)
Nous allons montrer que la variable aléatoire Y possède une densité de probabilité g(y) que
nous allons expliciter.
mais puisque Ψ(x) est une fonction monotone croissante, elle réalise une bijection et le
premier membre de cette égalité peut aussi s’ecrire :
dΨ(x)
P ({Ψ(x) < Y < Ψ(x + dx)}) = P ({Ψ(x) < Y < Ψ(x) + dx})
dx
dΨ(x)
En notant y = Ψ(x) et dy = dx dx
x = Ψ−1 (y)
On a
dy dΨ−1 (y)
dx = dΨ(x)
= dy
dy
dx
d’ou le résultat final
dΨ−1 (y)
P ({y < Y < y + dy}) = f (Ψ−1 (y)) dy
dy
Ce qui prouve que Y admet une densité de probabilité g
dΨ−1 (y)
g(y) = f (Ψ−1 (y))
dy
dΨ−1 (y)
g(y) = −f (Ψ−1 (y)) (3.8)
dy
Ce type de transformation peut se généraliser pour des variables aléatoires à valeurs dans
Rd . Elle fait intervenir un Jacobien.
30 Techniques d’échantillonnage
Z x
F (x) = f (u)du
−∞
Par construction, la fonction de répartition F est positive, monotone, croissante, de dérivée :
dF (x)
= f (x) (3.9)
dx
Elle varie entre F (−∞) = 0 à F (∞) = 1
La function F (x) admet donc pour 0 ≤ y ≤ 1 une fonction inverse F −1 (y) ayant pour
dérivée
dF −1 (y) 1 1
= = −1
dy f (x) f (F (y))
Et la densité de probabilité g(y) de la variable aléatoire Y = F (X) s’écrit donc :
f (F −1 (y))
g(y) = =1 0≤y≤1
f (F −1 (y))
Quelques exemples
loi exponentielle
La loi exponentielle de densité de probabilité :
intervient souvent en physique, elle régit le temps qui sépare deux désintégrations succes-
sives d’un élément radioactif. Sa fonction de répartition est :
Z x
F (x) = λ exp(−λu)du = − [exp(−λu)] u0 = 1 − exp(−λx)
0
3.2 Echantillonnage d’une loi de probabilité non uniforme 31
y = 1 − exp(−λx)
en
exp(−λx) = 1 − y
soit
x = −Ln(1 − y)/λ
Donc on tire un nombre η uniformément dans l’intervalle [0, 1] et les nombres x = −Ln(1 −
η)/λ sont répartis suivant une loi exponentielle.
loi gaussienne
La loi gaussienne a pour densité :
x2
1
f (x) = √ exp − 2
2πσ 2 2σ
sa fonction de répartition :
x
u2
1
Z
F (x) = √ exp − 2
2πσ 2 −∞ 2σ
s’exprime à l’aide de la fonction “erreur”, qui elle même n’admet pas de fonction inverse
analytique. On va donc devoir utiliser une astuce.
Il s’avère qu’il est plus simple de tirer un couple (X 1 , X2 ) de deux variables aléatoires
gaussiennes indépendantes.
Puisque X1 et X2 sont deux variables aléatoires indépendantes, la densité de probabilité
du couple (X1 , X2 ) est le produit f (x1 )f (x2 ) des densités de probabilité de chacune des
deux variables aléatoires. C’est à dire que :
2
x1 + x22 dx1 dx2
P ({x1 < X1 < x1 + dx1 } ∩ {x2 < X2 < x2 + dx2 }) = exp −
2σ 2 2πσ 2
En coordonnées polaires :
x1 = ρ cos θ
x2 = ρ sin θ
dx1 dx2 = ρdρdθ
le second membre s’écrit :
ρ2
ρ dθ
exp − 2 2
dρ
2σ σ 2π
c’est à dire que pour échantillonner deux variables aléatoires gausiennes indépendantes, on
peut :
32 Techniques d’échantillonnage
ρ2
ρ
h(ρ) = exp − 2
2σ σ 2
les deux nombres x1 = ρ cos θ et x2 = ρ sin θ seront répartis suivant des distributions
gaussiennes indépendantes.
Echantillonner ρ suivant la loi de probabilité h(ρ) est facile. La fonction de répartition
correspondante est :
Z ρ ρ
u2 u2 ρ2
u
F (ρ) = exp − 2 du = − exp − 2 = 1 − exp − 2
0 2σ σ2 2σ 0 2σ
d’où p
ρ= −2σ 2 Ln(1 − r)
Donc on tire r uniformément sur le segment [0, 1] et le nombre ρ obtenu par la transforma-
tion précédente apparait avec la densité de probabilité h(ρ).
Pour les cas où la fonction de répartition n’admet pas d’inverse qui puisse s’exprimer de
manière analytique, il nous reste une méthode qui coûte plus cher en tant de calcul, mais
qui s’applique de manière tout à fait générale.
νM (x)dx ˜ f (x)dx
tend vers : f(x)dx = R xmax
M xmin f (x)dx
Concrètement :
– La valeur une valeur de x est “tirée” suivant une loi uniforme sur le segment [xmin, xmax]
3.2 Echantillonnage d’une loi de probabilité non uniforme 33
Fmax
f(x)
xmin xmax
Fig. 3.6 – Méthode de réjection de Von Neuman
Choisissons arbitrairement une fonction f (x) ayant les propriétés d’une densité de proba-
bilité, c’est à dire positive et telle que
Z
dxf (x) = 1
En définissant :
Φ(x)
g(x) =
f (x)
L’intégrale sécrit : Z
I= g(x)dP avec dP = f (x)dx (4.2)
D’après la loi forte des grands nombres (Annexe A), la “moyenne expéri-mentale” :
y1 + y 2 + · · · + y N g(x1 ) + g(x2 ) + · · · + g(xN )
= avec yi = g(xi )
N N
converge “presque sûrement” vers I lorsque N → ∞.
Si σg2 représente la variance de la variable aléatoire g(X) :
Z 2
Φ(x)
Z
2 2
σg = [g(x) − I] f (x)dx = − I f (x)dx (4.3)
f (x)
alors la variance de la variable aléatoire S N /N est σg2 /N (cf. Annexe A), et l’écart type
√ √
σg / N qui caractérise l’erreur décroı̂t en 1/ N .
Nous allons maintenant mettre à profit le caractère arbitraire dans le choix de la densité
de probabilité f pour réduire la variance, donc l’erreur.
Il est toutefois illusoire d’essayer d’annuller la variance. Ceci ne peut se faire que si Φ(x)/f (x) =
I dans la relation précédente, mais pour cela il faut connaı̂tre I, c’est à dire avoir résolu le
problème !
Nous allons d’abord illustrer l’optimisation du choix de f sur un exemple à une dimen-
sion et nous reprendrons celui proposé par Hammersley et Handscomb dans leur ouvrage
introductif aux méthodes de Monte-Carlo[7].
Le premier choix qui vient à l’esprit pour la densité de probabilité f u (x) est la loi uniforme
sur le segment [0, 1] :
fu (x) = 1 si x ∈ [0, 1] et f (x) = 0 sinon.
La fonction choisie est intégrable analytiquement, on a I=0.836... et l’écart-type :
s
Z 1
u
σg = (Φ(x) − I)2 dx = 0.5726
0
4.2 Réduction de la variance 37
3.0
φ(x)
2.0
fl(x)
fu(x)
1.0
0.0
−1.0
−0.5 0.0 0.5 1.0 1.5
Fig. 4.1 – Trait plein : fonction Φ(x) à intégrer entre 0 et 1. Tirets : densité de probabilité f u
uniforme. Traits mixtes : une densité de probabilité f l simple réalisant un échantillonnage
suivant l’importance.
Ce premier choix n’est pas très astucieux, car en “tirant” des points avec une loi uniforme,
on a la même densité de points vers x = 0 où la fonction est faible que vers x = 1 où elle
est maximale. On a plutôt intérêt à choisir une loi de probabilité qui donne une densité de
points “tirés” plus importante là où la fonction est maximale, d’où l’idée “d’échantillonnage
suivant l’importance”.
qui est beaucoup plus proche de la fonction Φ(x) que le choix précedent. Alors l’écart type
est : s
Z 1
l Φ(x)
σg = ( − I)2 2xdx = 0.1048
0 2x
38 Echantillonnage suivant l’importance.
soit 5.49 fois plus faible. On obtiendra donc la même précision avec 5.49 2 = 30 fois
moins de points soit seulement N = 630. Cet exemple à une dimension reste toutefois
académique, dans la mesure où une méthode de Gauss à 5 points donne une précision
nettement supérieure !
L’échantillonnage suivant l’importance devient par contre spectaculaire pour des intégrales
à grand nombre de dimensions. Pour rester dans le cadre de calculs que l’on peut encore
faire analytiquement, généralisons l’exemple précédent à d dimensions en prenant sur R d
(cf. Negele et Orland[8]) :
que nous intégrons sur un hypercube [0, 1] × [0, 1] × · · · × [0, 1] Et prenons pour densité de
probabilité le produit :
f (α1 )f (α2 ) · · · f (αd )
Du fait de la séparabilité de l’intégrale, on obtient aisément la valeur de l’intégrale à d
dimensions : Id = I d ainsi que la variance :
d Z
" d Z #2
Φ(αi ) 2
Y Y
σd2 = f (αi )dαi − f (αi )dαi
f (αi )
i=1 i=1
soit :
σd2 = (σg2 + I 2 )d − I 2d
σd2 σg2
= ( + 1)d − 1
Id2 I2
σdu
≈ 1.4691d/2
Id
avec σgl = 0.1048 pour un echantillonnage suivant l’importance (loi linéaire) on a, pour d
grand
σdl
≈ 1.0157d/2
Id
Pour d = 100, ce qui reste modeste pour un calcul Monte-Carlo, on améliore l’écart-type,
donc l’erreur statistique, d’un facteur
(1.469/1.016)50 ≈ 108
Pour fixer les idées, pour obtenir l’intégrale à d=100 dimensions, dans un intervalle de
confiance à 95%, avec un précision relative de 1%, il nous faut, avec la loi uniforme un
nombre N tel que :
2 ∗ 1.46950
√ = 0.01
N
soit N = 2 ∗ 1021 points. Et pour la même précision, il ne nous faudra avec la loi linéaire
que N = 2 ∗ 1021 /1016 = 2 ∗ 105 points
Pour fixer les idées, en supposant qu’avec un Pentium 4, cadencé à 3 GHz, le “tirage” d’un
point x et le calcul de Ψ(x) nécessite 300 cycles. L’échantillonnage avec N = 2 × 10 21
points nécessiterait 2 × 1014 s, soit six millions d’années.
Avec un échantillonnage suivant l’importance élémentaire, on obtient le même résultat en
vingt millisecondes !...
40 Echantillonnage suivant l’importance.
Simulation de systèmes
5 statistiques
5.1 Introduction
La valeur moyenne de toute grandeur O(x) associée à l’état x (par exemple, l’énergie
O(x) = E(x) est définie par :
R
O(x) exp[−E(x)/(kB T )]dx
< O >= (5.1)
Z
L’intérêt de la méthode de Monte-Carlo, avec “échantillonnage suivant l’importance” pour
le calcul de l’intégrale multidimensionnelle 5.1 est immédiat :
– Si on est capable d’engendrer un ensemble de configurations x correspondant à une
variable aléatoire X, à valeurs dans R d ayant pour densité de probabilité :
exp[−E(x)/(kB T )]
(5.2)
Z
– Alors la valeur moyenne < O > de la grandeur physique O(x) apparaı̂t comme l’espérance
de la variable aléatoire O(X).
Le problème crucial est que l’on ignore dans l’expression de la densité de probabilité 5.2 la
valeur de la constante de normalisation Z, c’est à dire la fonction de partition ! On pourrait
éventuellement s’en sortir en utilisant la méthode de réjection de Von Neumann, mais dans
ce problème à très grand nombre de dimensions, cette méthode s’avère tout à fait inefficace.
Une méthode élégante et efficace a été proposée par Métropolis. Elle construit un ensemble
de configurations suivant la densité de probabilité 5.2, à partir des états successifs d’une
chaı̂ne de Markov ayant atteint sa distribution d’équilibre.
5.2.1 Définition
Une suite infinie ordonnée (X1 , X2 , · · · , Xt , · · · ) de variables aléatoires constitue une chaı̂ne
de Markov si la loi de probabilité conditionnelle de X t+1 lorsqu’on se donne les valeurs de
X1 , X2 , ...,Xt , se réduit à la loi de probabilité conditionnelle de X t+1 lorsqu’on se donne
seulement la valeur de Xt .
[t désigne ici un entier naturel, faisant référence à un temps discrétisé]
Remarque importante : pour une suite ainsi définie, la connaissance du passé influe sur
l’avenir ; mais, d’un ensemble d’événements passés, seule subsiste l’influence du plus récent.
Si l’on se donne Xt , la connaissance de Xt0 pour t0 > t n’est en rien précisée par la donnée
des valeurs de Xt−1 , Xt−2 , ...,X1 .
Nous nous restreindrons aux Chaı̂nes de Markov “homogènes” où la loi de probabilité
conditionnelle de Xt+1 lorsqu’on se donne la valeur de Xt ne dépend pas de t. Alors la
chaı̂ne de Markov est entièrement déterminée par cette loi de probabilité conditionnelle
appelée “loi de transition” et par la loi de probabilité initiale de la variable aléatoire X 1 .
5.3 Convergence vers une loi de distribution invariante imposée 43
Nous supposerons aussi que la loi de probabilité conditionnelle de X t+1 lorsqu’on se donne
la valeur de Xt possède la densité de probabilité p(y/x),
Et nous noterons :
p(y/x) = p(x → y)
Comme toute densité de probabilité, la fonction p(y/x) = p(x → y) satisfait quel que soit
x à la condition de normalisation :
Z Z
p(y/x)dy = p(x → y)dy = 1 (5.4)
Au cours des rappels de théorie des probabilités (Annexe B), nous avons montré, dans le cas
de chaı̂nes de Markov à valeurs dans un ensemble discret, que lorque la chaı̂ne de Markov
possède la propriété d’ergodicité, c’est à dire que pour tout couple d’états discrets (a i , aj ),
il existe une probabilité non nulle de passer de l’un à l’autre après n pas, alors cette chaı̂ne
converge vers une loi de distribution invariante unique.
Nous admettrons que ce résultat reste vrai dans le cas continu : si pour tout couple d’état
(x, y) il existe une probabilité non nulle de passer de l’un à l’autre en un nombre fini
d’étapes n, alors il y a convergence vers une loi de distribution invariante unique.
Il nous reste alors à imposer une condition à la loi de transition p(y/x) = p(x → y) pour
que cette loi de distribution invariante limite soit :
exp[−E(y)/(kB T )]
f (y) =
Z
Théorème
– Si “la loi de transition” p(x → y) est ergodique, c’est à dire que pour tout couple d’états
(x, y) il existe une probabilité non nulle de passer de l’un à l’autre en n étapes [–donc
tous les états sont “visités”–]
– si p(x → y) satisfait à la condition “de microréversibilité”
Cette condition de microréversibilité est encore appelée principe du bilan détaillé par
réference à l’équation maı̂tresse et au principe du bilan détaillé qui en découle en ther-
modynamique (cf. Annexe C)
Alors la loi de distribution de la chaı̂ne de Markov correspondante converge vers une dis-
tribution invariante qui est proportionnelle à f (x).
44 Simulation de systèmes statistiques
Preuve :
Puisque la chaı̂ne de Markov est ergodique, nous savons que sa loi de distribution converge
vers une distribution invariante et que cette distribution invariante est unique. Il nous suffit
donc de montrer que la distribution f (x) est invariante par rapport à la loi de transition
p(x → y).
Si “à l’instant t”, Xt est distribuée suivant la loi π t (x) = f (x), alors, en vertu de l’équation
de Chapman-Kolmogorov B.3, “à l’instant (t + 1)”, X t+1 est distribuée suivant la loi de
probabilité :
Z
π t+1 (x) = duf (u)p(u → x)
Si p(u → x) satisfait la relation du bilan détaillé 5.5, la relation précédente peut encore
s’écrire : Z Z
t+1
π (x) = duf (x)p(x → u) = f (x) dup(x → u)
Etant donnée une chaı̂ne de Markov de loi de transition p(y → x), nous allons “échantillonner”
une suite de points {x1 , x2 , · · · , xt , · · · } (xi ∈ Rd ) suivant cette chaı̂ne, i.e. : xt ayant été
obtenu, le point suivant xt+1 est “tiré” suivant la loi de probabilité p(x t → xt+1 ).
Si p(xt → xt+1 ) satisfait la relation 5.5 du bilan détaillé, avec f (x) = e −βE(x) /Z, c’est à
dire : " #
e−βE(xt ) e−βE(xt+1 )
p(xt → xt+1 ) − p(xt+1 → xt ) = 0
Z Z
alors après un certain “temps d’équilibre”, c’est à dire pour n > N (N suffisamment grand)
les xt sont distribués suivant la densité de probabilité e −βE /Z.
L’algorithme le plus utilisée pour engendrer une chaı̂ne de Markov qui satisfasse le principe
du bilan détaillé a été proposé par Metropolis et al.[9].
Il nous reste à verifier que cette probabilité p(x → y) satisfait effectivement l’équation du
bilan détaillé.
la relation
p(y → x)e−βE(y) = p(x → y)e−βE(x)
est bien vérifiée.
La vérification pour le cas E(y) ≤ E(x) est analogue.
46 Simulation de systèmes statistiques
6 Le modèle d’Ising
Nous allons “expérimenter” l’algorithme de Metropolis sur un modèle simple, dont les
propriétés thermodynamiques sont déjà d’une extrême richesse.
La première somme est effectuée sur toutes les paires distinctes de premiers voisins.
Nous nous limiterons, en Travaux Pratiques au cas où l’induction magnétique est nulle
B = 0.
-0.5
Energie -0.6
-0.7
-0.8
-0.9
0 10 20 30 40 50 60 70 80 90 100
(nb de pas Monte-Carlo)/N
0.5
aimantation par spin
-0.5
-1
0 20 40 60 80 100
(nb de pas Monte-Carlo)/N
(Chaque itération est repérée par la variable discrète t, t eq correspond au nombre d’itérations
au bout desquelles on estime avoir atteint l’équilibre et t max correspond au nombre total
d’itérations).
On peut estimer un intervalle de confiance pour cette valeur moyenne en calculant l’écart
quadratique moyen :
sP
tmax
t=teq (m(t)− < m >)2 p
σ= = < m2 > − < m > 2
tmax − teq
Mais le théorème de la limite centrale suppose que les (t max − teq ) mesures de m sont
indépendantes, ce qui n’est pas vrai. Ayant fait une mesure, il nous faut estimer le “temps”
6.3 Analyse des résultats 51
autocorrelation
0.1
0 5 10 15 20 25
(nb de pas Monte-Carlo)/N
τ (i.e. nombre d’itérations Monte-Carlo) qu’il faut attendre pour obtenir une nouvelle
mesure indépendante de la première.
Ceci peut être chiffré en calculant une “fonction d’autocorrélation”. Pour l’aimantation par
site, cette fonction est :
Z
χ(t) = dt0 [m(t0 )− < m >][m(t0 + t)− < m >]
soit Z
χ(t) = dt0 [m(t)m(t0 + t)− < m >2 ]
tmax
X−t
1
χ(t) = m(t0 )m(t0 + t)
tmax − t
t0 =0
tmax
X−t tmax
X−t
1 1
− m(t0 ) × m(t0 + t) (6.2)
tmax − t tmax − t
t0 =0 t0 =0
qui correspond à une discrétisation de l’intégrale précédente. Dans les mêmes conditions
que pour les figures précédentes (kT /J = 3), on obtient le χ(t)/chi(0), représenté sur la
figure 6.4, en échelle semi logarithmique.
52 Le modèle d’Ising
2
aimantation <m> et chaleur specifique Cv
1.5
0.5
0
0 0.5 1 1.5 2 2.5 3
Temperature: kT/J
Fig. 6.5 – Aimantation moyenne par site et chaleur specifique par site en fonction de la
température
6.4 Evolution en fonction de la température 53
pour l’aimantation moyenne et pour la chaleur spécifique les courbes représentées sur la
figure 6.5.
On observe une transition de phase vers un état complètement ordonné à kT /J ≈ 2.3. On
constate que l’erreur, en particulier sur la chaleur specifique est d’autant plus grande que
l’on s’approche de la transition. La raison est que lorsqu’on s’approche de la transitions, les
“longueurs de corrélation” qui se traduisent par la taille des domaines ordonnés à courte
distance divergent. Notre algorithme “local” n’est plus adéquat.
Ce phénomène est appelé “ralentissement critique”
54 Le modèle d’Ising
Utilisation de biais.
7 Algorithme de Wolff
Définition de l’amas
1. On choisi un des N sites toujours suivant une loi uniforme comme premier site de
l’amas.
2. On regarde successivement ses 4 voisins. Tout voisin qui a la même orientation de
spin, est ajouté à l’amas avec une probabilité P (P est un nombre entre 0 et 1 fixé
une fois pour toutes).
3. On regarde les voisins des nouveaux spins ajoutés à l’amas à l’étape précédente et
qui n’appartiennent pas à l’amas. Tous ceux qui ont la même orientation que l’amas
sont ajoutés à l’amas avec la probabilité P
4. On réitère l’étape précédente
5. On s’arrête lorsqu’à une certaine étape on n’a rien rajouté à l’amas.
Retournement de l’amas
La configuration y est celle obtenue à partir de x en retournant en bloc tous les spins de
l’amas (cf. exemple de la Fig. 7.1).
pacc (x → y) = pacc (y → x) = 1
Fig. 7.1 – Choix d’un amas de la configuration de départ x (à gauche) et retournement
des spins de l’amas pour une nouvelle configuration d’essai y (à droite).
58 Utilisation de biais. Algorithme de Wolff
Applications à la physique
8 médicale
8.1 Introduction
A un instant donné, un photon individuel est caractérisé par sa position r dans l’espace
(trois variables), sa direction d̂ (vecteur unitaire defini par deux variables indépendantes)
et son énergie E.
Entre deux collisions, le photon conserve sa direction et son énergie. Le parcours du photon
sera donc caractérisé par un ensemble discret d’états {r n , d̂n , En } représentant sa position,
sa direction son énergie juste après une interaction (“collision”) avec une particule du milieu
dans lequel il évolue.
La première étape de la simulation est bien sûr de définir létat initial {r 0 , d̂0 , E0 } du photon.
Ces variables initiales seront sélectionnés suivant une densité de probabilité représentant la
source de rayonnement.
S(r0 , d̂0 , E0 )
Supposons que la trajectoire d’un photon ait été simulée jusquà l’état {r n , d̂n , En } juste
après la nieme collision. Le photon va continuer son chemin en ligne droite le long de la
direction donnée par le vecteur unitaire d̂n en parcourant une distance s puis subir une
(n + 1)ieme collision au point :
rn+1 = rn + sd̂n
Comment choisir cette distance aléatoire s ? Nous allons montrer que s est une variable
aléatoire de densité de probabilité :
1
p(s) = exp(−s/λ)
λ
Nous considérons un milieu homogène constitué de molécules de section efficace σ. Le
nombre de molécules par unité de volume est N .
La probabilité d’interaction, c’est à dire de rencontre d’une molécule lorsque le photon
parcourt un petit chemin ds est indeépendante de la position r et de l’orientation d̂ de
sa trajectoire. Elle est simplement proportionnelle à la longueur du chemin élémentaire
parcouru ds soit :
ds
λ
où λ est une constante —que nous préciserons par la suite— qui ne dépend que du milieu
homogène considéré.
Soit p(s) la densité de probabilité correspondant à la loi de probabilité de la longueur s du
chemin parcouru entre deux collisions.
8.4 Modélisation d’une trajectoire 61
ds
p(s)ds = F(s)
λ
soit ∞
ds
Z
p(s)ds = p(u)du
λ s
dp(s) 1
= − p(s)
ds λ
p(s) est donc exponentielle : p(s) = A exp(−s/λ). La constante A est déterminée par la
normalisation : Z ∞
p(s)ds = 1
0
Ce qui impose :
1
p(s) = exp(−s/λ)
λ
Il est immédiat de vérifier que l’on a :
Z ∞
s p(s)ds = λ
0
λ = 1/(N σ)
1 s
Z
η = F (s) = exp(−u/λ)du = 1 − exp(−s/λ)
λ 0
62 Applications à la physique médicale
Donc concrètement on tire des nombres η i suivant la loi uniforme sur le segment [0,1], et
les nombres
si = −λ ln(1 − ηi )
puisque si η est réparti uniformément sur le segment [0,1], alors 1 − η l’est aussi.
Il nous reste à échantillonner le nouveau vecteur directeur d̂n+1 après l’interaction suivante
et la nouvelle énergie. Ceci va dépendre du type d’interaction.
dn+1
φ
dn θ
Fig. 8.1 –
8.5 Interaction photon-matière 63
autour de la direction donnée par {θ, φ} est, dans le cadre de l’approximation de Born :
1 + cos2 θ 2
dσRayleigh = re2 F (q, Z)dΩ
2
q = |~q| est le module du transfert de moment :
q~ = ~kn+1 − ~kn
où ~kn et ~kn+1 sont respectivement les vecteurs d’onde incident et diffusés de directions d̂n
et d̂n+1 et de même module :
|~kn | = |~kn+1 | = E/c
(c est la vitesse de la lumière). On a donc, en fonction de E et θ :
q = 2(E/c) sin(θ/2)
re est le rayon de Bohr de l’électron et F (q, Z) est le facteur de forme de l’atome, c’est à
dire la transformée de fourier de sa densité électronique ρ(~r). Pour un atome de symétrie
sphérique, on a : Z ∞
sin(qr/~) 2
F (q, Z) = 4π ρ(r) r dr
0 qr/~
Pour échantillonner θ suivant la densité de probabilité correspondant à la “section efficace
de diffusion” dσRayleigh /dΩ exprimée ci dessus, on aura en général recours à la méthode de
réjection de Von Neumann.
Dans une diffusion de Compton, un photon d’énergie E n interagit avec un électron d’un
atome. Le photon transfère une partie de son énergie à l’électron qui est alors éjecté de
l’atome. Le photon est alors diffusé suivant les angles {θ, φ} par rapport à la direction
incidente d̂n avec une énergie En+1 < En . L’angle azimutal φ est, ici aussi, distribué
uniformément sur le segment [0, 2π].
Nous nous restreindrons ici au cas où l’electron éjecté est, au départ, au repos. La conserva-
tion de l’énergie et de l’impulsion du système total {photon+électron} impose une relation
entre l’angle θ et les energies :
me c2 me c2
− = 1 − cos θ
En+1 En
Les quantités me c2 /E = λCompton représentent les “longueurs d’onde de Compton” ( m e
est la masse de l’électron au repos).
La section efficace de diffusion, c’est à dire la densité de probabilité correspondant à l’angle
θ est donnée par la relation de Klein-Nishina :
re2 En+1 2 En+1
dσCompton En 2
= + − sin θ
dΩ 2 En En En+1
64 Applications à la physique médicale
L’absorption photoélectrique est un processus où le photon est absorbé par un électron qui
effectue une transition vers un état d’énergie plus élevée. La trajectoire du photon prend
donc fin à cet endroit.
En fonction du milieu considéré, de l’énergie des photons etc... les probabilités de chacun des
trois événements décrits ci-dessus : P Rayleigh , PCompton , Pabsorption sont connues (PRayleigh +
PCompton + Pabsorption = 1). A chaque étape n il faudra tirer un de ces trois événement
suivant ces probabilité.
Il existe des logiciels programmés pour simuler toutes les interactions possibles de partic-
ules non massives (photons) ou massives (neutrons, electrons, positrons), chargées ou non
chargées dans la matière. L’un d’entre eux, développé par un groupe de scientifique est
nommé “PENELOPE”.Le code source est payant mais les méthodes utilisées sont en libre
accès sur internet.
http ://www.nea.fr/html/dbprog/penelope-2003.pdf
En physique médicale, il est rare d’avoir un milieu homogène. Dans la plupart des cas,
un photon traverse une succession de milieux de densités et sections efficaces différentes.
Exemple : pour la simple radiographie d’une racine dentaire, les rayon X vont traverser la
gencive, puis le tissus osseux, puis la pulpe etc...
Comme indiqué sur la figure 8.2, considérons un photon, qui après avoir subi une interaction
en rt traverse successivement différents tissus T 1 , T2 , ... , Tn−1 avant de subir l’interaction
suivante en rt+1 dans le tissus Tn . Nous noterons respectivement λ1 , λ1 , ... , λn les libres
parcours moyens du photon dans les tissus T 1 , T2 , ... , Tn . Comme l’indique la figure, le
photon a parcouru une distance s1 dans le tissus T1 , une distance s2 dans le tissus T2 ...
une distance sn−1 dans le tissus Tn−1 et enfin une distance (s − sn−1 − sn−2 − · · · − s2 − s1)
dans le dernier tissus Tn .
D’après ce qui précède, la probabilité de parcourir une distance s i dans la tissus Ti sans
interagir est (cf. Equation 8.1)
∞
1 u si
Z
F(si ) = exp − du = exp −
λi si λi λi
8.6 Propagation dans un milieu inhomogène 65
λ2
λ4
s2
s1
s4
s3
λ3
λ1
λ5
Fig. 8.2 –
ds
λn
La probabilité d’avoir parcouru le chemin de longueur s à travers les divers tissus sans
interagir, puis d’avoir interagit entre s et s + ds est donc :
[s − s1 − s2 − · · · − sn−1 ] ds
s1 s2 sn−1
p(s)ds = exp − exp − · · · exp − exp −
λ1 λ2 λn−1 λn λn
λn λn λn
s̃ = s1 + s2 + · · · + sn−1 + s − s1 − s2 − · · · − sn−1
λ1 λ2 λn−1
on a
1 s̃
p(s̃) = exp −
λn λn
On peut donc générer s̃, comme précédemment suivant la loi exponentielle :
– On tire des nombres η suivant une loi uniforme sur le segment [0,1]
66 Applications à la physique médicale
– les nombres
s̃ = −λn ln η
sont générés suivant la loi exponentielle ci dessus
– on en déduit :
s1 s2 sn−1
s = s1 + s2 + · · · + sn−1 − λn ln η + + +··· + (8.2)
λ1 λ2 λn−1
On procédera donc, en général de la manière suivante. La direction du photon étant donnée,
on connnait donc ses intersections avec les différentes frontières du milieu et les longueurs
s1 , s2 , ...
– On tire un nombre η uniformément distribué sur le segment [0,1]
– si − ln η < λs11 alors l’interaction suivante a lieu dans le milieu T 1 , il n’y a rien de nouveau
par rapport aux paragraphes précédents.
– si λs11 < − ln η < λs11 + λs22 alors l’interaction suivante a lieu dans le milieu T 2 et on prend :
s1
s = s 1 − λ2 ln η +
λ1
– etc ...
– si
s1 s2 sn−1 s1 s2 sn−1 sn
+ + ··· + < − ln η < + + ··· + +
λ1 λ2 λn−1 λ1 λ2 λn−1 λn
alors l’interaction a lieu dans le milieu T n et s est donné par la relation 8.2
Méthode de Monte Carlo et
9 Dynamique Moléculaire
9.1 Introduction
Nous allons montrer qu’une chaı̂ne de Markov, satisfaisant le principe du bilan détaillé peut
être obtenue à partir de l’intégration d’une équation différentielle stochastique (i.e. faisant
intervenir des variables aléatoire).
Cette équation représente “un bruit blanc”. Remplaçons l’équation de Langevin continue
soit r
Y ∆τ − Pi 4Γ
∆τ
ξi (τn )2
e i (9.4)
4πΓi
i
La règle p(x → y) pour cette chaı̂ne de Markov est que la probabilité de passer de x =
(α1 , α2 , · · · , α3N ) à y = (β1 , β2 , · · · , β3N ) est égale à la probabilité pour la variable aléatoire
(bruit blanc) ξi dêtre égale à
βi − α i ∂S(x)
+ Γi
∆τ ∂αi
Il nous reste à vérifier que cette règle obéit à l’équation du bilan détaillé. On a
P “ βi −αi ”2
∆τ ∂S
− 4Γ +Γi ∂α
p(x → y) e i i ∆τ i
= ”2
p(y → x)
“
∆τ P αi −βi ∂S
− 4Γ i +Γi ∂β
e i ∆τ i
soit lorsque ∆τ → 0
p(x → y) P ∂S
− i (βi −αi ) ∂α
=e i
p(y → x)
ce qui peut encore s’écrire en identifiant S et son développement au premier ordre :
p(x → y) e−S(y)
→ −S(x) lorsque ∆τ → 0
p(y → x) e
CQFD
9.3 Comparaison avec la Dynamique Moléculaire 69
Nous avons jusqu’ici toujours considéré l’ensemble canonique : notre système S est en
contact avec un réservoir ou thermostat R. La température T du système est fixée par
le thermostat, mais son energie fluctue autour d’une valeur moyenne < E >. La valeur
moyenne d’une observable O(x) est :
O(x)e−βH(p,x) dpdx
R
< O >= (9.5)
Z
où Z représente la fonction de partition :
Z
Z = e−βH(p,x) dpdx (9.6)
On considère un système isolé, ayant donc une énergie E fixée. Les trajectoires des particules
sont déterminées par les équations de Hamilton :
d2 αi ∂E(x)
mi =− (9.10)
dt2 ∂αi
conduisent aux équations d’évolution en temps discret :
1 ∂E(x)
αi (τn+1 ) = 2αi (τn ) − αi (τn−1 ) − (∆τ )2 (9.11)
mi ∂αi
Ces équations constituent le fondement de l’algorithme de Verlet[10] le plus courammnent
utilisé en dynamique moléculaire[11]. On peut remanier les termes de cette équation pour
les écrire de manière plus suggestive :
1 ∂E 1
αi (τn+1 ) = αi (τn ) − (∆τ )2 + [αi (τn+1 ) − αi (τn−1 )] (9.12)
2mi ∂αi 2
En comparant les équations 9.12 et 9.13, on constate que les vitesses des particules :
1
vi = [αi (τn+1 ) − αi (τn−1 )]
2∆τ
qui correspondent au dernier terme de l’équation d’évolution 9.13 en dynamique moléculaire
sont remplacées, dans la méthode de Monte-Carlo par des variables aléatoires gaussiennes
indépendantes ξi (bruit stochastique)[8, 12].
9.3 Comparaison avec la Dynamique Moléculaire 71
Lorsqu’on souhaite minimiser une fonction à grand nombre de variables, les méthodes
classiques n’ont aucune difficulté pour trouver des minima locaux (en général le plus proche
d’un point défini comme point de départ de la méthode). Il est par contre pratiquement
impossible de trouver le minimum absolu. Seule, la méthode de Monte-Carlo permet de
résoudre ce problème.
La fonction E(x1 , x2 , .., xN ) à minimiser est considérée comme l’énergie d’un système fictif
ayant pour espace de configuration R N . Ce système est supposé en interaction avec un
thermostat à température T . On simule l’evolution du système dans l’ensemble Canonique
par la Méthode de Monte-Carlo.
Comme en métallurgie, le “recuit” consiste a “chauffer le système” à une température
élevée puis à diminuer très doucement la température de manière à obtenir l’équilibre
thermodynamique à chaque température. Lorsque la température s’approche de zéro, le
systéme atteint son énergie minimale, c’est à dire le minimum absolu de la fonction E.
Lorsque la fonction E(x1 , x2 , .., xN ) est particulièrement compliquée avec un très grand
nombre de minima relatifs, la méthode simple précédente ne permet pas forcément à basse
température d’atteindre l’équilibre en un temps raisonnable, donc de converger vers le
minimum absolu à température nulle. On peut facilement resté “piégé” à basse température
dans une région de l’espace multidimensionnel, dont on ne s’échappe plus.
Dans ce cas, une méthode dite “Parallel Tempering” en anglais, —que nous traduirons
par “Recuit parallèle”— a été proposeée, il y a une vingtaine d’années par les physiciens
des “verres de spin”. Elle s’applique aussi bien à l’obtention de l’équilibre d’un système
thermodynamique comprenant un très grand nombre d’états d’énergies voisines —c’est le
cas des solides désordonnés ou “verres”, ou d’assemblée de spins avec fort désordre dans les
interactions entre spins (“verres de spins”)— qu’à un problème de minimisation de fonction
74 Optimisation
On a donc :
P ({µ, ν} → {ν, µ}) pν,µ
=
P ({ν, µ} → {µ, ν}) pµ,ν
et la condition de microréversibilité est bien vérifiée.
10.2 “Recuit Parallèle” (Parallel Tempering) 75
kTH
E(X)
0.5
A B
kTB
0
0 0.5 1
X
Fig. 10.1 –
En ce qui concerne les M-1 autres itérations, nous tentons d’abord une transition µ → µ 0 du
système à basse température, suivant l’algorithme habituel de Métropolis, et il est facile de
vérifier à partir de 10.2 que la condition de microréversibilité est vérifiée. Puis nous tentons
une transition ν → ν 0 du système à haute température, et il en est de même.
Comment choisir M ?
Entre deux tentatives déchange, il convient que le système à haute température soit passé
à un état décorrélé du précédent. M sera donc de l’ordre du temps d’autocorrélation de
l’énergie.
Généralisation à plus de deux systèmes
Le schéma que nous venons d’établir pour deux systèmes se généralise de manière triv-
iale à n systèmes placés à n températures différentes. Il se prête particulièrement bien à
l’usage d’ordinateurs massivement parallèles, d’autant plus qu’il est absolument équivalent
d’échanger les températures plutôt que les états, et ceci sera beaucoup moins coûteux en
temps de communication entre processeurs. On peut découper un intervalle de températures
en segments relativement petits, avec une probabilité importante d’échanger les états de
deux systèmes de températures voisines.
76 Optimisation
11 Polymères
11.1 Introduction
Dés les années 50, les pionniers de la méthode Monte-Carlo, en particulier les époux Rosen-
bluth, on simulé des systèmes de polymères.
Nous allons étudier quelques algorithmes spécifiques pour la simulation de longues chaı̂nes
de molécules.
C’est le modéle le plus simple. Chaque monomère est modélisé par une sphère dure de
rayon a. Chaque sphère dure est accolée à ses deux voisines. Les mouvements de l’une par
rapport à l’autre de ces sphères sont libres.
R1
R4
R2
R3 R5
R6
R7
11.3.1 Reptation
La méthode du “pivot” que nous avons décrite au paragraphe précédent est efficace pour
un ensemble de polymères “dilués i.e. pas trop proches les uns des autres. Pour un système
dense, lorsqu’on tente de bouger un grand nombre de monomères par la méthode du pivot,
par exemple, on a de grandes chances que dans la nouvelle configuration d’essai certains
“coeurs durs” se recouvrent, auquel cas le mouvement est rejeté.
En 1954, les époux Rosenbluth[14] ont proposé une technique astucieuse consistant à
supprimer une chaı̂ne de polymr̀es pour la reconstruire monomère par monomère à un
autre endroit en utilisant un “biais” pour éviter le recouvrement de couers durs. Cette
méthode a été perfectionée[15] et est maintenant couramment utilisée sous le nom anglais
de “configurational-bias Monte-Carlo algorithm”
où
W b = exp(−ub1 /kT )ΠN b
i=2 Zi
Mais (ub1 + ub2 + ub3 + · · · + ubN ) n’est autre que la contribution totale U b de la
“nouvelle chaı̂ne”, dans sa nouvelle conformation Γ b à l’energie totale du système.
Et on peut c̀rire :
b exp(−U b /kT )
Pgen =
Wb
W b est appelè le “facteur de Rosenbluth”
11.4 “Reconstruction biaisée” 81
a exp(−U a /kT )
Pgen =
Wa
U a représentant la contribution de la chaı̂ne dans son ancienne conformation Γ a à
l’energie totale du système.
3. On accepte la nouvelle conformation Γ b avec la probabilité :
a
Pgen
M in 1, exp[−(U b − U a )/kT ] b = M in[1, W b /W a ]
Pgen
82 Polymères
12 Monte-Carlo quantique
Pour calculer l’energie fondamentale E 0 (à température nulle) d’un système quantique
décrit par un Hamiltonien H, on utilise couramment l’approximation variationnelle. Cette
approximation consiste à :
– Partir d’une fonction d’onde |ψλ,µ,··· ,ν i censée représenter un bonne approximation de
l’état fondamental du système (on n’exigera pas forcément que la norme de cette fonction
soit 1), et dépendant d’un certain nombre de param t̀res ajustables λ, µ, · · · , ν
– Calculer :
hψλ,µ,··· ,ν |H|ψλ,µ,··· ,ν i
E=
hψλ,µ,··· ,ν |ψλ,µ,··· ,ν i
∗
R
ψλ,µ,··· ,ν (r1 , r2 , ..., rN )Hψλ,µ,··· ,ν (r1 , r2 , ..., rN )dr1 dr2 ...drN
E= R ∗
ψλ,µ,··· ,ν (r1 , r2 , ..., rN )ψλ,µ,··· ,ν (r1 , r2 , ..., rN )dr1 dr2 ...drN
D’ou l’idée de calculer directement ce rapport de deux intégrales par la méthode de Monte-
Carlo.
Il est alors naturel de choisir pour densité de probabilité :
∗
ψλ,µ,··· ,ν (r1 , r2 , ..., rN )ψλ,µ,··· ,ν (r1 , r2 , ..., rN )dr1 dr2 ...drN
p(r1 , r2 , ..., rN ) = R ∗
ψλ,µ,··· ,ν (r1 , r2 , ..., rN )ψλ,µ,··· ,ν (r1 , r2 , ..., rN )dr1 dr2 ...drN
84 Monte-Carlo quantique
Nous allons décrire un algorithme qui permet de trouver, sans approximation, l’énergie et
l’état fondamental de l’équation de Schrödinger :
Par souci de simplicité, nous considérons une particule de masse m, soumise à un potentiel
V (x), se déplaçant sur un axe x. La méthode est bien-sûr généralisable à un système à
plusieurs dimensions.
L’Hamiltonien s’écrit donc simplement :
~2 ∂ 2
H =− + V (x)
2m ∂x2
et l’évolution de la fonction d’onde Ψ(x, t) en fonction du temps est gouvernée par l’équation
de Schrödinger :
∂|ψ >
i~ = H|ψ >
∂t
Soit {|φ >n } une base orthonormée de fonctions propres associées aux energies E n , c’est à
dire :
H|φn >= En |φn >
avec la condition : Z ∞
< φn |φm >= φ∗n (x)φm (x)dx = δnm
−∞
∞
X
|Ψ(x, 0) = cn Φn (x)
n=0
avec Z ∞
cn =< φn |Ψ(x0 , 0) >= φn (x0 ))Ψ(x0 , 0)dx0
−∞
on a donc
∞
X En
|Ψ(x, t) >= cn φn (x)e−i ~
t
n=0
12.2 “Diffusion Monte-Carlo” 85
En combinant ces deux dernières équations, on obtient après permutation des signes somme
et intégrale : "∞ #
Z ∞ X En
|Ψ(x, t) >= dx0 φ∗n (x)e−i ~ t φn (x0 ) Ψ(x0 , 0)
−∞ n=0
où le noyau :
∞
X En
K(x, t|x0 , 0) = φ∗n (x)e−i ~
t
φn (x0 )
n=0
Pour résoudre l’équation intégrale par Monte-Carlo, on a besoin de fonctions réelles posi-
tives, et on va se débarrasser du facteur imaginaire par le changement de variable :
τ = it
En → E n − E R
V (x) → V (x) − ER
L’équation de Schrödinger devient :
∂Ψ(x, τ ) ~2 ∂ 2 Ψ(x, τ )
~ = − [V (x) − ER ]Ψ(x, τ )
∂τ 2m ∂x2
Le premier terme du second membre correspond à une équation de diffusion où Ψ représente
la densité de particules qui diffusent. Une telle équation peut être simulée avec une marche
aléatoire de particules dans l’espace de configuration.
Le second terme est semblable à une équation décrivant un processus de mort et de naissance
d’individus dans une population.
L’équation globale peut être simulée par la combinaison d’un processus de diffusion et
d’un processus de branchement, dans lequel le nombre de particules diffusant augmente ou
diminue de façon à réduire la densité de probabilité dans les régions où V (x) est grand et
à l’augmenter dans les zones d’énergie potentielle favorables.
86 Monte-Carlo quantique
On a :
∞
X (En −ER )
|Ψ(x, τ ) >= cn φn (x)e− ~
τ
n=0
avec
∞
X (En −ER )
K(x, t|x0 , 0) = φ∗n (x)e− ~
τ
φn (x0 )
n=0
que l’on peut écrire formellement :
∞
X (T̂ +V̂ )
K(x, t|x0 , 0) = φ∗n (x)e− ~
τ
φn (x0 )
n=0
avec
~2 ∂ 2 Ψ(x, τ )
T̂ =
2m ∂x2
et
V̂ = −[V (x) − ER ]
Les opérateurs T̂ et V̂ ne commutent pas, donc en général :
(T̂ +V̂ ) T̂ V̂
e− ~
τ
6= e− ~ τ e− ~ τ
L’opérateur :
∞
X V̂
Kdif f (x, t|x0 , 0) = φ∗n (x)e− ~ τ φn (x0 )
n=0
est connu exactement car il correspond à la propagation d’une particule libre (potentiel
constant).
Considérons une particule de masse m dans une boite unidimensionnelle de longueur L.
Les fonctions propres sur l’intervalle [-L/2,L/2] sont
1 2πn ~2 2
φ n = √ e kn x , avec kn = et En = k
L L 2m n
12.2 “Diffusion Monte-Carlo” 87
Ce qui donne :
∞ 2
X 1 kn
Kdif f (x, t|x0 , 0) = √ e−ikn (x−x0 ) e−it~ 2m
n=0
L
soit en passant à la limite continue, avec L → ∞ :
Z ∞ 2
1 kn
Kdif f (x, t|x0 , 0) = e−ik(x−x0 ) e−it~ 2m dk
2π −∞
avec
m 21 m(xn − xn−1 )2
P (xn , xn−1 ) = exp −
2π~δτ 2~δτ
et
(V (xn ) − ER )δτ
W (xn ) = exp −
~
La fonction : P (xn , xn−1 ) représente une densité de probabilité car :
Z ∞
P (x, y)dy = 1 ∀x
−∞
ceci va nous permettre de construire une chaine de Markov ayant pour loi de transition
P (x, y).
Les poids W (xn ) dépendant uniquement du potentiel V (x) et de l’énergie de référence E R
vont être traduits par un processus de naissance-mort de particules. C’est à dire qu’au lieu
de raisonner sur une seule trajectoire de la particules, on va suivre en parallèle l’évolution
de N trajectoires.
– On part de N points distribués suivant une probabilité proportionnelle à |Ψ(x 0 , 0)|2
– A chaque étape τn = nδτ on tire N nouvelles abscisses suivant la loi de probabilité
P (xn , xn−1 )
88 Monte-Carlo quantique
E0 = ER =< V >
δτ
2δτ
3δτ
4δτ
X
Une grandeur physique est représentée par un opérateur O. Dans l’ensemble canonique la
probabilité du système de se trouver dans l’état |Φ i > est proportionnelle à exp(−Ei /kT )
et la valeur moyenne de la grandeur physique correspondante est :
P
< Φi |O|Φi > exp[−βEi ]
< O >= i
Z
X
Z= exp[−βEi ]
i
T r O exp[−βH]
< O >= (12.5)
Z
avec Z = T r exp[−βH]. La trace “T r” d’un opérateurs étant invariante, quelle que soit la
représentation choisie..
On choisit, en général pour représentation non pas une base de vecteurs propres telle que
{|Φi >} mais une base d’états orthonormés {|R >} décrivant les positions dans l’espace
des particules. Cette base est continue et les sommes discrètes relatives à la base discrète
{|Φi >} considérée précédemment sont remplacées par des intégrales. En particulier, la
trace d’un opérateur, somme de ses valeurs propres de vient une intégrale :
Z
T r A = dR0 < R0 |A|R0 >
on peut rendre plus explicite le produit des deux matrices O et exp(−βH) pour arriver à
l’expression :
dRdR0 < R0 |O|R >< R| exp(−βH)|R0 >
R
< O >= (12.8)
Z
En introduisant la “Matrice Densité :
on a
dRdR0 < R0 |O|R > ρ(R, R0 ; β)
R
< O >= (12.10)
Z
avec Z
Z= dRρ(R, R, β)
Pour calculer l’intégrale ci-dessus par la méthode de Monte-Carlo, nous allons donc générer
de configurations {R, R 0 } suivant une probabilité proportionnelle à ρ(R, R 0 ; β) et la moyenne
des élements de matrice < R 0 |O|R > correspondant à ces configurations nous donnera accès
à une approximation de < O >
Nous illustrons d’abord la méthode sur le cas simple utilisé précedemment pour l’algorithme
de “Diffusion Monte-Carlo” : une particule à une dimension, de masse m, soumise à un
potentiel V (x). L’hamiltonien s’écrit :
~2 ∂ 2
H =− + V (x)
2m ∂x2
soit
H = T̂ + V̂
en séparant la partie cinétique :
~2 ∂ 2
T̂ = −
2m ∂x2
de la partie potentielle
V̂ = V (x)
La matrice densité sécrit :
Cette quantité est très difficile à calculer, alors que les quantités < x| exp[−β T̂ ]|x00 > et
< x00 | exp[−β V̂ ]|x0 > sont relativement simples. Malheureusement, les opérateurs T̂ et V̂
ne commutent pas et
exp[−β(T̂ + V̂ )] 6= exp[−β T̂ ] exp[−β V̂ ]
Par contre, en divisant β en M intervalles δτ = β/M , on pourra recourir à la formule de
Trotter-Suzuki (cf. Equation 12.2)
h iM
exp[−β(T̂ + V̂ )] = lim exp(−δτ T̂ ) exp(−δτ V̂ ) (12.11)
M →∞
12.3 “Path Integral Monte-Carlo” 91
ρ(x0 , xM ; β) =
Z Z Z
dx1 dx2 · · · dxM −1 < x0 | exp(−δτ T̂ ) exp(−δτ V̂ )|x1 >< x1 | exp(−δτ T̂ ) exp(−δτ V̂ )|x2 >
< xi−1 | exp(−δτ T̂ ) exp(−δτ V̂ )|xi >=< xi−1 | exp(−δτ T̂ )|xi > exp[−δτ V̂ (xi )]
Ces calculs se généralisent facilement pour une particule à deux ou trois dimensions... et
pour un ensemble de N particules à trois dimensions soumises à un potentiel dı́nteraction
de paires
V (|Ri − Rj |
92 Monte-Carlo quantique
ne dépendant que de la distance entre paires de particules. Dans ce cas, chaque particule
p est représentée par une chaı̂ne de M monomères de coordonnées R p,i . La matrice densité
s’exprime alors comme une intégrale à 3N M dimensions :
3N M/2 R
ρ(R1,0 , R2,0 , ..., RN,0 , R1,M , R2,M , ..., RN,M ; β) = 2π~m2 δτ
R
dR1,1 · · · dRN,M
h PN PM i h PN P PM i
exp − 2~m 2 δτ p=1 i=1 (R p,i−1 − R p,i ) 2 exp −δτ
p=1 k>p i=1 V (|R p,i − R k,i |
N Bosons
Au paragraphe précédent, nous avons raisonné sur des particules discernables. Or, en
mécanique quantique, les particules sont indiscernables.
Pour des bosons, l’expression de la matrice densité ρ B doit être complètement symétrique
par rapport à une permutation quelconque des particules.
On doit donc sommer sur toutes les permutations possibles de l’expression d’une matrice
densité de particules discernables :
1 X
ρB (R1,0 , ..., RN,0 , R1,M , ..., RN,M ; β) = ρB (R1,0 , ..., RN,0 , RP (1),M , ..., RP (N ),M ; β) =
N!
P
où P (1), P (2), ... ,P (N ), représente une permutation quelconque des N particules.
Les permutations seront elles-mêmes échantillonnées par un algorithme de Monte-Carlo.
Nous n’aborderons pas le problème des Fermions pour lesquels l’antisymétrisation conduit
à une alternance de signe qui constitue un des problèmes les plus difficiles pour l’application
de la méthode de Monte-Carlo.
Une expérience aléatoire est une expérience dont le résultat est soumis au hasard. Elle se
décrit par la donnée de l’ensemble des résultats possibles. Nous noterons ω un tel résultat
et Ω l’espace formé par tous les résultats possibles.
Exemple : l’espace Ω associé au jet aléatoire de deux dés est composé des 36 couples d’entiers
ω = (x, y) tels que 1 ≤ x, y ≤ 6
Un événement aléatoire est représenté par l’ensemble des résultats ω de l’expérience qui le
réalisent. Dans l’exemple précédent du jet de deux dés, on peut définir comme événement :
“obtenir un total de points supérieur à 8”. Cet événement est représenté par le sous ensemble
de résultats A ⊂ Ω :
A = {(3, 6), (4, 5), (5, 4), (6, 3), (4, 6), (5, 5), (6, 4), (5, 6), (6, 5), (6, 6)}
Nous devons maintenant envisager des opérations logiques sur ces événements.
– A tout événement A est associé son contraire A c représenté par l’ensemble complémentaire
de A dans Ω. (Le contraire de A dans l’exemple précédent est “obtenir un total de points
inférieur ou égal à 8”).
– Pour tout couple dévénements (A 1 , A2 ), l’événement “A1 et A2 ” est par définition celui
qui est réalisé si les événements A 1 et A2 sont réalisés à la fois. En langage de théorie des
96 Rappels de théorie des probabilités
Par exemple, dans R, la tribu engendrée par les segments ouverts [i.e la plus petite tribu
contenant les segments ouverts] est nommée “tribu Borélienne”. D’après les propriétés
énoncées ci-dessus, elle contient aussi les segments fermés (complémentaires d’ouverts),
l’intersection et la réunion de nombres infinis dénombrables d’entre eux.
Une propriété essentielle d’une expérience est de pouvoir être répétée indéfiniment. Si
nous comptons, au cours de N répétitions d’une expérience, le nombre de fois N A où
un événement A est réalisé, nous observons que la fréquence statistique N A /N tend vers
une limite p ≤ 1 lorsque N → ∞. D’où l’idée d’associer un nombre positif ou nul P (A) = p,
inférieur à 1, à tout événement A.
Si deux événements sont incompatibles (A 1 ∩A2 = ∅, la fréquence statistique de l’événement
A.4 Probabilités conditionnelles. Evénements indépendants 97
si
Ai ∩ A j = ∅ ∀(i, j), i 6= j
En langage mathématique, P est une “mesure positive, de masse totale P (Ω) = 1, définie
sur la tribu A de parties de Ω”.
On note “espace probabilisé” {Ω, A, P } le triplet formé par l’ensemble des résultats possi-
bles de l’expérience Ω, la tribu de parties de cet ensemble A et la mesure de probabilités
P.
Considérons une expérience qui se réalise en deux temps. En reprenant toujours l’exemple
du jet de deux dés, on peut lancer successivement un premier dé puis le second. On peut
définir des événements relatifs aux résultats du premier temps (exemple B : “le résultat
du premier dé est pair”) et des événement relatifs au résultat global après le second temps
(exemple A : “le total des points est 8”). Ces deux événements, bien sûr, appartiennent à
une même tribu A de parties de Ω
Nous devons alors distinguer heuristiquement entre la probabilité, dans l’absolu, P (A)
de l’événement A, et la probabilité de l’événement A, sachant que B s’est produit, que
nous appellerons “probabilité de l’événement A conditionnelle en l’événement B”. Nous la
noterons P (A/B).
De même que la fréquence NA /N des réalisations de l’événement A au cours de N répétitions
de l’expérience aléatoire, donne une estimation statistique de la probabilité P (A) de l’événe-
ment A, nous pouvons penser que le rapport N A∩B /NB de réalisations de l’événement A
98 Rappels de théorie des probabilités
parmi les NB répétitions de l’expérience qui ont donné B fournisse une estimation statis-
tique de la probabilité de l’événement A conditionnelle en l’événement B.
Après avoir remarqué que :
NA∩B
NA∩B N
= NB
NB N
il devient naturel de poser comme définition :
P (A ∩ B)
P (A/B) = (A.2)
P (B)
Une variable aléatoire est définie par référence à une expérience aléatoire comme un nombre
réel, ou plus généralement un vecteur X = φ(ω) dont la valeur dépend du résultat ω de
l’expérience. Par exemple, dans l’expérience du jet de deux dés, la somme S des points
amenés par les deux dés est une variable aléatoire réelle. Le vecteur V = (m, n) où m est le
nombre de points amené par le premier dé et n le nombre de points amenés par le second
dé est un vecteur aléatoire qui prend ses valeurs dans R 2 .
Une variable aléatoire est donc représentée par une application φ de Ω dans R d . Elle est
“aléatoire” du fait du caractère aléatoire de l’expérience, dont chaque résultat possible est
un point ω de l’ensemble Ω.
Nous exigerons une condition essentielle sur cette application :
L’ensemble des résultats ω de l’expérience, tels que :
appartient à la tribu A
Si X est une variable aléatoire réelle, a et b représentent deux réels quelconques tels que
a < b.
Si X est une variable aléatoire vectorielle à valeurs dans R d , a = (a1 , a2 , · · · , ad ) et b =
(b1 , b2 , · · · , bd ) représentent deux vecteurs de R d et les inégalités sont vérifiées composante
par composante. Dans ce cas, l’inégalité
définit un pavé B de Rd .
Donc, l’image réciproque par l’application X = φ(ω) d’un segment B de R, pour une
variable aléatoire réelle, (ou plus généralement d’un “pavé” B de R d , pour une variable
aléatoire vectorielle) est un élément (i.e “un événement”) de la tribu A de sous ensembles
de Ω.
Cette condition est indispensable pour que nous puissions parler de la probabilité de
“l’événement : {a < X = φ(ω) < b}. Elle correspond à exiger que l’application X = φ(ω)
soit une “application mesurable”.
Soit AB l’image réciproque dans Ω d’un pavé B de R d (–B est un élément de la tribu
Borélienne B–) par l’application X = φ(ω), c’est à dire :
AB = {ω tels que X = φ(ω) ∈ B}
alors les sous ensembles “événements” A B forment une sous tribu de la tribu A appelée “la
tribu engendrée par la variable aléatoire X.
La loi :
P(X) (B) = P (AB )
définit une probabilité P(X) sur Rd par rapport à la tribu B “Borélienne”) formée par les
pavés ouverts ou fermés de R d et la réunion d’un nombre fini, ou infini-dénombrable d’entre
eux.
L’intérêt de l’introduction de ces “lois de probabilité” tient à ce qu’il est plus aisé de
manipuler des “mesures” sur R d que sur l’espace Ω. Pour les applications en physique,
nous utiliserons le plus souvent la mesure de Lebesgue ou la mesure de Rieman sur R d .
Alors nous dirons que la variable aléatoire X possède la densité de probabilité f (x)
Si une variable aléatoire X possède une densité de probabilité f (x), on peut écrire si X est
définie dans R (d = 1) :
et plus généralement pour une variable aléatoire définie dans R d , en notant x = (α1 , α2 , · · · , αd )
un élément de Rd :
P ({αk < (X)k = φ(ω)k < αk + dαk }) = f (x)dα1 dα2 · · · dαd (A.8)
Etant donné que, dans les applications physiques que nous allons étudier, nous nous restrein-
drons au cas où les variables aléatoires considérées possèdent une densité de probabilité f ,
le lecteur, quelque peu dérouté par le formalisme général peut se “raccrocher” aux relations
ci-dessus en tant que définition d’une densité de probabilité.
la fonction de répartition d’une variable aléatoire réelle admettant une densité de probabilité
f (x) est Z z
F (z) = f (x)dx
−∞
A.9 Espérance, moments d’ordre n, variance 101
Considérons tout d’abord une variable aléatoire discrète X, c’est à dire à valeurs dans
l’ensemble des entiers relatifs Z ⊂ R. Au cours de N répétitions de l’expérience aléatoire,
chaque valeur {X = xi } “sort” ki fois. Si nous voulons évaluer empiriquement une valeur
moyenne m de la variable aléatoire X, nous prendrons :
X X ki
m= ki xi /N = xi
N
i i
Dans le cas continu, la somme discrète est remplacée par une intégrale :
Z Z
E[X] = XdP = xdP(X) (A.11)
Ω R
où les intégrales sont prises au sens général de la théorie de l’intégration par rapport aux
mesures abstraites dP , dP(X) .
Dans le cas où la variable aléatoire X possède la densité de probabilité f , alors, on peut
écrire plus simplement : Z
E(X) = m = xf (x)dx (A.12)
R
où dx représente la mesure de Lebesgue ou la mesure de Rieman sur R
102 Rappels de théorie des probabilités
Toute fonction Y = g(X) = g[φ(ω)] = g ◦ φ(ω) définit une nouvelle variable aléatoire. Son
espérance est : Z
E[Y ] = E[g(X)] = g(x)f (x)dx (A.13)
R
La variable aléatoire (X − E[X])/σ a pour espérance 0 et pour écart type 1. On dit qu’elle
est réduite.
A.10.1 Définition
Si X admet une densité de probabilité f (x), alors sa fonction caractéristique est la trans-
formée de Fourier de la fonction f (x).
A.10 Fonction Caracteristique 103
A.10.2 Exemple :
Loi gaussienne :
Nous choisissons pour exemple la loi gaussienne de densité de probabilité :
x2
1
fG (x) = √ exp − 2
2πσ 2 2σ
car sa fonction caractéristique est très simple, et le résultat nous servira à la démonstration
du théorème de la limite centrale.
Z ∞
x2
1
FG (t) = √ exp (itx) exp − 2 dx
2πσ 2 −∞ 2σ
soit
∞ 2 2
(x − σ 2 it)2
1 σ t
Z
FG (t) = √ exp − exp − dx
2πσ 2 −∞ 2 2σ 2
Nous allons montrer que l’intégrale :
∞
(x − σ 2 it)2
1
Z
I=√ exp − dx
2πσ 2 −∞ 2σ 2
est simplement 1. Pour cela nous considérons dans le plan complexe la fonction générale :
Z2
1
G(Z) = √ exp − 2
2πσ 2 2σ
et nous l’intégrons sur le contour fermé représenté sur la figure A.1, Puisqu’il n’y a aucun
pôle à l’intérieur de ce contour, le théorème des résidus nous dit que l’intégrale sur le
contour est nulle :
Z Z Z Z
G(Z)dZ + G(Z)dZ + G(Z)dZ + G(Z)dZ = 0
C1 C2 C3 C4
Lorsque A → ∞ les deux derniers termes tendent vers 0 car |Z| 2 → ∞. Le second terme
n’est autre que I et le premier terme représente l’intégrale sur l’axe réel :
−∞
x2
1
Z
√ exp − 2 dx = −1
2πσ 2 ∞ 2σ
σ 2 t2
FG (t) = exp − (A.17)
2
104 Rappels de théorie des probabilités
-A 0 A
C1
C3 C4
C2
−σ t i
2
Fig. A.1 –
Nous allons démontrer une inégalité triviale, mais néanmoins importante introduite par
Bienaymé et Tchebichef.
Pour toute variable aléatoire réelle X, de carré intégrable (i.e µ 2 = E[X 2 ] est fini), et pour
tout nombre réel a strictement positif :
µ2
P (|X| ≥ a) ≤ 2 (A.18)
a
Et comme
X2
E = E[X 2 ]/a2
a2
l’inégalité de Bienaymé-Tchebichev est ainsi démontrée
Soient deux variables aléatoires X 1 et X2 de lois de probabilité PX1 et PX2 . On peut définir
la loi de probabilité conjointe du couple (ou vecteur) U = (X 1 , X2 ) :
A.12.1 Covariance
A.12.2 Indépendance
soit
P ({X1 ∈ A} ∩ {X2 ∈ B}) = P ({X1 ∈ A})P ({X2 ∈ B})
On en déduit :
Si les variables alátoires X1 et X2 admettent des densités de probabilité f 1 (x1 ), f2 (x2 ) alors
la loi de probabilité conjointe du couple admet pour densité de probabilité :
Ce résultat peut aussi est obtenu de manière élémentaire : L’ensemble des valeurs du couple
X2
s+
ds
s
s-x +ds
s-x
x X1
Fig. A.2 –
P ({x1 < X1 < x1 + dx1 } ∩ {x2 < X2 < x2 + dx1 }) = h(x1 , x2 )dx1 dx2
P ({x1 < X1 < x1 + dx1 } ∩ {x2 < X2 < x2 + dx1 }) = f1 (x1 )f2 (x2 )dx1 dx2
A.13 Généralisation à N variables aléatoires 107
On a alors : Z
P ({s < S < s + ds}) = f1 (x1 )f2 (x2 )dx1 dx2
[aire en gris]
soit Z ∞ Z s−x+ds
P ({s < S < s + ds}) = f1 (x)dx f2 (x2 )dx2
−∞ s−x
Et dans la limite où ds → 0 :
Z ∞
P ({s < S < s + ds}) = f1 (x)f2 (s − x))dx ds
−∞
Tous les raisonnements précédents pour un couple de deux variables aléatoires se généralisent
à un n-uplet U = (X1 , X2 , · · · , Xn ) (ou vecteur à n dimensions) de variables aléatoires.
Nous dirons que les n variables X1 , X2 , ..., Xn sont indépendantes si pour tout ensemble
A1 , A2 , ... An de segments ouverts de R, la loi conjointe :
soit
P ({X1 ∈ A1 } ∩ {X2 ∈ A2 } ∩ · · · ∩ {X2 ∈ A1 }) =
P ({X1 ∈ A1 })P ({X2 ∈ A2 }) · · · P ({X2 ∈ A1 })
On a donc :
E[X1 X2 · · · Xn ] = E[X1 ]E[X2 ] · · · E[Xn ]
(X1 , X2 , · · · , Xn )(x1 , x2 , · · · , xn )
Soit X1 , X2 , ..., XN , ... une suite de variables aléatoires réelles deux à deux indépendantes
et ayant toutes la même moyenne E[X i ] = m et le même écart type fini : σ = E[X i2 ]. Alors
la moyenne arithmétique :
X1 + X 2 + · · · + X N
N
108 Rappels de théorie des probabilités
C’est à dire, quel que soit le nombre positif donné (si petit soit-il) :
X1 + X 2 + · · · + X N
limN →∞ P − m > = 0
N
Démonstration :
ZN = X 1 + X 2 + · · · + X N
On a :
ZN
E[ZN ] = N m, ou E =m
N
On peut se ramener à une somme de variables aléatoires centrées :
On peut écrire :
N
X
E[(ZN − E[ZN ])2 ] = E[(Xi − m)2 ] = N σ 2
i=1
σ2
ZN
P − m > <
(A.20)
N N 2
Quel que soit fixé, si petit soit-il, le second membre tend vers 0 lorsque N → ∞ C.Q.F.D.
Remarque importante :
√
La relation (A.18) montre que l’ecart type sur la variable aléatoire Z N /N est N fois plus
faible que l’écart type σ sur la variable aléatoire X
A.14 Somme de variables aléatoires indépendantes 109
Plus généralement soit une suite de variables aléatoires X 1 , X2 , ..., XN , ... deux à deux
indépendantes, à valeurs dans R d , ayant toutes la même loi de probabilité qu’une variable
aléatoire donnée X. Pour toute fonction g de R d dans R, la somme
(X1 + X2 + · · · + Xn )/N
La “loi des grands nombres” démontrée au paragraphe précédent nous dit que la vari-
able aléatoire ZN /N , somme de N variables aléatoires indépendantes tend vers la moyenne
stochastique E[ZN /N ]. Par contre, l’inégalité triviale de Bienaymé-Tchebichef utilisée pour
la démonstration ne donne pas une estimation précise de “l’erreur” : N = (ZN /N −
E[ZN /N ]). Nous pouvons le faire dans le cas où les variables aléatoires X n sont indépendantes
dans leur ensemble (la loi de probabilité de (X 1 , X2 , · · · , XN ) est le produit des lois de prob-
abilités de X1 , X2 ,..., XN ).
X1 , X 2 , · · · , X N
110 Rappels de théorie des probabilités
A travers les divers exemples que nous avons rencontrés, nous avons vu qu’en théorie des
probabilités, plusieurs types de convergence, plus ou moins fortes, pour des suites X n de
variables aléatoires peuvent avoir lieu :
– Nous venons de voir la convergence “en loi” qui a lieu si les fonctions caractéristiques
convergent simplement pour tout réel t.
– Nous avons vu lors de la démonstration de la loi faible des grands nombres “la convergence
en probabilités” :
P ({|Xn − X| > }) → 0
– Nous avons cité lors de l’énoncé de la loi forte des grands nombres la convergence “presque
sûre” (ou “presque partout”) :
Xn (ω) → X(ω)
pour tout événement ω de Ω sauf peut-être pour ω appartenant à un sous ensemble de
Ω de probabilité (mesure) nulle
– Citons encore la convergence en moyenne d’ordre p qui correspond à
Z
lim |Xn − X|p dP = 0
n→∞
B.1 Définition
Une suite infinie ordonnée (X1 , X2 , · · · , Xt , · · · ) de variables aléatoires constitue une chaı̂ne
de Markov si la loi de probabilité conditionnelle de X t+1 lorsqu’on se donne les valeurs de
X1 , X2 , ...,Xt , se réduit à la loi de probabilité conditionnelle de X t+1 lorsqu’on se donne
seulement la valeur de Xt .
Remarque importante : pour une suite ainsi définie, la connaissance du passé influe sur
l’avenir ; mais, d’un ensemble d’événements passés, seule subsiste l’influence du plus récent.
Si l’on se donne Xt , la connaissance de Xt0 pour t0 > t n’est en rien précisée par la donnée
des valeurs de Xt−1 , Xt−2 , ...,X1 .
Ici t designe un entier, nous avons choisi cette notation (plutôt que n) parce qu’en physique
cette variable représente souvent un temps discret. Nous verrons, en fin de paragraphe la
généralisation à une variable t continue.
Nous nous restreindrons aux Chaı̂nes de Markov “homogènes” où la loi de probabilité
conditionnelle de Xt+1 lorsqu’on se donne la valeur de Xt ne dépend pas de t. Alors la
chaı̂ne de Markov est entiérement déterminée par cette loi de probabilité conditionnelle
appelée “loi de transition” et par la loi de probabilité initiale de la variable aléatoire X 1 .
Nous supposerons aussi que la loi de probabilité conditionnelle de X t+1 lorsqu’on se donne
la valeur de Xt possède une densité de probabilité que nous noterons p(y/x) ou p(x → y),
c’est à dire :
P ({y < Xt+1 < y + dy}/{Xt = x}) = p(y/x)dy = p(x → y)dy (B.1)
Nous nous contenterons d’énoncer quelques résultats sur les chaı̂nes de Markov qui sont
indispensables à la compréhension de l’algorithme de Métropolis de la Méthode de Monte-
Carlo. Nous démontrerons ces résultats dans la cas discret et nous admettrons leur généralisation
pour des variables continues.
114 Chaı̂nes de Markov
B.2.1 Propriétés
Nous nous restreignons ici au cas où les variables aléatoires X t ne peuvent prendre que r
valeurs discrètes :
Xt (ω) ∈ {a1 , a2 , · · · , ar }
A “l’instant” t (discret, lui-aussi), la loi de probabilité de la variable aléatoire X t est définie
par un vecteur ligne π t dont le k ieme élément est P ({Xt = ak })
π t = (P ({Xt = a1 }), P ({Xt = a2 }), P ({Xt = a3 }), ....., P ({Xt = ak }), ...)
C’est à dire que la somme de chaque ligne est 1. On peut traduire cette propriété par la
relation :
p.1 = 1
où 1 est le vecteur colonne dont tous les éléments sont égaux à 1. Cette relation signifie
que le nombre λ = 1 est valeur propre de la matrice p avec pour vecteur propre 1.
soit encore :
P ({Xt+1 = ak } ∩ Ω) = P ({Xt+1 = ak })
On obtient donc
X
(π t+1 )k = P ({Xt+1 = ak }) = P ({Xt = aj })P ({Xt+1 = ak }/{Xt = aj }) (B.2)
j
soit X
(π t+1 )k = (π t )j (p)jk
j
c’est à dire au sens de la multiplication d’un vecteur ligne par une matrice :
π t+1 = π t p
On en déduit
π t+α = π t pα
C’est l’equation de Chapman-Kolmogorov
.
Nous savons que λ = 1 est valeur propre de la matrice de passage p. Nous allons montrer
que c’est la plus grande valeur propre en module de cette matrice, c’est à dire son “rayon
spectral”.
Si λ est valeur propre de la matrice p, alors il existe un vecteur colonne v tel que :
p.v = λv
λu = u.p
soit : X
λuj = ui .pij ∀j
i
et puisque la valeur absolue d’une somme est inférieure ou égale à la somme des valeurs
absolues : X
|λ||uj | ≤ |ui |.|pij | ∀j
i
Si maintenat nous sommons chaque membre sur j, nous obtenons
X XX XX
|λ| |uj | ≤ |ui |.|pij | = |ui |.|pij |
j j i i j
donc
λ≤1
CQFD
π L = π L .p
C’est à dire que π L est un vecteur propre (vecteur ligne) assocé à la valeur propre λ = 1
D’après les paragraphes précédents, il existe au moins une distribution invariante π L , mais
elle n’est pas forcément unique. Pour cela on doit imposer une condition supplémentaire à
la matrice p.
Matrice régulière
Une matrice est non régulière s’il existe une permutation des indices qui permette de la
mettre sous la forme :
A1 B
0 A2
B.2 Chaı̂nes dans un ensemble discret 117
dans ce cas :
A1 B
(0, U ) = (0, U A2 )
0 A2
et en partant d’un état correspondant à la partie droite U du vecteur ligne (0, U ), on reste
dans ce même sous espace, sans jamais atteindre le sous espace correspondant à la partie
gauche.
Une matrice est régulière si elle n’est pas décomposable sous la forme ci-dessus.
Ergodicité
Si la matrice de passage p d’une chaı̂ne de Markov est régulière alors quel que soit le couple
d’états {ai , aj } il existe un entier n tel que la probabilité de passage de a i à aj au bout d’un
temps n soit strictement positive (i.e non nulle). Dans ce cas, tous les états sont visités au
cours du temps, ce qui correspond à la propriété physique “d’ergodicité”.
Le théorème mathématique de Perron-Fröbenius nous dit que pour une matrice non-
négative, régulière la valeur propre correspondant à son rayon spectral (i.e la valeur propre
de plus grand module) est non dégénérée, c’est à dire que le vecteur propre correspondant
est unique.
Pour une chaı̂ne de Markov ergodique, la distribution stationaire π L (i.e vecteur propre
correspondant à la valeur propre maximale λ = 1) est unique.
Les rappels de ce chapitre sont tirés de l’excellent livre de Diu et al. [20]
Soit X une variable aléatoire discrète, sur un ensemble fini, avec pour loi de probabilité :
p(xi ) = P ({X = xi })
c’est à dire :
S[(X, Y )] = S[X] + S[Y ]
Le manque d’information sur le couple est la somme des manques d’information sur
chaque variable.
Plus généralement, si X et Y ne sont pas indépendantes, on peut montrer la propriété
Khinchin a montré que la seule fonction qui satisfasse aux propriétés 1-5 est :
M
X
S = −k p(xi ) ln[p(xi )]
i=1
Pl = 0 sinon
C.2 Systèmes macroscopiques à l’équilibre 121
Cette relation est l’effigie inscrite sur la tombe de Boltzman Cette hypothèse d’équipartition
correspond donc au manque d’information maximal sur le système !
On peut considérer diverses dérivées par rapport aux paramètres extérieurs :
– La température microcanonique T µC :
1
= ∂S µC (E, N, V, ...)/∂E (C.3)
T µC
– Le potential chimique microcanonique :
µµC
= −∂S µC (E, N, V, ...)/∂N (C.4)
T µc
– La pression microcanonique
P µC
= ∂S µC (E, N, V, ...)/∂V (C.5)
T µC
ES + ET = Etot
T c = TTµC
Le systm̀e SU T étant isolé, on peut lui appliquer les postulats de l’ensemble microcanon-
ique. L’union des deux systèmes est caractérisée par l’ensemble des couples états (l, L)
d’energie
El,L = El + EL
122 Rappels de Physique statistique
tels que :
Etot ≤ El,L ≤ Etot + δE
Tous les états microcanoniques sont èquiprobable, et la probabilité P lC de trouver le système
dans létat d’energie l est égale au rapport du nombre détats Ω T (ET = Etotal − El ) du
thermostat
P d’energie ET = Etot − El sur le nombre total d’états de SU T : Ω SU T (Etot ) =
Ω
l T (E T = Etotal − El )
X
PlC = ΩT (Etot − El )/ ΩT (Etot − El )
i
Mais l’energie El est toujours faible devant l’énergie du grand système T , et un développement
au premier ordre donne :
∂S
STµC (Etotal − El ) = STµC (Etotal ) − El (Etot )
∂E
soit
1
STµC (Etotal − El ) = STµC (Etotal ) − El
kT
Ce qui conduit à
PlC = exp[−El /kT ]/Z (C.6)
avec X
Z(T, N, V, ...) = exp[−El /kT ] (C.7)
i
avec β = 1/T
– La chaleur spécifique à volume constant est :
∂ Ē
Cv = (C.10)
∂T
– L’entropie Canonique est :
X
S C (T, V, N, ...) = −k Pl ln[Pl ] = −k(ln Z − Ē/kT ) (C.11)
i
C.2 Systèmes macroscopiques à l’équilibre 123
Soit
X exp(−El /kT El
c
S (T, V, N, ...) = −k − − ln(Z)
Z kT
l
døù
T S c (T, V, N, ...) = Ē + kT ln(Z)
ce qui permet d’écrire l’énergie libre sous la forme habituelle :
F = Ē − T S C (C.12)
µC µC ∂S ∂S
SR = SR (ER , NR ) − El − Nl
∂E ∂N
µC µC 1 µ
SR = SR (ER , NR ) − El + Nl
T T
On deduit :
El − µNl
PlGC = exp[− ]/Z (C.15)
kT
avec :
X El − µNl
Z= exp[− ] (C.16)
kT
l
124 Rappels de Physique statistique
G = −kT ln Z (C.17)
où la seconde somme porte sur le sous ensemble d’etats d’energie E l correspondant à um
mm̂e nombre de particules Nl = n. Ce n’est autre que la fonction de partition canonique
Zn d’un système à n particules.
N
X
Z= [exp(µ/kT )]n Zn
n=1
soit
∂ ln(Z)
N̄ = kT = −∂G/∂µ
∂µ
On postule que la probabilité pour qu’un système qui se trouve à l’état l à l’instant t 0 se
retouve à l’état m à l’instant t0 + dt (dt long devant le temps caractéristique des transitions
microscopiques, mais court à l’échelle macroscopiques est :
– Proportionnel à dt
– indépendant de t0
Pml (t0 , t0 + dt) = aml dt (C.18)
A un instant t, état macroscopique d’un système est caractérisé par l’ensemble des proba-
bilités Pl (t) pour qu’il se trouve dans chacun de ses états microscopiques l.
Soit dPl l’évolution de Pl entre les instants t et t + dt. On peut écrire intuitivement :
C.3 Evolution vers l’équilibre 125
X X
dPl = alm Pm (t)dt − aml Pl (t)dt (C.19)
m m
aµC
lm = 0 si |El − Em | > δE
On a
Pl,L = Pl PLµC (Etot − El )
En substituant dans la relation :
dPl X dPl,L
=
dt dt
L
dPl X
== [aC C
lm Pm (t) − am,l Pl (t)] (C.21)
dt m
avec
aµC µC
X
aC
lm = (l,L)(m,M ) PM (Etot − Em )
M,L
126 Rappels de Physique statistique
aµC µC
X
aC
ml = (m,M )(l,L) PM (Etot − El )
M,L
on a
µC 1
PM (Etot − El ) = = exp[−S µC (Etot − El )]
Ω(Etot − El )
et en développant S µC au premier ordre :
∂S µC
S µC (Etot − El ) = S µC (Etot − El
∂E
on en déduit :
aC C
lm exp(−Em /kT ) = aml exp(−El /kT ) (C.22)
A l’équilibre :
dPl /dt = 0 ∀l
L’équation maı̂tresse sécrit alors :
X
e
[alm Pm − aml Ple ] = 0
m
P µC (E) = 1/Ω(E) E ≤ El ≤ E + δE
µC
P (E) = 0 sinon
On a donc :
PlµC (E) = Pm
µC
(E)
Puisque aµC µC
lm = aml , on a une relation terme à terme beaucoup plus forte, dite rela-
tion du bilan détaillé :
[alm Pm − aml Pl ] = 0 ∀l, ∀m (C.23)
On montre que c’est la seule solution d’équilibre.
C.3 Evolution vers l’équilibre 127
et
aC C
lm exp(−Em /kT ) = aml exp(−El /kT )
D.1 Définition
Système quantique
Un système quantique est décrit par son Hamiltonien H. Ses différents états sont les vecteurs
propres |n > de H, avec pour energies E n les valeurs propres correspondantes :
Dans l’ensemble Canonique, la fonction de partition est, d’après les rappels précédents : :
X
Z= exp(−βEn )
n
avec β = 1/kT .
On peut écrire en considérant une base d’états propres |n >
X
Z= < n| exp(−βH)|n >
n
Z apparaı̂t donc comme la trace de l’opérateur exp(−βH) et on sait que la trace d’un
opérateur ne dépend pas de la base choisie. Donc on ècrit de manière plus générale :
Z = T r[exp(−βH)] (D.1)
La valeur moyenne ou “espérance d’un opérateur O sécrit, dans l’ensemble canonique (cf.
rappels précédents) : : P
< n|O|n > exp(−βEn )
< O >= n
Z
130 Valeurs moyennes d’observables
soit P
n < n|O exp(−βEn )|n >
< O >=
Z
ou encore : P
< n|O exp(−βH)|n >
n
< O >=
Z
On voit apparaı̂tre la trace de l’opérateur O exp(−βH), indépendante du choix de la base.
On écrira :
T r[O exp(−βH)]
< O >= (D.2)
Z
Système classique
Pour un système classique, décrit par un Hamiltonien classique : H(p, x), la valeur moyenne
d’une grandeur physique, ou “observable” O (par exemple : énergie, aimantation pour un
système magnétique, etc...) est, dans l’Ensemble Canonique[21, 22, 23, 20] :
O(x)e−βH(p,x) dpdx
R
< O >= (D.3)
Z
où Z représente la fonction de partition :
Z
Z = e−βH(p,x) dpdx (D.4)
Le premier terme représente l’energie cinétique du système et le second terme E(x) l’energie
potentielle.
Dans ce cas, les intégrales sur les p i se séparent et se simplifient entre numérateur et
dénominateur et on peut écrire plus simplement :
O(x)e−βE(x) dx
R
< O >= (D.6)
Z
avec : Z
Z= e−βE(x) dx (D.7)
La fonction :
f (x) = e−βE(x) /Z (D.8)
D.1 Définition 131
R
est positive et a pour intégrale : f (x)dx = 1, elle peut donc représenter la densité de
probabilité d’une variable aléatoire. Elle est grande dans les portions de l’espace qui nous
intéressent pour la calcul de la valeur moyenne de toute observable O et décroı̂t rapide-
ment en dehors. Elle constitue donc le meilleur choix pour un “échantillonnage suivant
l’importance”.
Nous devons donc avoir recours à un autre procédé d’échantillonnage. Nous utiliserons pour
outil des chaı̂nes de Markov.
132 Valeurs moyennes d’observables
Bibliographie
[1] D.E. Knuth, Seminumerical Algorithms, 2nd. ed. vol. 2 of The Art of Computer Pro-
gramming (Reading, Mass. : Addison-Wesley), (1981).
[2] D.H. Lehmer, Proc. 2nd Symp, Large-Scale Digital Calculating machinery (Harvard
Univ. Press, Cambridge, MA, 1951) pages : 141-146
[3] W. H. Press, B.P. Flannery, S.A. Teukolsky, W.T. Vetterling, Numerical Recipes (Cam-
bridge University Press, New-York) (1986).
[4] G.J. Mitchell and D.P. Moore (1958) unpublished.
[5] Heringa, Blöte, and Compagner, Int. J. Mod. Phys. C3, 561 (1992) et références citées.
[6] R. C. Tauthworthe, Math. Comput. 19, 201 (1965).
[7] J.M. Hammersley et D.C Handscomb, Les Méthodes de Monte-Carlo (Ed. Dunod,
Paris), (1967).
[8] J.W Negele et H. Orland, Quantum Many-Particle System, Chapitre 8 : “Stochastic
methods”, (Ed. Addison-Wesley, New-York) (1988).
[9] N. Metropolis, A. Rosenbluth, M. Rosenbluth, A. Teller et E. Teller, J. Chem. Phys.
21, 1087 (1953).
[10] L. Verlet, Phys. Rev. 159, 98 (1967).
[11] M.P. Allen et D.J. Tildesley, Computer Simulation of Liquids, Clarendon Press, Oxford
(1987).
[12] J.B. Kogut, J. of Stat. Phys. 43, 771 (1986).
[13] A.D. Kennedy, Nuclear Physics B (Proc. Suppl.) 4, 576 (1988).
[14] M. Rosenbluth, A Rosenbluth, J. Chem. Phys. 23, 356 (1954).
[15] D. Frenkel, G. Mooij, B. Smith, J. Phys. Cond. Mat. 3, 3053 (1991).
[16] R.P. Feynman and A.R. Hibbs, Quantum Mechanics and Path Integrals, Ed. Mc Graw-
Hill (1965).
[17] D.M. Ceperley, Rev. Mod. Phys. 67, 279 (1995).
Voir aussi les cours de Ceperley, accesssibles gratuitement sur internet :
http ://people.physics.uiuc.edu/Ceperley/papers/163.pdf
http ://www.phys.uri.edu/ nigh/QMC-NATO/webpage/abstracts/ceperley.ps
134 BIBLIOGRAPHIE
[18] J. Bass, Eléments de calcul des probabilités ; théorique et appliqué. Ed. Masson [Paris]
(1967).
[19] J. Neveu, Cours de probabilités : Ecole Polytechnique (1974) ; même auteur : Proba-
bilités, Edition 1995, Ecole Polytechnique [Palaiseau, France].
[20] B. Diu, C. Guthmann, D. Lederer, B. Roulet, Physique Statistique, Hermann Paris
(1989).
[21] R. Balian, Du microscopique au macroscopique, Cours de Physique statistique de
l’Ecole polytechnique, tomes 1 et 2. Ellipses (1982).
[22] L. Landau et E. Lifschitz, Physique Statistique, Editions Mir, Moscou (1967).
[23] F. Reif, Fundamentals of Statistical and Thermal Physics, McGraw-Hill, New York
(1965).