Así que podría comenzar con el propagador, encadenarlos e integrarlos sobre los valores intermedios y terminará con una versión discretizada de la integral de trayectoria. Sin embargo, esto es bastante tedioso, así que escribamos la ecuación de diferencia estocástica:
ΔXnorte= − λ Δ t +2–√ΔWnorte
Aquí
ΔWnorte
son incrementos gaussianos independientes con varianza
Δt _
y media
0
;
W0= 0
. Note entonces que
∑norte− 1norte = 0ΔWnorte=Wnorte−W0=Wnorte∼ norte( 0 , Δ t norte)
ya que la varianza es aditiva. Así que supongo que puedes ver a dónde vamos con esto:
Xnorte−X0=∑norte = 0norte− 1ΔXnorte=∑norte = 0norte− 1( - λ Δ t +2–√ΔWnorte) = − λ Δ t norte+2–√Wnorte
Entonces
Xnorte
se distribuye normalmente con media
X0− λ Δ t norte
y varianza
2 Δ t norte
.
Ahora nada de esto está relacionado con Orstein--Uhlenbeck. Tal vez en su lugar quisiste decir:
ΔXnorte= − λXnorteΔ t +2–√ΔWnorte
Esto, al igual que lo anterior, se puede resolver de manera muy similar al SDE correspondiente. Comienza por lo más simple:
ΔZnorte= − λZnorteΔt ⇒ _Znorte + 1= ( 1 − λ Δ t )Znorte⇒Znorte= ( 1 − λ Δ t)norteZ0
, y así hacemos la sustitución
Xnorte= ( 1 − λ Δ t)norteYnorte
a la ecuación original y quedan:
( 1 - λ Δ t)norte + 1Ynorte + 1− ( 1 − λ Δ t)norteYnorte= − λ ( 1 − λ Δ t)norteYnorteΔ t +2–√ΔWnorte
o reorganizar
ΔYnorte=2–√( 1 - λ Δ t)norte + 1ΔWnorte
De este modo
Ynorte
es nuevamente solo una suma de normales, tan malo
Y0
y varianza
2∑norte− 1norte = 0(1( 1 - λ Δ t)2)norte + 1Δ t = 2 Δ t1 - ( 1 - λ Δ t)− 2 norte( 1 - λ Δ t)2− 1
, y entonces
Xnorte∼ norte(X0( 1 - λ Δ t)norte, 2 Δ t( 1 - λ Δ t)2 norte− 1( 1 - λ Δ t)2− 1)
Para cerrar, algo de código Python:
import numpy as np
import matplotlib.pyplot as plt
dt = .01
N = 100
l = .05
X0 = .75
M = 1000000
res = np.zeros(M) + X0
for _ in range(N):
res += -l*res*dt + np.sqrt(2*dt) * np.random.randn(M)
yy, xx = np.histogram(res, 128, normed=True)
plt.plot(.5*(xx[1:]+xx[:-1]), yy, 'b')
mu = X0 * (1-l*dt)**N
sigma = np.sqrt(2*dt*(((1-l*dt)**(2*N)-1) / ((1-l*dt)**2 - 1)))
plt.plot(xx, 1./np.sqrt(2*np.pi*sigma**2)*np.exp(-(xx-mu)**2/(2*sigma**2)), 'r-.')
Y los gráficos van uno encima del otro:
EstadísticaMecánica
EstadísticaMecánica
un gran