mirror of
https://github.com/TREX-CoE/qmc-lttc.git
synced 2024-12-13 16:03:48 +01:00
24 lines
516 B
Python
24 lines
516 B
Python
from hydrogen import *
|
|
from qmc_stats import *
|
|
|
|
norm_gauss = 1./(2.*np.pi)**(1.5)
|
|
def gaussian(r):
|
|
return norm_gauss * np.exp(-np.dot(r,r)*0.5)
|
|
|
|
def MonteCarlo(a,nmax):
|
|
E = 0.
|
|
N = 0.
|
|
for istep in range(nmax):
|
|
r = np.random.normal(loc=0., scale=1.0, size=(3))
|
|
w = psi(a,r)
|
|
w = w*w / gaussian(r)
|
|
N += w
|
|
E += w * e_loc(a,r)
|
|
return E/N
|
|
|
|
a = 0.9
|
|
nmax = 100000
|
|
X = [MonteCarlo(a,nmax) for i in range(30)]
|
|
E, deltaE = ave_error(X)
|
|
print(f"E = {E} +/- {deltaE}")
|