Documentation updated

This commit is contained in:
fjosw 2021-11-17 13:43:40 +00:00
parent abe15bf716
commit c3585e6559
3 changed files with 95 additions and 64 deletions

View file

@ -205,6 +205,9 @@ The standard value for the parameter $S$ of this automatic windowing procedure i
<p>The integrated autocorrelation time $\tau_\mathrm{int}$ and the autocorrelation function $\rho(W)$ can be monitored via the methods <code><a href="pyerrors/obs.html#Obs.plot_tauint">pyerrors.obs.Obs.plot_tauint</a></code> and <code><a href="pyerrors/obs.html#Obs.plot_tauint">pyerrors.obs.Obs.plot_tauint</a></code>.</p>
<p>If the parameter $S$ is set to zero it is assumed that dataset does not exhibit any autocorrelation and the windowsize is chosen to be zero.
In this case the error estimate is identical to the sample standard error.</p>
<h3 id="exponential-tails">Exponential tails</h3>
<p>Slow modes in the Monte Carlo history can be accounted for by attaching an exponential tail to the autocorrelation function $\rho$ as suggested in <a href="https://arxiv.org/abs/1009.5228">arXiv:1009.5228</a>. The longest autocorrelation time in the history, $\tau_\mathrm{exp}$, can be passed to the <code>gamma_method</code> as parameter. In this case the automatic windowing procedure is vacated and the parameter $S$ does not affect the error estimate.</p>
@ -454,6 +457,9 @@ See <code><a href="pyerrors/obs.html#Obs.export_jackknife">pyerrors.obs.Obs.expo
<span class="sd">The integrated autocorrelation time $\tau_\mathrm{int}$ and the autocorrelation function $\rho(W)$ can be monitored via the methods `pyerrors.obs.Obs.plot_tauint` and `pyerrors.obs.Obs.plot_tauint`.</span>
<span class="sd">If the parameter $S$ is set to zero it is assumed that dataset does not exhibit any autocorrelation and the windowsize is chosen to be zero.</span>
<span class="sd">In this case the error estimate is identical to the sample standard error.</span>
<span class="sd">### Exponential tails</span>
<span class="sd">Slow modes in the Monte Carlo history can be accounted for by attaching an exponential tail to the autocorrelation function $\rho$ as suggested in [arXiv:1009.5228](https://arxiv.org/abs/1009.5228). The longest autocorrelation time in the history, $\tau_\mathrm{exp}$, can be passed to the `gamma_method` as parameter. In this case the automatic windowing procedure is vacated and the parameter $S$ does not affect the error estimate.</span>

View file

@ -472,20 +472,21 @@
<span class="k">return</span> <span class="n">res</span>
<span class="k">def</span> <span class="nf">gamma_method</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Calculate the error and related properties of the Obs.</span>
<span class="sd">&quot;&quot;&quot;Estimate the error and related properties of the Obs.</span>
<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
<span class="sd"> S : float</span>
<span class="sd"> specifies a custom value for the parameter S (default 2.0), can be</span>
<span class="sd"> a float or an array of floats for different ensembles</span>
<span class="sd"> specifies a custom value for the parameter S (default 2.0).</span>
<span class="sd"> If set to 0 it is assumed that the data exhibits no</span>
<span class="sd"> autocorrelation. In this case the error estimates coincides</span>
<span class="sd"> with the sample standard error.</span>
<span class="sd"> tau_exp : float</span>
<span class="sd"> positive value triggers the critical slowing down analysis</span>
<span class="sd"> (default 0.0), can be a float or an array of floats for different</span>
<span class="sd"> ensembles</span>
<span class="sd"> (default 0.0).</span>
<span class="sd"> N_sigma : float</span>
<span class="sd"> number of standard deviations from zero until the tail is</span>
<span class="sd"> attached to the autocorrelation function (default 1)</span>
<span class="sd"> attached to the autocorrelation function (default 1).</span>
<span class="sd"> fft : bool</span>
<span class="sd"> determines whether the fft algorithm is used for the computation</span>
<span class="sd"> of the autocorrelation function (default True)</span>
@ -597,10 +598,17 @@
<span class="bp">self</span><span class="o">.</span><span class="n">e_ddvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_dvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">((</span><span class="n">n</span> <span class="o">+</span> <span class="mf">0.5</span><span class="p">)</span> <span class="o">/</span> <span class="n">e_N</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_windowsize</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">n</span>
<span class="k">break</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">S</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">==</span> <span class="mf">0.0</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.5</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_dtauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.0</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_dvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">e_gamma</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">/</span> <span class="p">(</span><span class="n">e_N</span> <span class="o">-</span> <span class="mi">1</span><span class="p">))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_ddvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_dvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="mf">0.5</span> <span class="o">/</span> <span class="n">e_N</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_windowsize</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">else</span><span class="p">:</span>
<span class="c1"># Standard automatic windowing procedure</span>
<span class="n">g_w</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">S</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">((</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_n_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">1</span><span class="p">:]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_n_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">1</span><span class="p">:]</span> <span class="o">-</span> <span class="mi">1</span><span class="p">))</span>
<span class="n">g_w</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span> <span class="o">/</span> <span class="n">g_w</span><span class="p">)</span> <span class="o">-</span> <span class="n">g_w</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span> <span class="o">*</span> <span class="n">e_N</span><span class="p">)</span>
<span class="n">tau</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">S</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">((</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_n_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">1</span><span class="p">:]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_n_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">1</span><span class="p">:]</span> <span class="o">-</span> <span class="mi">1</span><span class="p">))</span>
<span class="n">g_w</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span> <span class="o">/</span> <span class="n">tau</span><span class="p">)</span> <span class="o">-</span> <span class="n">tau</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span> <span class="o">*</span> <span class="n">e_N</span><span class="p">)</span>
<span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">):</span>
<span class="k">if</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="n">w_max</span> <span class="o">//</span> <span class="mi">2</span> <span class="o">-</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">_compute_drho</span><span class="p">(</span><span class="n">n</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
@ -2061,20 +2069,21 @@
<span class="k">return</span> <span class="n">res</span>
<span class="k">def</span> <span class="nf">gamma_method</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Calculate the error and related properties of the Obs.</span>
<span class="sd">&quot;&quot;&quot;Estimate the error and related properties of the Obs.</span>
<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
<span class="sd"> S : float</span>
<span class="sd"> specifies a custom value for the parameter S (default 2.0), can be</span>
<span class="sd"> a float or an array of floats for different ensembles</span>
<span class="sd"> specifies a custom value for the parameter S (default 2.0).</span>
<span class="sd"> If set to 0 it is assumed that the data exhibits no</span>
<span class="sd"> autocorrelation. In this case the error estimates coincides</span>
<span class="sd"> with the sample standard error.</span>
<span class="sd"> tau_exp : float</span>
<span class="sd"> positive value triggers the critical slowing down analysis</span>
<span class="sd"> (default 0.0), can be a float or an array of floats for different</span>
<span class="sd"> ensembles</span>
<span class="sd"> (default 0.0).</span>
<span class="sd"> N_sigma : float</span>
<span class="sd"> number of standard deviations from zero until the tail is</span>
<span class="sd"> attached to the autocorrelation function (default 1)</span>
<span class="sd"> attached to the autocorrelation function (default 1).</span>
<span class="sd"> fft : bool</span>
<span class="sd"> determines whether the fft algorithm is used for the computation</span>
<span class="sd"> of the autocorrelation function (default True)</span>
@ -2186,10 +2195,17 @@
<span class="bp">self</span><span class="o">.</span><span class="n">e_ddvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_dvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">((</span><span class="n">n</span> <span class="o">+</span> <span class="mf">0.5</span><span class="p">)</span> <span class="o">/</span> <span class="n">e_N</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_windowsize</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">n</span>
<span class="k">break</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">S</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">==</span> <span class="mf">0.0</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.5</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_dtauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.0</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_dvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">e_gamma</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">/</span> <span class="p">(</span><span class="n">e_N</span> <span class="o">-</span> <span class="mi">1</span><span class="p">))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_ddvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_dvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="mf">0.5</span> <span class="o">/</span> <span class="n">e_N</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_windowsize</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">else</span><span class="p">:</span>
<span class="c1"># Standard automatic windowing procedure</span>
<span class="n">g_w</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">S</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">((</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_n_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">1</span><span class="p">:]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_n_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">1</span><span class="p">:]</span> <span class="o">-</span> <span class="mi">1</span><span class="p">))</span>
<span class="n">g_w</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span> <span class="o">/</span> <span class="n">g_w</span><span class="p">)</span> <span class="o">-</span> <span class="n">g_w</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span> <span class="o">*</span> <span class="n">e_N</span><span class="p">)</span>
<span class="n">tau</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">S</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">((</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_n_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">1</span><span class="p">:]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_n_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">1</span><span class="p">:]</span> <span class="o">-</span> <span class="mi">1</span><span class="p">))</span>
<span class="n">g_w</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span> <span class="o">/</span> <span class="n">tau</span><span class="p">)</span> <span class="o">-</span> <span class="n">tau</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span> <span class="o">*</span> <span class="n">e_N</span><span class="p">)</span>
<span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">):</span>
<span class="k">if</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="n">w_max</span> <span class="o">//</span> <span class="mi">2</span> <span class="o">-</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">_compute_drho</span><span class="p">(</span><span class="n">n</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
@ -3010,20 +3026,21 @@ already subtracted from the samples</li>
<details>
<summary>View Source</summary>
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="nf">gamma_method</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Calculate the error and related properties of the Obs.</span>
<span class="sd">&quot;&quot;&quot;Estimate the error and related properties of the Obs.</span>
<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
<span class="sd"> S : float</span>
<span class="sd"> specifies a custom value for the parameter S (default 2.0), can be</span>
<span class="sd"> a float or an array of floats for different ensembles</span>
<span class="sd"> specifies a custom value for the parameter S (default 2.0).</span>
<span class="sd"> If set to 0 it is assumed that the data exhibits no</span>
<span class="sd"> autocorrelation. In this case the error estimates coincides</span>
<span class="sd"> with the sample standard error.</span>
<span class="sd"> tau_exp : float</span>
<span class="sd"> positive value triggers the critical slowing down analysis</span>
<span class="sd"> (default 0.0), can be a float or an array of floats for different</span>
<span class="sd"> ensembles</span>
<span class="sd"> (default 0.0).</span>
<span class="sd"> N_sigma : float</span>
<span class="sd"> number of standard deviations from zero until the tail is</span>
<span class="sd"> attached to the autocorrelation function (default 1)</span>
<span class="sd"> attached to the autocorrelation function (default 1).</span>
<span class="sd"> fft : bool</span>
<span class="sd"> determines whether the fft algorithm is used for the computation</span>
<span class="sd"> of the autocorrelation function (default True)</span>
@ -3135,10 +3152,17 @@ already subtracted from the samples</li>
<span class="bp">self</span><span class="o">.</span><span class="n">e_ddvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_dvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">((</span><span class="n">n</span> <span class="o">+</span> <span class="mf">0.5</span><span class="p">)</span> <span class="o">/</span> <span class="n">e_N</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_windowsize</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">n</span>
<span class="k">break</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">S</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">==</span> <span class="mf">0.0</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.5</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_dtauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.0</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_dvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">e_gamma</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">/</span> <span class="p">(</span><span class="n">e_N</span> <span class="o">-</span> <span class="mi">1</span><span class="p">))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_ddvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_dvalue</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="mf">0.5</span> <span class="o">/</span> <span class="n">e_N</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">e_windowsize</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">else</span><span class="p">:</span>
<span class="c1"># Standard automatic windowing procedure</span>
<span class="n">g_w</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">S</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">((</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_n_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">1</span><span class="p">:]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_n_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">1</span><span class="p">:]</span> <span class="o">-</span> <span class="mi">1</span><span class="p">))</span>
<span class="n">g_w</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span> <span class="o">/</span> <span class="n">g_w</span><span class="p">)</span> <span class="o">-</span> <span class="n">g_w</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span> <span class="o">*</span> <span class="n">e_N</span><span class="p">)</span>
<span class="n">tau</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">S</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">((</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_n_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">1</span><span class="p">:]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">e_n_tauint</span><span class="p">[</span><span class="n">e_name</span><span class="p">][</span><span class="mi">1</span><span class="p">:]</span> <span class="o">-</span> <span class="mi">1</span><span class="p">))</span>
<span class="n">g_w</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span> <span class="o">/</span> <span class="n">tau</span><span class="p">)</span> <span class="o">-</span> <span class="n">tau</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span> <span class="o">*</span> <span class="n">e_N</span><span class="p">)</span>
<span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">w_max</span><span class="p">):</span>
<span class="k">if</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="n">w_max</span> <span class="o">//</span> <span class="mi">2</span> <span class="o">-</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">_compute_drho</span><span class="p">(</span><span class="n">n</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
@ -3163,21 +3187,22 @@ already subtracted from the samples</li>
</details>
<div class="docstring"><p>Calculate the error and related properties of the Obs.</p>
<div class="docstring"><p>Estimate the error and related properties of the Obs.</p>
<h6 id="parameters">Parameters</h6>
<ul>
<li><strong>S</strong> (float):
specifies a custom value for the parameter S (default 2.0), can be
a float or an array of floats for different ensembles</li>
specifies a custom value for the parameter S (default 2.0).
If set to 0 it is assumed that the data exhibits no
autocorrelation. In this case the error estimates coincides
with the sample standard error.</li>
<li><strong>tau_exp</strong> (float):
positive value triggers the critical slowing down analysis
(default 0.0), can be a float or an array of floats for different
ensembles</li>
(default 0.0).</li>
<li><strong>N_sigma</strong> (float):
number of standard deviations from zero until the tail is
attached to the autocorrelation function (default 1)</li>
attached to the autocorrelation function (default 1).</li>
<li><strong>fft</strong> (bool):
determines whether the fft algorithm is used for the computation
of the autocorrelation function (default True)</li>

File diff suppressed because one or more lines are too long