Sei sulla pagina 1di 30

Il metodo Monte Carlo con lequazione di

Langevin
applicazione alla meccanica quantistica

Davide Dardani - Emanuele Santonastaso


6 Luglio, 2018
Metodi probabilistici della Fisica
Indice

1. Moto Browniano

2. Equazione di Langevin

3. Metodi numerici

4. L’equazione di Langevin come metodo Monte Carlo

5. Quantizzazione stocastica

6. Simulazione numerica per l’oscillatore armonico quantistico

7. Simulazione numerica per l’oscillatore quartico

1
Moto Browniano
Storia del Moto Browniano

• Nel 1827 un certo Robert Brown, osservando al microscopio particelle di polline, notò che esse presentavano un continuo
movimento e che tale moto avveniva lungo direzioni casuali. Brown ipotizzò che il moto fosse causato dalla vitalità del polline e,
nonostante osservò la stessa cosa in pulviscoli non biologici, non seppe dare altra spiegazione.
• Alla fine del XIX secolo, il chimico francese Leon Gouy ipotizzò per primo che il moto osservato da Brown fosse dovuto
allagitazione termica degli atomi costituenti la materia, ma non sviluppò una teoria verificabile del fenomeno.
• Nel 1905 Albert Einstein, durante il suo annus mirabilis, pubblicò un articolo che trattava il moto Browniano dal punto di vista
matematico fornendo un modello che poteva essere sperimentalmente verificato.

2
Definizione assiomatica

Tralasciando i particolari della trattazione matematica, il moto


Browniano standard può essere definito, coerentemente con quanto
mostrato da Einstein, per
via assiomatica:
1. Per ogni istante t1 , t2 , ..., tN le variabili aleatorie W (t1 ), W (t2 ), ...,
W (tN ) sono mutuamente Gaussiane
2. W (0) = 0 allora E(W (t)) = 0
3. La varianza σ 2 = E(W (t)2 ) − [E(W (t))]2 = E(W (t)2 ) = t
4. La covarianza E[W (t) · W (s)] = min{t, s}

3
Moto Browniano standard in 3-DIM

Il moto Browniano standard è descritto da una variabile aleatoria


proveniente da una Gaussiana con media nulla e varianza unitaria.

4
Equazione di Langevin
Introduzione
Il lavoro di Einstein sul moto Browniano fu ulteriormente sviluppato da Marian
Smoluchowski e Paul Langevin, che, generalizzarono il modello inizialmente formulato
per il moto Browniano.

Cos’è l’equazione di Langevin?


1. E’ una generalizzazione del moto Browniano
2. Tiene conto delle presenza di un campo di forze
3. E’ un’equazione differenziale stocastica (EDS)

Nella sua forma più generale assume la seguente espressione:



dx (t) = b(x (t)) dt + σ(x (t)) dW (t) (1)
Dove:

x (t) è una generica funzione a valori in RN


b(x (t)) viene detto termine di drift
σ(x (t)) è una funzione analitica, assunta spesso costante
W (t) rappresenta il moto Browniano standard in N dimensioni.

Ai giorni nostri le EDS si apprestano a descrivere una vasta gamma di fenomeni dalla
5
fisica alla finanza, dalla chimica alle telecomunicazioni.
EDS lineari: Processo di Ornstein-Uhlembeck

Descrive una particella Browniana legata da una forza elastica ad un


punto fisso posto per comodità nell’origine.
L’espressione che descrive tale processo è rappresentata dalla
seguente equazione differenziale stocastica lineare

dx (t) = −λx (t) dt + dW (t) (2)

Risolvendo l’equazione (1) come un EDS lineare disomogenea si


ottiene ∫ t
x (t) = x (0) e −λt + e −λ(t−τ ) dW (τ ) (3)
0

Dove x (t) risulta come una combinazione lineare di variabili


gaussiane W (τ ), dunque anch’essa è una variabile gaussiana.

6
EDS lineari: Processo di Ornstein-Uhlembeck

Sfruttando i precedenti assiomi per il moto Browniano e imponendo che il


processo parta da x (0) = 0, si possono ricavare il valor medio e la
correlazione:

∫ t
E[x (t)] = e −λ(t−τ ) E[dW (τ )] = 0 (4)
0

D ( −λ(t−t ′ ) ′
)
E[x (t) x (t ′ )] = e − e −λ(t+t ) (5)

Dalla (5) per t = t ′ si ottiene la varianza relativa al processo x (t):

D
σ2 = (1 − e −2λt ) (6)

7
Metodi numerici
Metodo di Eulero e dei Trapezzi

Il più semplice fra i metodi numerici è il metodo di Eulero, infatti introducendo una
griglia temporale (t0 , t1 , t2 , ..., tN ) l’equazione (1) in forma numerica assume la
seguente forma:
x (tn+1 ) ≈ x (tn ) + b(x (tn )) · h + σ W (tn ) (7)
dove h = tn+1 − tn ed è il passo numerico di integrazione, a tal proposito l’equazione
(1) può essere vista come integrale fra t e t + h:
∫ t+h
x (t + h) = b(x (t ′ )) dt ′ + σ∆W (t) (8)
t

Approssimando l’integrale con il metodo dei trapezi, si ottiene la seguente forma


numerica:
h
x (tn+1 ) ≈ [b(x (tn+1 )) + b(x (tn ))] + σ∆W (tn ) (9)
2
Come per ogni metodo numerico, si ha un errore di troncamento che con Eulero scala
con h, che, per tempi lunghi, rende la traiettoria sempre più affetta da un errore
globale di discretizzazione. Il metodo dei Trapezi, dove la parte implicita è risolta
dell’Eulero, risulta essere più accurato, precisamente dell’ordine di O(h3/2 ).

8
Test degli algoritmi

I due algoritmi sono stati messi alla prova con il processo di Ornstein-Uhlenbeck, il
quale, essendo nota la soluzione, fornisce un ottimo strumento per valutare l’efficenza
degli algoritmi numerici.
Ripetendo la simulazione più volte in modo da accumulare statistica e valutando
l’errore relativo sulla varianza per il punto finale della traiettoria, si ottiene:

L’Eulero-trapezi mostra un errore la cui distribuzione è molto più vicina allo zero
rispetto all’Eulero, inoltre ha una dispersione più contenuta.
Questo risultato ha portato a optare per l’utilizzo di tale metodo nelle simulazioni che
verranno trattate in seguito.

9
L’equazione di Langevin
come metodo Monte Carlo
Processi diffusivi - Equazione di Fokker-Planck

Per un generico processo diffusivo, all’equazione di Langevin si può associare una


probabilità PI che x (t) si trovi al tempo t in una
∫ specifica posizione in uno spazio
I ∈ RN , tale probabilità è della forma PI (t) = P(x , t) dx .
I
La densità di probabilità P(x , t) del processo diffusivo x (t) deve soddisfare, sotto
opportune condizioni, la cosiddetta equazione di Fokker-Planck:
∂P(x , t) 1
= ∆(σ(x )P(x , t)) − ∇ · (b(x )P(x , t)) (10)
∂t 2
Nel caso in cui b(x ) sia un campo irrotazionale e σ una costante, si può porre
b(x ) = ∇ρ(x ), la soluzione stazionaria della (10) è data in via generica da:
2 σ
P(x ) = e σ ρ(x ) ⇒ ρ(x ) = log P(x ) (11)
2
Dove ρ(x ) è una funzione scelta in modo che tale che b(x ) = ∇ρ(x ).

10
Langevin come metodo Monte Carlo

Ragionando in senso inverso è possibile preassegnare la distribuzione stazionaria e


ricavare b(x ), per esempio nel caso della distribuzione di Gibbs:
[σ ( )] β
b(x ) = ∇ρ = ∇ log Z −1 e −βH(x ) =− σ ∇H(x ) (12)
2 2

Dato che in questo caso σ è una costante, può essere scelto per comodità come
σ = 2/β e, quindi, l’equazione di Langevin assume la forma:

dx (t ′ ) = −∇H(x ) dt ′ + 2/β dW (t ′ ) (13)

Dunque per tempi sufficientemente grandi, la variabile aleatoria x (t) tenderà


asintoticamente alla distribuzione stazionaria che, in questo caso, coincide con quella
di Gibbs, questo processo viene chiamato fase di termalizzazione.
Per questo motivo l’equazione di Langevin nel suo complesso produce variabili
aleatorie distrubuite secondo una certa distribuzione di probabilità e questo è proprio
quello che fa un metodo Monte Carlo.

11
Quantizzazione stocastica
Quantizzazione stocastica I

Il metodo della quantizzazione stocastica fu proposto nel 1981 da


Parisi e Wu ed estende l’applicazione dell’equazione di Langevin alla
M.Q. L’idea parte dal fatto che la meccanica quantistica formulata a
tempo immaginario coincide con la meccanica statistica classica.

La formulazione equivalente della M.Q. si basa sugli integrali di cammino di Feynman


detti anche path integrals, i quali, formulati a tempo immaginario τ = it, assumono la
seguente espressione:

⟨ ⟩ 1
xf |e H(τf −τi )
|xi = D[x (τ )] e − ℏ SE (x ) (14)

Dove:
• D[x (t)] rappresenta la somma su tutti i possibili cammini fra xi e xf
• SE (x ) rappresenta l’azione Euclidea a tempo immaginario
∫ τfin [ ]
m 2
SE (x ) = ẋ + V (x ) dτ (15)
τin
2

12
Quantizzazione stocastica II
Classicamente, il valore medio di un’osservabile O per un sistema all’equilibrio termico
coincide con la media pesata rispetto al fattore di Gibbs exp(−βH):

Πi dxi O e −βH(x )
⟨O⟩ = ∫ (16)
Πi dxi e −βH(x )
Grazie ai path integrals introdotti da Feynman, si ritrova l’analogo quantistico della
relazione (16):
∫ 1
D[x ] O e − ℏ SE (x )
⟨O⟩ = ∫ 1
(17)
D[x ] e − ℏ SE (x )
Dunque la media dell’osservabile O risulta pesata rispetto al nuovo fattore
exp[−ℏ−1 SE (x )], dalla soluzione per l’equazione di Fokker-Planck si trova il nuovo
drift:
σ
b(x ) = ∇ρ = − ∇SE (x ) (18)
2ℏ
Assumendo per comodità σ = 2ℏ

la quale assume la forma di una derivata funzionale che a livello classico produce le
equazioni del moto di Eulero-Lagrange a tempo immaginario:
δSE (x )
b(x ) = = −mẍ + V ′ (x ) (19)
δx

13
Quantizzazione stocastica III
L’equazione di Langevin assume la seguente forma:
( )
∂x (t, τ ) ∂ 2 x (t, τ ) √
= m − V ′ (x ) + 2ℏ dW (t, τ ) (20)
∂τ ∂t 2
Dove si distinguono due tipologie di tempi:

• Il tempo t è quello classico interno ad una singola configurazione e determina


l’ordine temporale delle componenti stesse
• Il tempo τ è quello che scandisce le varie configurazioni in evoluzione verso la
distribuzione stazionaria a partire dalla configurazione iniziale

Dalla costruzione cosiffatta si può notare una conseguenza interessante: infatti se,
come osservabile O, si considera la quantità x (t) x (s) si può sviluppare
l’autocorrelazione statistica in termini di path integrals, studiando l’andamento per
|t-s| grande il segnale è dominato dal primo livello eccitato:


⟨x (t) x (s)⟩ ≈ | ⟨E0 |q|E1 ⟩ |2 e −(E1 −E0 ) |t−s|/ℏ (21)
E

In questo modo dalla pendenza della curva di correlazione in scala logaritmica si può
ottenere una stima del gap di energia fra lo stato fondamentale ed il primo livello
eccitato.
14
Simulazione numerica per
l’oscillatore armonico
quantistico
Il "problema" della derivata seconda

La prima questione rilevante da trattare per la simulazione, riguarda il problema della


scomoda derivata ẍ in forma discreta che compare nel termine cinetico del drift.
Per potenziare l’algoritmo ed evitare iterazioni interne aggiuntive al codice si può
estrapolare una tecnica basata sulla seguente proprietà della trasformata di Fourier:
( )
dnf
F = (−iωk )n · F (f ) (22)
dt n
Si consideri ora f (τ ) = F (x (t, τ )); il solo contributo cinetico del Langevin implica che
la x (t, τ ) dovrà obbedire a:
∂x (t, τ ) ∂ 2 x (t, τ )
= (23)
∂τ ∂t 2
Sostituendo f (τ ) alla x (t, τ ) si ottiene un’equazione differenziale a variabili separabili
che può essere integrata fra τ e τ + ∆τ ottenendo:
ωk2
f (τ + ∆τ ) = f (τ ) · e −∆τ (24)

Ed infine si ritorna alla variabile x (t, τ ) con la trasformata inversa:


ωk2
x (t, τ + ∆τ ) = F −1 [F (x ) · e −∆τ ] (25)

15
La misura di correlazione

La trasformata di Fourier, che in termini pratici è realizzata come Fast Fourier


Transform (FFT), risulta utile anche nell’ottimizzare la misura della correlazione dai
dati prodotti dall’algoritmo centrale.
A tal proposito la correlazione può essere definita in termini di convoluzione:
∫ +∞
def
C (s) = ⟨x (t) x (s)⟩ = x ∗ (t) x (t + s) = (x ⋆ x ) (t) (26)
−∞

Per la trasformata di una convoluzione vale la proprietà secondo la quale ciò è


equivalente al prodotto fra la trasformata di Fourier e la sua complessa coniugata:

F (C (s)) = F [(x ⋆ x ) (s)] = F (x (t))∗ · F (x (t + s)) (27)

Quindi con la trasformata inversa si ritorna a C (s):

C (s) = F −1 [F (x (t))∗ · F (x (t + s))] (28)

In generale l’utilizzo della FFT è dunque in grado di ridurre drasticamente il tempo di


macchina e permette di rendere più accurata la simulazione.

16
Stima del gap

Nel caso in esame, per l’oscillatore armonico il termine di potenziale che entra
nell’algoritmo è dato da:
m 2 2 ∂V (x )
V (x ) = ω x ⇒ V ′ (x ) = = m ω2 x (29)
2 ∂x
Una volta termalizzata la configurazione viene fatta ulteriormente evolvere in modo da
accumulare statistica e misurare la correlazione: il gap E1 − E0 si ricava direttamente
dalla pendenza in scala logaritmica.
I livelli energetici possono essere
espressi in funzione del numero
quantico n:
( )
1
En = n+ ℏω (30)
2
Assumendo ℏ = ω = 1 si ha
proprio che il gap fra il primo
livello eccitato e lo stato
fondamentale vale E1 − E0 = 1

17
Simulazione numerica per
l’oscillatore quartico
Analogia con la teoria delle perturbazioni

Il caso dell’oscillatore quartico prevede l’introduzione di un potenziale del tipo:


ẋ 2
V (x ) = + g x4 (31)
2
Come si può notare il contributo dato dal secondo termine di (31) equivale
all’introduzione di un potenziale perturbativo al caso dell’oscillatore armonico
(ℏ = ω = 1) e considerando un valore piccolo di g è possibile avere una stima teorica
precisa dal relativo sviluppo perturbativo:
(1) (1)
E1 − E0 = 1 + g (C1 − C1 ) + g 2 (C2 − C2 ) + ... (32)

Dove i Cj (1) ed i Cj sono i coefficienti dello sviluppo perturbativo rispettivamente per


E1 ed E0 .

18
I coefficienti perturbativi

I valori dei coefficienti perturbativi possono essere calcolati sfruttando il linguaggio


simbolico degli ambienti Form o Mathematica. Nella grafico qui riportato viene
mostrato l’andamento del gap stimato in funzione del numero di termini dello sviluppo
perturbativo (fino a g 10 ).

Come si può notare il valore di g = 0.01 è


1.028425
g = 0.01
ancora sufficientemente piccolo da
1.02842
garantire che la serie perturbativa non
1.028415 diverga. Per valori di g più grandi la serie
1.02841 perturbativa tende ad esplodere ed i singoli
1.028405
termini invece di dare un contributo
sempre più piccolo tendono a diventare
1.0284
sempre più grandi ed in quei casi il metodo
1.028395
perturbativo non è applicabile nel ricavare
1.02839
una stima teorica del gap.
1.028385
3 4 5 6 7 8 9 10

19
Stima del gap dalla simulazione
Introducendo la derivata del potenziale (31) all’interno del drift ed ottimizzando i
parametri è stato possibile ottenere la stima del gap dai dati simulati dal Monte Carlo.

Come si può notare la stima del gap risulta confrontabile con il valore calcolato
mediante la serie perturbativa. In questo caso si sono palesate più difficoltà rispetto
all’oscillatore armonico: è stato riscontrato un forte rallentamento dell’algoritmo,
tanto da non riuscire a superare inizialmente i 1000 steps. La causa del rallentamento
si è rilevata essere semplicemente l’elevamento a potenza x 3 che compare nel drift: 20
sostituendolo nel codice con x · x · x la velocità di calcolo è rientrata nella norma.
Il metodo di Padè
Per valori di g non abbastanza piccoli (in questo caso g = 0.1) la serie perturbativa
tende a divergere asintoticamente. Il problema può essere risolto applicando il metodo
di Padè, ovvero riscrivendo la serie perturbativa come rapporto fra polinomi:
a0 + a1 g + a2 g 2 + ...
C + C1 g + C2 g 2 + ... = (33)
1 + b1 g + b2 g 2 + ...
I coefficienti dei due polinomi si possono determinare risolvendo un sistema di
equazioni a0 = c0 , a1 = c1 + c0 b1 , ... oppure usando direttamente il comando "pade"
incluso nel calcolo simbolico in MATLAB. Con tale metodo è garantita la convergenza.

40 1.36
g = 0.1 g = 0.1
20 1.34

0 1.32

-20 1.3

-40 1.28

-60 1.26

-80 1.24

-100 1.22

-120 1.2

-140 1.18

-160 1.16
3 4 5 6 7 8 9 10 3 4 5 6 7 8 9 10

21
Stima del gap per g = 0.1

In questo caso la procedura adottata nei casi precedenti si è rivelata inefficace in


quanto l’errore sistematico dovuto al passo discreto ∆τ ha assunto una maggiore
evidenza andando a falsare il valore del gap ricavato come pendenza della correlazione.
Infatti una singola simulazione produce in questo caso valori attorno ad 1.40 che è
completamente fuori scala rispetto al riferimento 1.21

Per risolvere il problema sono stati misurati


1.9 i valori del gap dimezzando di volta in
Dati Monte Carlo
1.8
volta il passo ∆τ . Quindi i valori del gap
in funzione del passo ∆τ sono stati
1.7
interpolati linearmente in modo da
estrapolare il gap per ∆τ → 0 come
1.6

1.5
intercetta della retta interpolante.
1.4 Il valore ottenuto non è tecnicamente
1.3 confrontabile con 1.21 ma gli si avvicina in
1.2
modo accettabile.
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035

22

Potrebbero piacerti anche