diff --git a/index.html b/index.html index 8a30474..2c435d2 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +[0/3]
Last things to do[0/3]
Last things to doThis website contains the QMC tutorial of the 2021 LTTC winter school @@ -514,8 +514,8 @@ coordinates, etc).
For a given system with Hamiltonian \(\hat{H}\) and wave function \(\Psi\), we define the local energy as @@ -593,8 +593,8 @@ $$ E ≈ \frac{1}{N\rm MC} ∑i=1N\rm MC
In this section, we consider the hydrogen atom with the following @@ -623,8 +623,8 @@ To do that, we will compute the local energy and check whether it is constant.
You will now program all quantities needed to compute the local energy of the H atom for the given wave function. @@ -651,8 +651,8 @@ to catch the error.
@@ -696,8 +696,8 @@ and returns the potential.
Python @@ -737,8 +737,8 @@ and returns the potential.
@@ -773,8 +773,8 @@ input arguments, and returns a scalar.
Python @@ -801,8 +801,8 @@ input arguments, and returns a scalar.
@@ -883,8 +883,8 @@ Therefore, the local kinetic energy is
Python @@ -925,8 +925,8 @@ Therefore, the local kinetic energy is
@@ -969,8 +969,8 @@ local kinetic energy.
Python @@ -1000,8 +1000,8 @@ local kinetic energy.
@@ -1011,8 +1011,8 @@ Find the theoretical value of \(a\) for which \(\Psi\) is an eigenfunction of \(
@@ -1044,8 +1044,8 @@ choose a grid which does not contain the origin.
@@ -1128,8 +1128,8 @@ plot './data' index 0 using 1:2 with lines title 'a=0.1', \
Python @@ -1204,8 +1204,8 @@ plt.savefig("plot_py.png")
If the space is discretized in small volume elements \(\mathbf{r}_i\) @@ -1235,8 +1235,8 @@ The energy is biased because:
@@ -1305,8 +1305,8 @@ To compile the Fortran and run it:
Python @@ -1421,8 +1421,8 @@ a = 2.0000000000000000 E = -8.0869806678448772E-002
The variance of the local energy is a functional of \(\Psi\) @@ -1449,8 +1449,8 @@ energy can be used as a measure of the quality of a wave function.
@@ -1461,8 +1461,8 @@ Prove that :
\(\bar{E} = \langle E \rangle\) is a constant, so \(\langle \bar{E} @@ -1481,8 +1481,8 @@ Prove that :
@@ -1556,8 +1556,8 @@ To compile and run:
Python @@ -1694,8 +1694,8 @@ a = 2.0000000000000000 E = -8.0869806678448772E-002 s2 = 1.8068814
Numerical integration with deterministic methods is very efficient @@ -1711,8 +1711,8 @@ interval.
To compute the statistical error, you need to perform \(M\) @@ -1752,8 +1752,8 @@ And the confidence interval is given by
@@ -1791,8 +1791,8 @@ input array.
Python @@ -1851,8 +1851,8 @@ input array.
We will now perform our first Monte Carlo calculation to compute the @@ -1913,8 +1913,8 @@ compute the statistical error.
@@ -2014,8 +2014,8 @@ well as the index of the current step.
Python @@ -2129,8 +2129,8 @@ E = -0.49518773675598715 +/- 5.2391494923686175E-004
We will now use the square of the wave function to sample random @@ -2261,11 +2261,16 @@ accepted steps over the total number of steps. Adjusting the time step such that the acceptance rate is close to 0.5 is a good compromise for the current problem.
+ ++NOTE: below, we use the symbol dt for dL for reasons which will +become clear later. +
@@ -2372,8 +2377,8 @@ Can you observe a reduction in the statistical error?
Python @@ -2518,8 +2523,8 @@ A = 0.51695266666666673 +/- 4.0445505648997396E-004
To obtain Gaussian-distributed random numbers, you can apply the
@@ -2582,8 +2587,8 @@ In Python, you can use the
-
One can use more efficient numerical schemes to move the electrons by choosing a smarter expression for the transition probability.
@@ -2715,8 +2720,8 @@ Evaluate \(\Psi\) and \(\frac{\nabla \Psi(\mathbf{r})}{\Psi(\mathbf{r})}\) at th
@@ -2750,8 +2755,8 @@ Write a function to compute the drift vector \(\frac{\nabla \Psi(\mathbf{r})}{\P
Python
@@ -2784,8 +2789,8 @@ Write a function to compute the drift vector \(\frac{\nabla \Psi(\mathbf{r})}{\P
@@ -2879,8 +2884,8 @@ Modify the previous program to introduce the drift-diffusion scheme.
Python
@@ -3066,12 +3071,12 @@ A = 0.78839866666666658 +/- 3.2503783452043152E-004
Consider the time-dependent Schrödinger equation:
@@ -3079,13 +3084,17 @@ Consider the time-dependent Schrödinger equation:
\[
- i\frac{\partial \Psi(\mathbf{r},t)}{\partial t} = \hat{H} \Psi(\mathbf{r},t)\,.
+ i\frac{\partial \Psi(\mathbf{r},t)}{\partial t} = (\hat{H} -E_T) \Psi(\mathbf{r},t)\,.
\]
+where we introduced a shift in the energy, \(E_T\), which will come useful below.
+
We can expand a given starting wave function, \(\Psi(\mathbf{r},0)\), in the basis of the eigenstates
-of the time-independent Hamiltonian:
+of the time-independent Hamiltonian, \(\Phi_k\), with energies \(E_k\):
@@ -3100,7 +3109,7 @@ The solution of the Schrödinger equation at time \(t\) is
\[
- \Psi(\mathbf{r},t) = \sum_k a_k \exp \left( -i\, E_k\, t \right) \Phi_k(\mathbf{r}).
+ \Psi(\mathbf{r},t) = \sum_k a_k \exp \left( -i\, (E_k-E_T)\, t \right) \Phi_k(\mathbf{r}).
\]
\[
- -\frac{\partial \psi(\mathbf{r}, \tau)}{\partial \tau} = \hat{H} \psi(\mathbf{r}, \tau)
+ -\frac{\partial \psi(\mathbf{r}, \tau)}{\partial \tau} = (\hat{H} -E_T) \psi(\mathbf{r}, \tau)
\]
where \(\psi(\mathbf{r},\tau) = \Psi(\mathbf{r},-i\,)\)
and
-\[
- \psi(\mathbf{r},\tau) = \sum_k a_k \exp( -E_k\, \tau) \phi_k(\mathbf{r}).
- \]
+\begin{eqnarray*}
+ψ(\mathbf{r},τ) &=& ∑k ak exp( -Ek\, τ) φk(\mathbf{r})
For large positive values of \(\tau\), \(\psi\) is dominated by the
-\(k=0\) term, namely the lowest eigenstate.
-So we can expect that simulating the differetial equation in
+\(k=0\) term, namely, the lowest eigenstate. If we adjust \(E_T\) to the running estimate of \(E_0\),
+we can expect that simulating the differetial equation in
imaginary time will converge to the exact ground state of the
system.
-The diffusion equation of particles is given by
+The imaginary-time Schrödinger equation can be explicitly written in terms of the kinetic and
+potential energies as
+
+\[
+ \frac{\partial \psi(\mathbf{r}, \tau)}{\partial \tau} = \left(\frac{1}{2}\Delta - [V(\mathbf{r}) -E_T]\right) \psi(\mathbf{r}, \tau)\,.
+ \]
+
+We can simulate this differential equation as a diffusion-branching process.
+
+To this this, recall that the diffusion equation of particles is given by
@@ -3144,7 +3173,7 @@ The diffusion equatio
-The rate of reaction \(v\) is the speed at which a chemical reaction
+Furthermore, the rate of reaction \(v\) is the speed at which a chemical reaction
takes place. In a solution, the rate is given as a function of the
concentration \([A]\) by
The diffusion equation can be simulated by a Brownian motion:
+
\[ \mathbf{r}_{n+1} = \mathbf{r}_{n} + \sqrt{\delta t}\, \chi \]
+
where \(\chi\) is a Gaussian random variable, and the rate equation
can be simulated by creating or destroying particles over time (a
so-called branching process).
@@ -3185,11 +3220,11 @@ the combination of a diffusion process and a branching process.
-In a molecular system, the potential is far from being constant,
+In a molecular system, the potential is far from being constant
and diverges at inter-particle coalescence points. Hence, when the
rate equation is simulated, it results in very large fluctuations
in the numbers of particles, making the calculations impossible in
@@ -3243,8 +3278,8 @@ error known as the fixed node error.
\[
@@ -3306,8 +3341,8 @@ Defining \(\Pi(\mathbf{r},t) = \psi(\mathbf{r},\tau)
Now that we have a process to sample \(\Pi(\mathbf{r},\tau) =
@@ -3359,8 +3394,8 @@ energies computed with the trial wave function.
Instead of having a variable number of particles to simulate the
@@ -3412,13 +3447,13 @@ code, so this is what we will do in the next section.
@@ -3517,8 +3552,8 @@ energy of H for any value of \(a\).
Python
@@ -3734,8 +3769,8 @@ A = 0.98788066666666663 +/- 7.2889356133441110E-005
We will now consider the H2 molecule in a minimal basis composed of the
@@ -3756,8 +3791,8 @@ the nuclei.
3.5 Generalized Metropolis algorithm
+3.5 Generalized Metropolis algorithm
3.5.1 Exercise 1
+3.5.1 Exercise 1
3.5.1.1 Solution solution
+3.5.1.1 Solution solution
3.5.2 Exercise 2
+3.5.2 Exercise 2
3.5.2.1 Solution solution
+3.5.2.1 Solution solution
4 Diffusion Monte Carlo solution
+4 Diffusion Monte Carlo solution
4.1 Schrödinger equation in imaginary time
+4.1 Schrödinger equation in imaginary time
+ &=& exp(-(E0-ET)\, τ)∑k ak exp( -(Ek-E0)\, τ) φk(\mathbf{r})\,.
+\begin{eqnarray*}
+4.2 Diffusion and branching
+4.2 Diffusion and branching
4.3 Importance sampling
+4.3 Importance sampling
4.3.1 Appendix : Details of the Derivation
+4.3.1 Appendix : Details of the Derivation
4.4 Fixed-node DMC energy
+4.4 Fixed-node DMC energy
4.5 Pure Diffusion Monte Carlo (PDMC)
+4.5 Pure Diffusion Monte Carlo (PDMC)
4.6 Hydrogen atom
+4.6 Hydrogen atom
4.6.1 Exercise
+4.6.1 Exercise
4.6.1.1 Solution solution
+4.6.1.1 Solution solution
4.7 TODO H2
+4.7 TODO H2
5 TODO
+[0/3]
Last things to do5 TODO
[0/3]
Last things to do
[ ]
Give some hints of how much time is required for each section