mirror of
https://github.com/TREX-CoE/qmc-lttc.git
synced 2024-12-22 04:15:01 +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}")
|