Reblocking

A common approach to obtain $L_c$ is to use the reblocking procedure, which we now explain. Suppose we split our simulation into $N$ blocks of length $L/N$ and consider the averages:

$\displaystyle \langle A \rangle_i^N = \frac{1}{L/N} \sum_{n=\frac{L}{N} i + 1}^{\frac{L}{N}(i+1)} A (n \delta t), \quad \quad i = 0, N-1.$ (7.101)

The average of $A$ over the whole simulation is obviously unaffected by this reblocking procedure:

$\displaystyle \langle A \rangle = \frac{1}{L} \sum_{n=1}^L A (n \delta t) = \frac{1}{N} \sum_{i=0}^{N-1} \langle A \rangle_i^N.$ (7.102)

Now consider the root mean square fluctuations of the averages $\langle A \rangle_i^N$'s:

$\displaystyle \sigma(\langle A \rangle^N) = \left[\frac{1}{N} \sum_{i=0}^{N-1} \left (\langle A \rangle_i^N\right )^2 - \langle A \rangle^2 \right]^{1/2}.$ (7.103)

If the averages $\langle A \rangle_i^N$ are all statistically independent from each other, then the standard deviation on the average can be obtained as

$\displaystyle \sigma_N(\langle A \rangle) = \frac{\sigma(\langle A \rangle^N)}{\sqrt{N}}$ (7.104)

independently on the value of $N$, as long as $N$ is large enough to have a sufficient number of samples 7.3. By contrast, if the averages $\langle A \rangle_i^N$ are correlated we have:

$\displaystyle \sigma_N(\langle A \rangle) < \sigma(\langle A \rangle).$ (7.105)

Figure: Left panel: the energy of a system of 64 MgO formula units along a molecular dynamics simulation performed at Earth's mantle conditions. Right panel: the quantity $\sigma_N(\langle A \rangle)$ defined in [*] as function of block length $L/N$.
\includegraphics[width=5.5cm]{en.pdf} \includegraphics[width=5.5cm]{reb.pdf}
We see from this discussion what is the route to the evaluation of $\sigma(\langle A \rangle)$: if we progressively increase the length $L/N$ of each block, at some point the averages $\langle A \rangle_i^N$'s become statistically independent. When this happens, the inequality in [*] becomes an equality. Therefore, by computing $\sigma_N(\langle A \rangle)$ using [*] for a set of block length's we have a procedure to estimate $\sigma(\langle A \rangle)$. Starting with $N=L$ (block length equal to one), and working our way up (reducing $N$) we find that $\sigma_N(\langle A \rangle)$ increases, and at some point it reaches a plateau. The value of $\sigma_N(\langle A \rangle)$ on the plateau provides an estimate of $\sigma(\langle A \rangle)$. An example of $\sigma_N(\langle A \rangle)$ for a simulation of MgO at Earth's mantle conditions is plotted in the right panel of Fig. [*]. Here the quantity $A$ is the energy of the system (eV units), plotted in the left panel of Fig. [*] in and the total length of the simulation is $L=2048$ steps. We see that at the plateau the standard deviation of $\langle A \rangle$ over this simulation length is equal to $\approx 1.5$ eV.