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>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> <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> <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">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">### 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> <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">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="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"> Parameters</span>
<span class="sd"> ----------</span> <span class="sd"> ----------</span>
<span class="sd"> S : float</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"> specifies a custom value for the parameter S (default 2.0).</span>
<span class="sd"> a float or an array of floats for different ensembles</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"> tau_exp : float</span>
<span class="sd"> positive value triggers the critical slowing down analysis</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"> (default 0.0).</span>
<span class="sd"> ensembles</span>
<span class="sd"> N_sigma : float</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"> 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"> fft : bool</span>
<span class="sd"> determines whether the fft algorithm is used for the computation</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> <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_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="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">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="k">else</span><span class="p">:</span>
<span class="c1"># Standard automatic windowing procedure</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">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">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">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">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="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> <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">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="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"> Parameters</span>
<span class="sd"> ----------</span> <span class="sd"> ----------</span>
<span class="sd"> S : float</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"> specifies a custom value for the parameter S (default 2.0).</span>
<span class="sd"> a float or an array of floats for different ensembles</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"> tau_exp : float</span>
<span class="sd"> positive value triggers the critical slowing down analysis</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"> (default 0.0).</span>
<span class="sd"> ensembles</span>
<span class="sd"> N_sigma : float</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"> 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"> fft : bool</span>
<span class="sd"> determines whether the fft algorithm is used for the computation</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> <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_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="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">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="k">else</span><span class="p">:</span>
<span class="c1"># Standard automatic windowing procedure</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">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">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">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">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="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> <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> <details>
<summary>View Source</summary> <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> <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"> Parameters</span>
<span class="sd"> ----------</span> <span class="sd"> ----------</span>
<span class="sd"> S : float</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"> specifies a custom value for the parameter S (default 2.0).</span>
<span class="sd"> a float or an array of floats for different ensembles</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"> tau_exp : float</span>
<span class="sd"> positive value triggers the critical slowing down analysis</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"> (default 0.0).</span>
<span class="sd"> ensembles</span>
<span class="sd"> N_sigma : float</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"> 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"> fft : bool</span>
<span class="sd"> determines whether the fft algorithm is used for the computation</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> <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_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="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">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="k">else</span><span class="p">:</span>
<span class="c1"># Standard automatic windowing procedure</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">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">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">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">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="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> <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> </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> <h6 id="parameters">Parameters</h6>
<ul> <ul>
<li><strong>S</strong> (float): <li><strong>S</strong> (float):
specifies a custom value for the parameter S (default 2.0), can be specifies a custom value for the parameter S (default 2.0).
a float or an array of floats for different ensembles</li> 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): <li><strong>tau_exp</strong> (float):
positive value triggers the critical slowing down analysis positive value triggers the critical slowing down analysis
(default 0.0), can be a float or an array of floats for different (default 0.0).</li>
ensembles</li>
<li><strong>N_sigma</strong> (float): <li><strong>N_sigma</strong> (float):
number of standard deviations from zero until the tail is 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): <li><strong>fft</strong> (bool):
determines whether the fft algorithm is used for the computation determines whether the fft algorithm is used for the computation
of the autocorrelation function (default True)</li> of the autocorrelation function (default True)</li>

File diff suppressed because one or more lines are too long