mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-05-15 12:03:42 +02:00
Documentation updated
This commit is contained in:
parent
bf3eda40c2
commit
eec13a754e
9 changed files with 744 additions and 670 deletions
|
@ -423,8 +423,8 @@
|
|||
<span class="k">def</span> <span class="nf">roll</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dt</span><span class="p">):</span>
|
||||
<span class="sd">"""Periodically shift the correlator by dt timeslices</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> dt : int</span>
|
||||
<span class="sd"> number of timeslices</span>
|
||||
<span class="sd"> """</span>
|
||||
|
@ -461,9 +461,6 @@
|
|||
<span class="sd"> weight : Obs</span>
|
||||
<span class="sd"> Reweighting factor. An Observable that has to be defined on a superset of the</span>
|
||||
<span class="sd"> configurations in obs[i].idl for all i.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> all_configs : bool</span>
|
||||
<span class="sd"> if True, the reweighted observables are normalized by the average of</span>
|
||||
<span class="sd"> the reweighting factor on all configurations in weight.idl and not</span>
|
||||
|
@ -480,8 +477,8 @@
|
|||
<span class="k">def</span> <span class="nf">T_symmetry</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">partner</span><span class="p">,</span> <span class="n">parity</span><span class="o">=+</span><span class="mi">1</span><span class="p">):</span>
|
||||
<span class="sd">"""Return the time symmetry average of the correlator and its partner</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> partner : Corr</span>
|
||||
<span class="sd"> Time symmetry partner of the Corr</span>
|
||||
<span class="sd"> partity : int</span>
|
||||
|
@ -506,8 +503,8 @@
|
|||
<span class="k">def</span> <span class="nf">deriv</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">symmetric</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<span class="sd">"""Return the first derivative of the correlator with respect to x0.</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> symmetric : bool</span>
|
||||
<span class="sd"> decides whether symmertic of simple finite differences are used. Default: True</span>
|
||||
<span class="sd"> """</span>
|
||||
|
@ -611,8 +608,8 @@
|
|||
<span class="k">def</span> <span class="nf">fit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">function</span><span class="p">,</span> <span class="n">fitrange</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Fits function to the data</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> function : obj</span>
|
||||
<span class="sd"> function to fit to the data. See fits.least_squares for details.</span>
|
||||
<span class="sd"> fitrange : list</span>
|
||||
|
@ -644,8 +641,8 @@
|
|||
<span class="k">def</span> <span class="nf">plateau</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">plateau_range</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">method</span><span class="o">=</span><span class="s2">"fit"</span><span class="p">):</span>
|
||||
<span class="sd">""" Extract a plateu value from a Corr object</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> plateau_range : list</span>
|
||||
<span class="sd"> list with two entries, indicating the first and the last timeslice</span>
|
||||
<span class="sd"> of the plateau region.</span>
|
||||
|
@ -775,8 +772,8 @@
|
|||
<span class="k">def</span> <span class="nf">dump</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">filename</span><span class="p">):</span>
|
||||
<span class="sd">"""Dumps the Corr into a pickel file</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> filename : str</span>
|
||||
<span class="sd"> Name of the file</span>
|
||||
<span class="sd"> """</span>
|
||||
|
@ -1225,8 +1222,8 @@
|
|||
<span class="k">def</span> <span class="nf">roll</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dt</span><span class="p">):</span>
|
||||
<span class="sd">"""Periodically shift the correlator by dt timeslices</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> dt : int</span>
|
||||
<span class="sd"> number of timeslices</span>
|
||||
<span class="sd"> """</span>
|
||||
|
@ -1263,9 +1260,6 @@
|
|||
<span class="sd"> weight : Obs</span>
|
||||
<span class="sd"> Reweighting factor. An Observable that has to be defined on a superset of the</span>
|
||||
<span class="sd"> configurations in obs[i].idl for all i.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> all_configs : bool</span>
|
||||
<span class="sd"> if True, the reweighted observables are normalized by the average of</span>
|
||||
<span class="sd"> the reweighting factor on all configurations in weight.idl and not</span>
|
||||
|
@ -1282,8 +1276,8 @@
|
|||
<span class="k">def</span> <span class="nf">T_symmetry</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">partner</span><span class="p">,</span> <span class="n">parity</span><span class="o">=+</span><span class="mi">1</span><span class="p">):</span>
|
||||
<span class="sd">"""Return the time symmetry average of the correlator and its partner</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> partner : Corr</span>
|
||||
<span class="sd"> Time symmetry partner of the Corr</span>
|
||||
<span class="sd"> partity : int</span>
|
||||
|
@ -1308,8 +1302,8 @@
|
|||
<span class="k">def</span> <span class="nf">deriv</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">symmetric</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<span class="sd">"""Return the first derivative of the correlator with respect to x0.</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> symmetric : bool</span>
|
||||
<span class="sd"> decides whether symmertic of simple finite differences are used. Default: True</span>
|
||||
<span class="sd"> """</span>
|
||||
|
@ -1413,8 +1407,8 @@
|
|||
<span class="k">def</span> <span class="nf">fit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">function</span><span class="p">,</span> <span class="n">fitrange</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Fits function to the data</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> function : obj</span>
|
||||
<span class="sd"> function to fit to the data. See fits.least_squares for details.</span>
|
||||
<span class="sd"> fitrange : list</span>
|
||||
|
@ -1446,8 +1440,8 @@
|
|||
<span class="k">def</span> <span class="nf">plateau</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">plateau_range</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">method</span><span class="o">=</span><span class="s2">"fit"</span><span class="p">):</span>
|
||||
<span class="sd">""" Extract a plateu value from a Corr object</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> plateau_range : list</span>
|
||||
<span class="sd"> list with two entries, indicating the first and the last timeslice</span>
|
||||
<span class="sd"> of the plateau region.</span>
|
||||
|
@ -1577,8 +1571,8 @@
|
|||
<span class="k">def</span> <span class="nf">dump</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">filename</span><span class="p">):</span>
|
||||
<span class="sd">"""Dumps the Corr into a pickel file</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> filename : str</span>
|
||||
<span class="sd"> Name of the file</span>
|
||||
<span class="sd"> """</span>
|
||||
|
@ -2190,8 +2184,8 @@ timeslice and the error on each timeslice.</p>
|
|||
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="nf">roll</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dt</span><span class="p">):</span>
|
||||
<span class="sd">"""Periodically shift the correlator by dt timeslices</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> dt : int</span>
|
||||
<span class="sd"> number of timeslices</span>
|
||||
<span class="sd"> """</span>
|
||||
|
@ -2202,10 +2196,12 @@ timeslice and the error on each timeslice.</p>
|
|||
|
||||
<div class="docstring"><p>Periodically shift the correlator by dt timeslices</p>
|
||||
|
||||
<h2 id="attributes">Attributes:</h2>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>dt : int
|
||||
number of timeslices</p>
|
||||
<ul>
|
||||
<li><strong>dt</strong> (int):
|
||||
number of timeslices</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2287,9 +2283,6 @@ timeslice and the error on each timeslice.</p>
|
|||
<span class="sd"> weight : Obs</span>
|
||||
<span class="sd"> Reweighting factor. An Observable that has to be defined on a superset of the</span>
|
||||
<span class="sd"> configurations in obs[i].idl for all i.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> all_configs : bool</span>
|
||||
<span class="sd"> if True, the reweighted observables are normalized by the average of</span>
|
||||
<span class="sd"> the reweighting factor on all configurations in weight.idl and not</span>
|
||||
|
@ -2314,14 +2307,11 @@ timeslice and the error on each timeslice.</p>
|
|||
<li><strong>weight</strong> (Obs):
|
||||
Reweighting factor. An Observable that has to be defined on a superset of the
|
||||
configurations in obs[i].idl for all i.</li>
|
||||
<li><strong>all_configs</strong> (bool):
|
||||
if True, the reweighted observables are normalized by the average of
|
||||
the reweighting factor on all configurations in weight.idl and not
|
||||
on the configurations in obs[i].idl.</li>
|
||||
</ul>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
|
||||
<p>all_configs : bool
|
||||
if True, the reweighted observables are normalized by the average of
|
||||
the reweighting factor on all configurations in weight.idl and not
|
||||
on the configurations in obs[i].idl.</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2339,8 +2329,8 @@ configurations in obs[i].idl for all i.</li>
|
|||
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="nf">T_symmetry</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">partner</span><span class="p">,</span> <span class="n">parity</span><span class="o">=+</span><span class="mi">1</span><span class="p">):</span>
|
||||
<span class="sd">"""Return the time symmetry average of the correlator and its partner</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> partner : Corr</span>
|
||||
<span class="sd"> Time symmetry partner of the Corr</span>
|
||||
<span class="sd"> partity : int</span>
|
||||
|
@ -2367,12 +2357,14 @@ configurations in obs[i].idl for all i.</li>
|
|||
|
||||
<div class="docstring"><p>Return the time symmetry average of the correlator and its partner</p>
|
||||
|
||||
<h2 id="attributes">Attributes:</h2>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>partner : Corr
|
||||
Time symmetry partner of the Corr
|
||||
partity : int
|
||||
Parity quantum number of the correlator, can be +1 or -1</p>
|
||||
<ul>
|
||||
<li><strong>partner</strong> (Corr):
|
||||
Time symmetry partner of the Corr</li>
|
||||
<li><strong>partity</strong> (int):
|
||||
Parity quantum number of the correlator, can be +1 or -1</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2390,8 +2382,8 @@ partity : int
|
|||
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="nf">deriv</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">symmetric</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<span class="sd">"""Return the first derivative of the correlator with respect to x0.</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> symmetric : bool</span>
|
||||
<span class="sd"> decides whether symmertic of simple finite differences are used. Default: True</span>
|
||||
<span class="sd"> """</span>
|
||||
|
@ -2421,10 +2413,12 @@ partity : int
|
|||
|
||||
<div class="docstring"><p>Return the first derivative of the correlator with respect to x0.</p>
|
||||
|
||||
<h2 id="attributes">Attributes:</h2>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>symmetric : bool
|
||||
decides whether symmertic of simple finite differences are used. Default: True</p>
|
||||
<ul>
|
||||
<li><strong>symmetric</strong> (bool):
|
||||
decides whether symmertic of simple finite differences are used. Default: True</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2566,8 +2560,8 @@ guess for the root finder, only relevant for the root variant</li>
|
|||
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="nf">fit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">function</span><span class="p">,</span> <span class="n">fitrange</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Fits function to the data</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> function : obj</span>
|
||||
<span class="sd"> function to fit to the data. See fits.least_squares for details.</span>
|
||||
<span class="sd"> fitrange : list</span>
|
||||
|
@ -2601,15 +2595,17 @@ guess for the root finder, only relevant for the root variant</li>
|
|||
|
||||
<div class="docstring"><p>Fits function to the data</p>
|
||||
|
||||
<h2 id="attributes">Attributes:</h2>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>function : obj
|
||||
function to fit to the data. See fits.least_squares for details.
|
||||
fitrange : list
|
||||
Range in which the function is to be fitted to the data.
|
||||
If not specified, self.prange or all timeslices are used.
|
||||
silent : bool
|
||||
Decides whether output is printed to the standard output.</p>
|
||||
<ul>
|
||||
<li><strong>function</strong> (obj):
|
||||
function to fit to the data. See fits.least_squares for details.</li>
|
||||
<li><strong>fitrange</strong> (list):
|
||||
Range in which the function is to be fitted to the data.
|
||||
If not specified, self.prange or all timeslices are used.</li>
|
||||
<li><strong>silent</strong> (bool):
|
||||
Decides whether output is printed to the standard output.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2627,8 +2623,8 @@ silent : bool
|
|||
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="nf">plateau</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">plateau_range</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">method</span><span class="o">=</span><span class="s2">"fit"</span><span class="p">):</span>
|
||||
<span class="sd">""" Extract a plateu value from a Corr object</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> plateau_range : list</span>
|
||||
<span class="sd"> list with two entries, indicating the first and the last timeslice</span>
|
||||
<span class="sd"> of the plateau region.</span>
|
||||
|
@ -2663,15 +2659,17 @@ silent : bool
|
|||
|
||||
<div class="docstring"><p>Extract a plateu value from a Corr object</p>
|
||||
|
||||
<h2 id="attributes">Attributes:</h2>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>plateau_range : list
|
||||
list with two entries, indicating the first and the last timeslice
|
||||
of the plateau region.
|
||||
method : str
|
||||
method to extract the plateau.
|
||||
'fit' fits a constant to the plateau region
|
||||
'avg', 'average' or 'mean' just average over the given timeslices.</p>
|
||||
<ul>
|
||||
<li><strong>plateau_range</strong> (list):
|
||||
list with two entries, indicating the first and the last timeslice
|
||||
of the plateau region.</li>
|
||||
<li><strong>method</strong> (str):
|
||||
method to extract the plateau.
|
||||
'fit' fits a constant to the plateau region
|
||||
'avg', 'average' or 'mean' just average over the given timeslices.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2851,8 +2849,8 @@ path to file in which the figure should be saved</li>
|
|||
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="nf">dump</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">filename</span><span class="p">):</span>
|
||||
<span class="sd">"""Dumps the Corr into a pickel file</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> filename : str</span>
|
||||
<span class="sd"> Name of the file</span>
|
||||
<span class="sd"> """</span>
|
||||
|
@ -2864,10 +2862,12 @@ path to file in which the figure should be saved</li>
|
|||
|
||||
<div class="docstring"><p>Dumps the Corr into a pickel file</p>
|
||||
|
||||
<h2 id="attributes">Attributes:</h2>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>filename : str
|
||||
Name of the file</p>
|
||||
<ul>
|
||||
<li><strong>filename</strong> (str):
|
||||
Name of the file</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -175,7 +175,7 @@
|
|||
<span class="k">def</span> <span class="nf">least_squares</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">priors</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Performs a non-linear fit to y = func(x).</span>
|
||||
|
||||
<span class="sd"> Arguments:</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> x : list</span>
|
||||
<span class="sd"> list of floats.</span>
|
||||
|
@ -203,22 +203,23 @@
|
|||
<span class="sd"> enough.</span>
|
||||
<span class="sd"> silent : bool, optional</span>
|
||||
<span class="sd"> If true all output to the console is omitted (default False).</span>
|
||||
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> initial_guess -- can provide an initial guess for the input parameters. Relevant for</span>
|
||||
<span class="sd"> initial_guess : list</span>
|
||||
<span class="sd"> can provide an initial guess for the input parameters. Relevant for</span>
|
||||
<span class="sd"> non-linear fits with many parameters.</span>
|
||||
<span class="sd"> method -- can be used to choose an alternative method for the minimization of chisquare.</span>
|
||||
<span class="sd"> The possible methods are the ones which can be used for scipy.optimize.minimize and</span>
|
||||
<span class="sd"> migrad of iminuit. If no method is specified, Levenberg-Marquard is used.</span>
|
||||
<span class="sd"> Reliable alternatives are migrad, Powell and Nelder-Mead.</span>
|
||||
<span class="sd"> resplot -- If true, a plot which displays fit, data and residuals is generated (default False).</span>
|
||||
<span class="sd"> qqplot -- If true, a quantile-quantile plot of the fit result is generated (default False).</span>
|
||||
<span class="sd"> expected_chisquare -- If true prints the expected chisquare which is</span>
|
||||
<span class="sd"> corrected by effects caused by correlated input data.</span>
|
||||
<span class="sd"> This can take a while as the full correlation matrix</span>
|
||||
<span class="sd"> has to be calculated (default False).</span>
|
||||
<span class="sd"> method : str</span>
|
||||
<span class="sd"> can be used to choose an alternative method for the minimization of chisquare.</span>
|
||||
<span class="sd"> The possible methods are the ones which can be used for scipy.optimize.minimize and</span>
|
||||
<span class="sd"> migrad of iminuit. If no method is specified, Levenberg-Marquard is used.</span>
|
||||
<span class="sd"> Reliable alternatives are migrad, Powell and Nelder-Mead.</span>
|
||||
<span class="sd"> resplot : bool</span>
|
||||
<span class="sd"> If true, a plot which displays fit, data and residuals is generated (default False).</span>
|
||||
<span class="sd"> qqplot : bool</span>
|
||||
<span class="sd"> If true, a quantile-quantile plot of the fit result is generated (default False).</span>
|
||||
<span class="sd"> expected_chisquare : bool</span>
|
||||
<span class="sd"> If true prints the expected chisquare which is</span>
|
||||
<span class="sd"> corrected by effects caused by correlated input data.</span>
|
||||
<span class="sd"> This can take a while as the full correlation matrix</span>
|
||||
<span class="sd"> has to be calculated (default False).</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="n">priors</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">_prior_fit</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">priors</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="n">silent</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||
|
@ -370,6 +371,8 @@
|
|||
<span class="k">def</span> <span class="nf">total_least_squares</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Performs a non-linear fit to y = func(x) and returns a list of Obs corresponding to the fit parameters.</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> x : list</span>
|
||||
<span class="sd"> list of Obs, or a tuple of lists of Obs</span>
|
||||
<span class="sd"> y : list</span>
|
||||
|
@ -392,15 +395,14 @@
|
|||
<span class="sd"> silent : bool, optional</span>
|
||||
<span class="sd"> If true all output to the console is omitted (default False).</span>
|
||||
<span class="sd"> Based on the orthogonal distance regression module of scipy</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> initial_guess -- can provide an initial guess for the input parameters. Relevant for non-linear</span>
|
||||
<span class="sd"> fits with many parameters.</span>
|
||||
<span class="sd"> expected_chisquare -- If true prints the expected chisquare which is</span>
|
||||
<span class="sd"> corrected by effects caused by correlated input data.</span>
|
||||
<span class="sd"> This can take a while as the full correlation matrix</span>
|
||||
<span class="sd"> has to be calculated (default False).</span>
|
||||
<span class="sd"> initial_guess : list</span>
|
||||
<span class="sd"> can provide an initial guess for the input parameters. Relevant for non-linear</span>
|
||||
<span class="sd"> fits with many parameters.</span>
|
||||
<span class="sd"> expected_chisquare : bool</span>
|
||||
<span class="sd"> If true prints the expected chisquare which is</span>
|
||||
<span class="sd"> corrected by effects caused by correlated input data.</span>
|
||||
<span class="sd"> This can take a while as the full correlation matrix</span>
|
||||
<span class="sd"> has to be calculated (default False).</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="n">output</span> <span class="o">=</span> <span class="n">Fit_result</span><span class="p">()</span>
|
||||
|
@ -1044,7 +1046,7 @@ also accesible via indices.</li>
|
|||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">least_squares</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">priors</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Performs a non-linear fit to y = func(x).</span>
|
||||
|
||||
<span class="sd"> Arguments:</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> x : list</span>
|
||||
<span class="sd"> list of floats.</span>
|
||||
|
@ -1072,22 +1074,23 @@ also accesible via indices.</li>
|
|||
<span class="sd"> enough.</span>
|
||||
<span class="sd"> silent : bool, optional</span>
|
||||
<span class="sd"> If true all output to the console is omitted (default False).</span>
|
||||
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> initial_guess -- can provide an initial guess for the input parameters. Relevant for</span>
|
||||
<span class="sd"> initial_guess : list</span>
|
||||
<span class="sd"> can provide an initial guess for the input parameters. Relevant for</span>
|
||||
<span class="sd"> non-linear fits with many parameters.</span>
|
||||
<span class="sd"> method -- can be used to choose an alternative method for the minimization of chisquare.</span>
|
||||
<span class="sd"> The possible methods are the ones which can be used for scipy.optimize.minimize and</span>
|
||||
<span class="sd"> migrad of iminuit. If no method is specified, Levenberg-Marquard is used.</span>
|
||||
<span class="sd"> Reliable alternatives are migrad, Powell and Nelder-Mead.</span>
|
||||
<span class="sd"> resplot -- If true, a plot which displays fit, data and residuals is generated (default False).</span>
|
||||
<span class="sd"> qqplot -- If true, a quantile-quantile plot of the fit result is generated (default False).</span>
|
||||
<span class="sd"> expected_chisquare -- If true prints the expected chisquare which is</span>
|
||||
<span class="sd"> corrected by effects caused by correlated input data.</span>
|
||||
<span class="sd"> This can take a while as the full correlation matrix</span>
|
||||
<span class="sd"> has to be calculated (default False).</span>
|
||||
<span class="sd"> method : str</span>
|
||||
<span class="sd"> can be used to choose an alternative method for the minimization of chisquare.</span>
|
||||
<span class="sd"> The possible methods are the ones which can be used for scipy.optimize.minimize and</span>
|
||||
<span class="sd"> migrad of iminuit. If no method is specified, Levenberg-Marquard is used.</span>
|
||||
<span class="sd"> Reliable alternatives are migrad, Powell and Nelder-Mead.</span>
|
||||
<span class="sd"> resplot : bool</span>
|
||||
<span class="sd"> If true, a plot which displays fit, data and residuals is generated (default False).</span>
|
||||
<span class="sd"> qqplot : bool</span>
|
||||
<span class="sd"> If true, a quantile-quantile plot of the fit result is generated (default False).</span>
|
||||
<span class="sd"> expected_chisquare : bool</span>
|
||||
<span class="sd"> If true prints the expected chisquare which is</span>
|
||||
<span class="sd"> corrected by effects caused by correlated input data.</span>
|
||||
<span class="sd"> This can take a while as the full correlation matrix</span>
|
||||
<span class="sd"> has to be calculated (default False).</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="n">priors</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">_prior_fit</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">priors</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="n">silent</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||
|
@ -1099,51 +1102,53 @@ also accesible via indices.</li>
|
|||
|
||||
<div class="docstring"><p>Performs a non-linear fit to y = func(x).</p>
|
||||
|
||||
<h2 id="arguments">Arguments:</h2>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>x : list
|
||||
list of floats.
|
||||
y : list
|
||||
list of Obs.
|
||||
func : object
|
||||
fit function, has to be of the form</p>
|
||||
<ul>
|
||||
<li><strong>x</strong> (list):
|
||||
list of floats.</li>
|
||||
<li><strong>y</strong> (list):
|
||||
list of Obs.</li>
|
||||
<li><p><strong>func</strong> (object):
|
||||
fit function, has to be of the form</p>
|
||||
|
||||
<pre><code>def func(a, x):
|
||||
return a[0] + a[1] * x + a[2] * anp.sinh(x)
|
||||
<p>def func(a, x):
|
||||
return a[0] + a[1] * x + a[2] * anp.sinh(x)</p>
|
||||
|
||||
For multiple x values func can be of the form
|
||||
<p>For multiple x values func can be of the form</p>
|
||||
|
||||
def func(a, x):
|
||||
(x1, x2) = x
|
||||
return a[0] * x1 ** 2 + a[1] * x2
|
||||
<p>def func(a, x):
|
||||
(x1, x2) = x
|
||||
return a[0] * x1 ** 2 + a[1] * x2</p>
|
||||
|
||||
It is important that all numpy functions refer to autograd.numpy, otherwise the differentiation
|
||||
will not work
|
||||
</code></pre>
|
||||
|
||||
<p>priors : list, optional
|
||||
priors has to be a list with an entry for every parameter in the fit. The entries can either be
|
||||
Obs (e.g. results from a previous fit) or strings containing a value and an error formatted like
|
||||
0.548(23), 500(40) or 0.5(0.4)
|
||||
It is important for the subsequent error estimation that the e_tag for the gamma method is large
|
||||
enough.
|
||||
silent : bool, optional
|
||||
If true all output to the console is omitted (default False).</p>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
|
||||
<p>initial_guess -- can provide an initial guess for the input parameters. Relevant for
|
||||
non-linear fits with many parameters.
|
||||
method -- can be used to choose an alternative method for the minimization of chisquare.
|
||||
The possible methods are the ones which can be used for scipy.optimize.minimize and
|
||||
migrad of iminuit. If no method is specified, Levenberg-Marquard is used.
|
||||
Reliable alternatives are migrad, Powell and Nelder-Mead.
|
||||
resplot -- If true, a plot which displays fit, data and residuals is generated (default False).
|
||||
qqplot -- If true, a quantile-quantile plot of the fit result is generated (default False).
|
||||
expected_chisquare -- If true prints the expected chisquare which is
|
||||
corrected by effects caused by correlated input data.
|
||||
This can take a while as the full correlation matrix
|
||||
has to be calculated (default False).</p>
|
||||
<p>It is important that all numpy functions refer to autograd.numpy, otherwise the differentiation
|
||||
will not work</p></li>
|
||||
<li><strong>priors</strong> (list, optional):
|
||||
priors has to be a list with an entry for every parameter in the fit. The entries can either be
|
||||
Obs (e.g. results from a previous fit) or strings containing a value and an error formatted like
|
||||
0.548(23), 500(40) or 0.5(0.4)
|
||||
It is important for the subsequent error estimation that the e_tag for the gamma method is large
|
||||
enough.</li>
|
||||
<li><strong>silent</strong> (bool, optional):
|
||||
If true all output to the console is omitted (default False).</li>
|
||||
<li><strong>initial_guess</strong> (list):
|
||||
can provide an initial guess for the input parameters. Relevant for
|
||||
non-linear fits with many parameters.</li>
|
||||
<li><strong>method</strong> (str):
|
||||
can be used to choose an alternative method for the minimization of chisquare.
|
||||
The possible methods are the ones which can be used for scipy.optimize.minimize and
|
||||
migrad of iminuit. If no method is specified, Levenberg-Marquard is used.
|
||||
Reliable alternatives are migrad, Powell and Nelder-Mead.</li>
|
||||
<li><strong>resplot</strong> (bool):
|
||||
If true, a plot which displays fit, data and residuals is generated (default False).</li>
|
||||
<li><strong>qqplot</strong> (bool):
|
||||
If true, a quantile-quantile plot of the fit result is generated (default False).</li>
|
||||
<li><strong>expected_chisquare</strong> (bool):
|
||||
If true prints the expected chisquare which is
|
||||
corrected by effects caused by correlated input data.
|
||||
This can take a while as the full correlation matrix
|
||||
has to be calculated (default False).</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -1201,6 +1206,8 @@ expected_chisquare -- If true prints the expected chisquare which is
|
|||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">total_least_squares</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Performs a non-linear fit to y = func(x) and returns a list of Obs corresponding to the fit parameters.</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> x : list</span>
|
||||
<span class="sd"> list of Obs, or a tuple of lists of Obs</span>
|
||||
<span class="sd"> y : list</span>
|
||||
|
@ -1223,15 +1230,14 @@ expected_chisquare -- If true prints the expected chisquare which is
|
|||
<span class="sd"> silent : bool, optional</span>
|
||||
<span class="sd"> If true all output to the console is omitted (default False).</span>
|
||||
<span class="sd"> Based on the orthogonal distance regression module of scipy</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> initial_guess -- can provide an initial guess for the input parameters. Relevant for non-linear</span>
|
||||
<span class="sd"> fits with many parameters.</span>
|
||||
<span class="sd"> expected_chisquare -- If true prints the expected chisquare which is</span>
|
||||
<span class="sd"> corrected by effects caused by correlated input data.</span>
|
||||
<span class="sd"> This can take a while as the full correlation matrix</span>
|
||||
<span class="sd"> has to be calculated (default False).</span>
|
||||
<span class="sd"> initial_guess : list</span>
|
||||
<span class="sd"> can provide an initial guess for the input parameters. Relevant for non-linear</span>
|
||||
<span class="sd"> fits with many parameters.</span>
|
||||
<span class="sd"> expected_chisquare : bool</span>
|
||||
<span class="sd"> If true prints the expected chisquare which is</span>
|
||||
<span class="sd"> corrected by effects caused by correlated input data.</span>
|
||||
<span class="sd"> This can take a while as the full correlation matrix</span>
|
||||
<span class="sd"> has to be calculated (default False).</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="n">output</span> <span class="o">=</span> <span class="n">Fit_result</span><span class="p">()</span>
|
||||
|
@ -1366,39 +1372,40 @@ expected_chisquare -- If true prints the expected chisquare which is
|
|||
|
||||
<div class="docstring"><p>Performs a non-linear fit to y = func(x) and returns a list of Obs corresponding to the fit parameters.</p>
|
||||
|
||||
<p>x : list
|
||||
list of Obs, or a tuple of lists of Obs
|
||||
y : list
|
||||
list of Obs. The dvalues of the Obs are used as x- and yerror for the fit.
|
||||
func : object
|
||||
func has to be of the form</p>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<pre><code>def func(a, x):
|
||||
y = a[0] + a[1] * x + a[2] * anp.sinh(x)
|
||||
return y
|
||||
<ul>
|
||||
<li><strong>x</strong> (list):
|
||||
list of Obs, or a tuple of lists of Obs</li>
|
||||
<li><strong>y</strong> (list):
|
||||
list of Obs. The dvalues of the Obs are used as x- and yerror for the fit.</li>
|
||||
<li><p><strong>func</strong> (object):
|
||||
func has to be of the form</p>
|
||||
|
||||
For multiple x values func can be of the form
|
||||
<p>def func(a, x):
|
||||
y = a[0] + a[1] * x + a[2] * anp.sinh(x)
|
||||
return y</p>
|
||||
|
||||
def func(a, x):
|
||||
(x1, x2) = x
|
||||
return a[0] * x1 ** 2 + a[1] * x2
|
||||
<p>For multiple x values func can be of the form</p>
|
||||
|
||||
It is important that all numpy functions refer to autograd.numpy, otherwise the differentiation
|
||||
will not work.
|
||||
</code></pre>
|
||||
<p>def func(a, x):
|
||||
(x1, x2) = x
|
||||
return a[0] * x1 ** 2 + a[1] * x2</p>
|
||||
|
||||
<p>silent : bool, optional
|
||||
If true all output to the console is omitted (default False).
|
||||
Based on the orthogonal distance regression module of scipy</p>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
|
||||
<p>initial_guess -- can provide an initial guess for the input parameters. Relevant for non-linear
|
||||
fits with many parameters.
|
||||
expected_chisquare -- If true prints the expected chisquare which is
|
||||
corrected by effects caused by correlated input data.
|
||||
This can take a while as the full correlation matrix
|
||||
has to be calculated (default False).</p>
|
||||
<p>It is important that all numpy functions refer to autograd.numpy, otherwise the differentiation
|
||||
will not work.</p></li>
|
||||
<li><strong>silent</strong> (bool, optional):
|
||||
If true all output to the console is omitted (default False).</li>
|
||||
<li><strong>Based on the orthogonal distance regression module of scipy</strong></li>
|
||||
<li><strong>initial_guess</strong> (list):
|
||||
can provide an initial guess for the input parameters. Relevant for non-linear
|
||||
fits with many parameters.</li>
|
||||
<li><strong>expected_chisquare</strong> (bool):
|
||||
If true prints the expected chisquare which is
|
||||
corrected by effects caused by correlated input data.
|
||||
This can take a while as the full correlation matrix
|
||||
has to be calculated (default False).</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -87,15 +87,16 @@
|
|||
<span class="k">def</span> <span class="nf">read_rwms</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s1">'2.0'</span><span class="p">,</span> <span class="n">names</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Read rwms format from given folder structure. Returns a list of length nrw</span>
|
||||
|
||||
<span class="sd"> Attributes</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> version -- version of openQCD, default 2.0</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> r_start -- list which contains the first config to be read for each replicum</span>
|
||||
<span class="sd"> r_stop -- list which contains the last config to be read for each replicum</span>
|
||||
<span class="sd"> postfix -- postfix of the file to read, e.g. '.ms1' for openQCD-files</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> version : str</span>
|
||||
<span class="sd"> version of openQCD, default 2.0</span>
|
||||
<span class="sd"> r_start : list</span>
|
||||
<span class="sd"> list which contains the first config to be read for each replicum</span>
|
||||
<span class="sd"> r_stop : list</span>
|
||||
<span class="sd"> list which contains the last config to be read for each replicum</span>
|
||||
<span class="sd"> postfix : str</span>
|
||||
<span class="sd"> postfix of the file to read, e.g. '.ms1' for openQCD-files</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">known_oqcd_versions</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'1.4'</span><span class="p">,</span> <span class="s1">'1.6'</span><span class="p">,</span> <span class="s1">'2.0'</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">version</span> <span class="ow">in</span> <span class="n">known_oqcd_versions</span><span class="p">):</span>
|
||||
|
@ -248,19 +249,25 @@
|
|||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> path -- Path to .ms.dat files</span>
|
||||
<span class="sd"> prefix -- Ensemble prefix</span>
|
||||
<span class="sd"> dtr_read -- Determines how many trajectories should be skipped when reading the ms.dat files.</span>
|
||||
<span class="sd"> Corresponds to dtr_cnfg / dtr_ms in the openQCD input file.</span>
|
||||
<span class="sd"> xmin -- First timeslice where the boundary effects have sufficiently decayed.</span>
|
||||
<span class="sd"> spatial_extent -- spatial extent of the lattice, required for normalization.</span>
|
||||
<span class="sd"> fit_range -- Number of data points left and right of the zero crossing to be included in the linear fit. (Default: 5)</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> r_start -- list which contains the first config to be read for each replicum.</span>
|
||||
<span class="sd"> r_stop -- list which contains the last config to be read for each replicum.</span>
|
||||
<span class="sd"> plaquette -- If true extract the plaquette estimate of t0 instead.</span>
|
||||
<span class="sd"> path : str</span>
|
||||
<span class="sd"> Path to .ms.dat files</span>
|
||||
<span class="sd"> prefix : str</span>
|
||||
<span class="sd"> Ensemble prefix</span>
|
||||
<span class="sd"> dtr_read : int</span>
|
||||
<span class="sd"> Determines how many trajectories should be skipped when reading the ms.dat files.</span>
|
||||
<span class="sd"> Corresponds to dtr_cnfg / dtr_ms in the openQCD input file.</span>
|
||||
<span class="sd"> xmin : int</span>
|
||||
<span class="sd"> First timeslice where the boundary effects have sufficiently decayed.</span>
|
||||
<span class="sd"> spatial_extent : int</span>
|
||||
<span class="sd"> spatial extent of the lattice, required for normalization.</span>
|
||||
<span class="sd"> fit_range : int</span>
|
||||
<span class="sd"> Number of data points left and right of the zero crossing to be included in the linear fit. (Default: 5)</span>
|
||||
<span class="sd"> r_start : list</span>
|
||||
<span class="sd"> list which contains the first config to be read for each replicum.</span>
|
||||
<span class="sd"> r_stop: list</span>
|
||||
<span class="sd"> list which contains the last config to be read for each replicum.</span>
|
||||
<span class="sd"> plaquette : bool</span>
|
||||
<span class="sd"> If true extract the plaquette estimate of t0 instead.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="n">ls</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -428,15 +435,16 @@
|
|||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">read_rwms</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s1">'2.0'</span><span class="p">,</span> <span class="n">names</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Read rwms format from given folder structure. Returns a list of length nrw</span>
|
||||
|
||||
<span class="sd"> Attributes</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> version -- version of openQCD, default 2.0</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> r_start -- list which contains the first config to be read for each replicum</span>
|
||||
<span class="sd"> r_stop -- list which contains the last config to be read for each replicum</span>
|
||||
<span class="sd"> postfix -- postfix of the file to read, e.g. '.ms1' for openQCD-files</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> version : str</span>
|
||||
<span class="sd"> version of openQCD, default 2.0</span>
|
||||
<span class="sd"> r_start : list</span>
|
||||
<span class="sd"> list which contains the first config to be read for each replicum</span>
|
||||
<span class="sd"> r_stop : list</span>
|
||||
<span class="sd"> list which contains the last config to be read for each replicum</span>
|
||||
<span class="sd"> postfix : str</span>
|
||||
<span class="sd"> postfix of the file to read, e.g. '.ms1' for openQCD-files</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">known_oqcd_versions</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'1.4'</span><span class="p">,</span> <span class="s1">'1.6'</span><span class="p">,</span> <span class="s1">'2.0'</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">version</span> <span class="ow">in</span> <span class="n">known_oqcd_versions</span><span class="p">):</span>
|
||||
|
@ -583,17 +591,18 @@
|
|||
|
||||
<div class="docstring"><p>Read rwms format from given folder structure. Returns a list of length nrw</p>
|
||||
|
||||
<h6 id="attributes">Attributes</h6>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>version -- version of openQCD, default 2.0</strong></li>
|
||||
<li><strong>version</strong> (str):
|
||||
version of openQCD, default 2.0</li>
|
||||
<li><strong>r_start</strong> (list):
|
||||
list which contains the first config to be read for each replicum</li>
|
||||
<li><strong>r_stop</strong> (list):
|
||||
list which contains the last config to be read for each replicum</li>
|
||||
<li><strong>postfix</strong> (str):
|
||||
postfix of the file to read, e.g. '.ms1' for openQCD-files</li>
|
||||
</ul>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
|
||||
<p>r_start -- list which contains the first config to be read for each replicum
|
||||
r_stop -- list which contains the last config to be read for each replicum
|
||||
postfix -- postfix of the file to read, e.g. '.ms1' for openQCD-files</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -618,19 +627,25 @@ postfix -- postfix of the file to read, e.g. '.ms1' for openQCD-files</p>
|
|||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> path -- Path to .ms.dat files</span>
|
||||
<span class="sd"> prefix -- Ensemble prefix</span>
|
||||
<span class="sd"> dtr_read -- Determines how many trajectories should be skipped when reading the ms.dat files.</span>
|
||||
<span class="sd"> Corresponds to dtr_cnfg / dtr_ms in the openQCD input file.</span>
|
||||
<span class="sd"> xmin -- First timeslice where the boundary effects have sufficiently decayed.</span>
|
||||
<span class="sd"> spatial_extent -- spatial extent of the lattice, required for normalization.</span>
|
||||
<span class="sd"> fit_range -- Number of data points left and right of the zero crossing to be included in the linear fit. (Default: 5)</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> r_start -- list which contains the first config to be read for each replicum.</span>
|
||||
<span class="sd"> r_stop -- list which contains the last config to be read for each replicum.</span>
|
||||
<span class="sd"> plaquette -- If true extract the plaquette estimate of t0 instead.</span>
|
||||
<span class="sd"> path : str</span>
|
||||
<span class="sd"> Path to .ms.dat files</span>
|
||||
<span class="sd"> prefix : str</span>
|
||||
<span class="sd"> Ensemble prefix</span>
|
||||
<span class="sd"> dtr_read : int</span>
|
||||
<span class="sd"> Determines how many trajectories should be skipped when reading the ms.dat files.</span>
|
||||
<span class="sd"> Corresponds to dtr_cnfg / dtr_ms in the openQCD input file.</span>
|
||||
<span class="sd"> xmin : int</span>
|
||||
<span class="sd"> First timeslice where the boundary effects have sufficiently decayed.</span>
|
||||
<span class="sd"> spatial_extent : int</span>
|
||||
<span class="sd"> spatial extent of the lattice, required for normalization.</span>
|
||||
<span class="sd"> fit_range : int</span>
|
||||
<span class="sd"> Number of data points left and right of the zero crossing to be included in the linear fit. (Default: 5)</span>
|
||||
<span class="sd"> r_start : list</span>
|
||||
<span class="sd"> list which contains the first config to be read for each replicum.</span>
|
||||
<span class="sd"> r_stop: list</span>
|
||||
<span class="sd"> list which contains the last config to be read for each replicum.</span>
|
||||
<span class="sd"> plaquette : bool</span>
|
||||
<span class="sd"> If true extract the plaquette estimate of t0 instead.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="n">ls</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -745,19 +760,26 @@ Only works with openQCD v 1.2.</p>
|
|||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>path -- Path to .ms.dat files</strong></li>
|
||||
<li><strong>prefix -- Ensemble prefix</strong></li>
|
||||
<li><strong>dtr_read -- Determines how many trajectories should be skipped when reading the ms.dat files.</strong>: Corresponds to dtr_cnfg / dtr_ms in the openQCD input file.</li>
|
||||
<li><strong>xmin -- First timeslice where the boundary effects have sufficiently decayed.</strong></li>
|
||||
<li><strong>spatial_extent -- spatial extent of the lattice, required for normalization.</strong></li>
|
||||
<li><strong>fit_range -- Number of data points left and right of the zero crossing to be included in the linear fit. (Default</strong> (5)):</li>
|
||||
<li><strong>path</strong> (str):
|
||||
Path to .ms.dat files</li>
|
||||
<li><strong>prefix</strong> (str):
|
||||
Ensemble prefix</li>
|
||||
<li><strong>dtr_read</strong> (int):
|
||||
Determines how many trajectories should be skipped when reading the ms.dat files.
|
||||
Corresponds to dtr_cnfg / dtr_ms in the openQCD input file.</li>
|
||||
<li><strong>xmin</strong> (int):
|
||||
First timeslice where the boundary effects have sufficiently decayed.</li>
|
||||
<li><strong>spatial_extent</strong> (int):
|
||||
spatial extent of the lattice, required for normalization.</li>
|
||||
<li><strong>fit_range</strong> (int):
|
||||
Number of data points left and right of the zero crossing to be included in the linear fit. (Default: 5)</li>
|
||||
<li><strong>r_start</strong> (list):
|
||||
list which contains the first config to be read for each replicum.</li>
|
||||
<li><strong>r_stop</strong> (list):
|
||||
list which contains the last config to be read for each replicum.</li>
|
||||
<li><strong>plaquette</strong> (bool):
|
||||
If true extract the plaquette estimate of t0 instead.</li>
|
||||
</ul>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
|
||||
<p>r_start -- list which contains the first config to be read for each replicum.
|
||||
r_stop -- list which contains the last config to be read for each replicum.
|
||||
plaquette -- If true extract the plaquette estimate of t0 instead.</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -88,8 +88,8 @@
|
|||
<span class="k">def</span> <span class="nf">read_sfcf</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Read sfcf C format from given folder structure.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> im -- if True, read imaginary instead of real part of the correlation function.</span>
|
||||
<span class="sd"> single -- if True, read a boundary-to-boundary correlation function with a single value</span>
|
||||
<span class="sd"> b2b -- if True, read a time-dependent boundary-to-boundary correlation function</span>
|
||||
|
@ -190,15 +190,12 @@
|
|||
<span class="k">def</span> <span class="nf">read_sfcf_c</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">quarks</span><span class="o">=</span><span class="s1">'.*'</span><span class="p">,</span> <span class="n">noffset</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">wf</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">wf2</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Read sfcf c format from given folder structure.</span>
|
||||
|
||||
<span class="sd"> Arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> quarks -- Label of the quarks used in the sfcf input file</span>
|
||||
<span class="sd"> noffset -- Offset of the source (only relevant when wavefunctions are used)</span>
|
||||
<span class="sd"> wf -- ID of wave function</span>
|
||||
<span class="sd"> wf2 -- ID of the second wavefunction (only relevant for boundary-to-boundary correlation functions)</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> im -- if True, read imaginary instead of real part of the correlation function.</span>
|
||||
<span class="sd"> b2b -- if True, read a time-dependent boundary-to-boundary correlation function</span>
|
||||
<span class="sd"> names -- Alternative labeling for replicas/ensembles. Has to have the appropriate length</span>
|
||||
|
@ -313,8 +310,8 @@
|
|||
<span class="k">def</span> <span class="nf">read_qtop</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Read qtop format from given folder structure.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> target -- specifies the topological sector to be reweighted to (default 0)</span>
|
||||
<span class="sd"> full -- if true read the charge instead of the reweighting factor.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
@ -390,8 +387,8 @@
|
|||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">read_sfcf</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Read sfcf C format from given folder structure.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> im -- if True, read imaginary instead of real part of the correlation function.</span>
|
||||
<span class="sd"> single -- if True, read a boundary-to-boundary correlation function with a single value</span>
|
||||
<span class="sd"> b2b -- if True, read a time-dependent boundary-to-boundary correlation function</span>
|
||||
|
@ -493,12 +490,14 @@
|
|||
|
||||
<div class="docstring"><p>Read sfcf C format from given folder structure.</p>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>im -- if True, read imaginary instead of real part of the correlation function.
|
||||
single -- if True, read a boundary-to-boundary correlation function with a single value
|
||||
b2b -- if True, read a time-dependent boundary-to-boundary correlation function
|
||||
names -- Alternative labeling for replicas/ensembles. Has to have the appropriate length</p>
|
||||
<ul>
|
||||
<li><strong>im -- if True, read imaginary instead of real part of the correlation function.</strong></li>
|
||||
<li><strong>single -- if True, read a boundary-to-boundary correlation function with a single value</strong></li>
|
||||
<li><strong>b2b -- if True, read a time-dependent boundary-to-boundary correlation function</strong></li>
|
||||
<li><strong>names -- Alternative labeling for replicas/ensembles. Has to have the appropriate length</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -516,15 +515,12 @@ names -- Alternative labeling for replicas/ensembles. Has to have the appropriat
|
|||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">read_sfcf_c</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">quarks</span><span class="o">=</span><span class="s1">'.*'</span><span class="p">,</span> <span class="n">noffset</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">wf</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">wf2</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Read sfcf c format from given folder structure.</span>
|
||||
|
||||
<span class="sd"> Arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> quarks -- Label of the quarks used in the sfcf input file</span>
|
||||
<span class="sd"> noffset -- Offset of the source (only relevant when wavefunctions are used)</span>
|
||||
<span class="sd"> wf -- ID of wave function</span>
|
||||
<span class="sd"> wf2 -- ID of the second wavefunction (only relevant for boundary-to-boundary correlation functions)</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> im -- if True, read imaginary instead of real part of the correlation function.</span>
|
||||
<span class="sd"> b2b -- if True, read a time-dependent boundary-to-boundary correlation function</span>
|
||||
<span class="sd"> names -- Alternative labeling for replicas/ensembles. Has to have the appropriate length</span>
|
||||
|
@ -640,20 +636,19 @@ names -- Alternative labeling for replicas/ensembles. Has to have the appropriat
|
|||
|
||||
<div class="docstring"><p>Read sfcf c format from given folder structure.</p>
|
||||
|
||||
<h6 id="arguments">Arguments</h6>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>quarks -- Label of the quarks used in the sfcf input file
|
||||
noffset -- Offset of the source (only relevant when wavefunctions are used)
|
||||
wf -- ID of wave function
|
||||
wf2 -- ID of the second wavefunction (only relevant for boundary-to-boundary correlation functions)</p>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
|
||||
<p>im -- if True, read imaginary instead of real part of the correlation function.
|
||||
b2b -- if True, read a time-dependent boundary-to-boundary correlation function
|
||||
names -- Alternative labeling for replicas/ensembles. Has to have the appropriate length
|
||||
ens_name : str
|
||||
replaces the name of the ensemble</p>
|
||||
<ul>
|
||||
<li><strong>quarks -- Label of the quarks used in the sfcf input file</strong></li>
|
||||
<li><strong>noffset -- Offset of the source (only relevant when wavefunctions are used)</strong></li>
|
||||
<li><strong>wf -- ID of wave function</strong></li>
|
||||
<li><strong>wf2 -- ID of the second wavefunction (only relevant for boundary-to-boundary correlation functions)</strong></li>
|
||||
<li><strong>im -- if True, read imaginary instead of real part of the correlation function.</strong></li>
|
||||
<li><strong>b2b -- if True, read a time-dependent boundary-to-boundary correlation function</strong></li>
|
||||
<li><strong>names -- Alternative labeling for replicas/ensembles. Has to have the appropriate length</strong></li>
|
||||
<li><strong>ens_name</strong> (str):
|
||||
replaces the name of the ensemble</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -671,8 +666,8 @@ ens_name : str
|
|||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">read_qtop</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Read qtop format from given folder structure.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> target -- specifies the topological sector to be reweighted to (default 0)</span>
|
||||
<span class="sd"> full -- if true read the charge instead of the reweighting factor.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
@ -736,10 +731,12 @@ ens_name : str
|
|||
|
||||
<div class="docstring"><p>Read qtop format from given folder structure.</p>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>target -- specifies the topological sector to be reweighted to (default 0)
|
||||
full -- if true read the charge instead of the reweighting factor.</p>
|
||||
<ul>
|
||||
<li><strong>target -- specifies the topological sector to be reweighted to (default 0)</strong></li>
|
||||
<li><strong>full -- if true read the charge instead of the reweighting factor.</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -121,9 +121,6 @@
|
|||
<span class="sd"> automatic differentiation to work, all numpy functions have to have</span>
|
||||
<span class="sd"> the autograd wrapper (use 'import autograd.numpy as anp').</span>
|
||||
<span class="sd"> data -- list of Obs, e.g. [obs1, obs2, obs3].</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> man_grad -- manually supply a list or an array which contains the jacobian</span>
|
||||
<span class="sd"> of func. Use cautiously, supplying the wrong derivative will</span>
|
||||
<span class="sd"> not be intercepted.</span>
|
||||
|
@ -667,9 +664,6 @@
|
|||
<span class="sd"> automatic differentiation to work, all numpy functions have to have</span>
|
||||
<span class="sd"> the autograd wrapper (use 'import autograd.numpy as anp').</span>
|
||||
<span class="sd"> data -- list of Obs, e.g. [obs1, obs2, obs3].</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> man_grad -- manually supply a list or an array which contains the jacobian</span>
|
||||
<span class="sd"> of func. Use cautiously, supplying the wrong derivative will</span>
|
||||
<span class="sd"> not be intercepted.</span>
|
||||
|
@ -769,13 +763,9 @@ using automatic differentiation.</p>
|
|||
<li><strong>func -- arbitrary function of the form func(data, **kwargs). For the</strong>: automatic differentiation to work, all numpy functions have to have
|
||||
the autograd wrapper (use 'import autograd.numpy as anp').</li>
|
||||
<li><strong>data -- list of Obs, e.g. [obs1, obs2, obs3].</strong></li>
|
||||
<li><strong>man_grad -- manually supply a list or an array which contains the jacobian</strong>: of func. Use cautiously, supplying the wrong derivative will
|
||||
not be intercepted.</li>
|
||||
</ul>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
|
||||
<p>man_grad -- manually supply a list or an array which contains the jacobian
|
||||
of func. Use cautiously, supplying the wrong derivative will
|
||||
not be intercepted.</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -79,8 +79,8 @@
|
|||
<span class="k">def</span> <span class="nf">gen_correlated_data</span><span class="p">(</span><span class="n">means</span><span class="p">,</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">tau</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span> <span class="n">samples</span><span class="o">=</span><span class="mi">1000</span><span class="p">):</span>
|
||||
<span class="sd">""" Generate observables with given covariance and autocorrelation times.</span>
|
||||
|
||||
<span class="sd"> Arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> means -- list containing the mean value of each observable.</span>
|
||||
<span class="sd"> cov -- covariance matrix for the data to be geneated.</span>
|
||||
<span class="sd"> name -- ensemble name for the data to be geneated.</span>
|
||||
|
@ -124,8 +124,8 @@
|
|||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">gen_correlated_data</span><span class="p">(</span><span class="n">means</span><span class="p">,</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">tau</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span> <span class="n">samples</span><span class="o">=</span><span class="mi">1000</span><span class="p">):</span>
|
||||
<span class="sd">""" Generate observables with given covariance and autocorrelation times.</span>
|
||||
|
||||
<span class="sd"> Arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> means -- list containing the mean value of each observable.</span>
|
||||
<span class="sd"> cov -- covariance matrix for the data to be geneated.</span>
|
||||
<span class="sd"> name -- ensemble name for the data to be geneated.</span>
|
||||
|
@ -157,14 +157,15 @@
|
|||
|
||||
<div class="docstring"><p>Generate observables with given covariance and autocorrelation times.</p>
|
||||
|
||||
<h6 id="arguments">Arguments</h6>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>means -- list containing the mean value of each observable.
|
||||
cov -- covariance matrix for the data to be geneated.
|
||||
name -- ensemble name for the data to be geneated.
|
||||
tau -- can either be a real number or a list with an entry for
|
||||
every dataset.
|
||||
samples -- number of samples to be generated for each observable.</p>
|
||||
<ul>
|
||||
<li><strong>means -- list containing the mean value of each observable.</strong></li>
|
||||
<li><strong>cov -- covariance matrix for the data to be geneated.</strong></li>
|
||||
<li><strong>name -- ensemble name for the data to be geneated.</strong></li>
|
||||
<li><strong>tau -- can either be a real number or a list with an entry for</strong>: every dataset.</li>
|
||||
<li><strong>samples -- number of samples to be generated for each observable.</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -159,9 +159,12 @@
|
|||
<span class="k">def</span> <span class="nf">Zq</span><span class="p">(</span><span class="n">inv_prop</span><span class="p">,</span> <span class="n">fermion</span><span class="o">=</span><span class="s1">'Wilson'</span><span class="p">):</span>
|
||||
<span class="sd">""" Calculates the quark field renormalization constant Zq</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> inv_prop -- Inverted 12x12 quark propagator</span>
|
||||
<span class="sd"> fermion -- Fermion type for which the tree-level propagator is used</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> inv_prop : array</span>
|
||||
<span class="sd"> Inverted 12x12 quark propagator</span>
|
||||
<span class="sd"> fermion : str</span>
|
||||
<span class="sd"> Fermion type for which the tree-level propagator is used</span>
|
||||
<span class="sd"> in the calculation of Zq. Default Wilson.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">_check_geometry</span><span class="p">()</span>
|
||||
|
@ -520,9 +523,12 @@ momenta. Works only for 12x12 matrices.</p>
|
|||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">Zq</span><span class="p">(</span><span class="n">inv_prop</span><span class="p">,</span> <span class="n">fermion</span><span class="o">=</span><span class="s1">'Wilson'</span><span class="p">):</span>
|
||||
<span class="sd">""" Calculates the quark field renormalization constant Zq</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> inv_prop -- Inverted 12x12 quark propagator</span>
|
||||
<span class="sd"> fermion -- Fermion type for which the tree-level propagator is used</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> inv_prop : array</span>
|
||||
<span class="sd"> Inverted 12x12 quark propagator</span>
|
||||
<span class="sd"> fermion : str</span>
|
||||
<span class="sd"> Fermion type for which the tree-level propagator is used</span>
|
||||
<span class="sd"> in the calculation of Zq. Default Wilson.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">_check_geometry</span><span class="p">()</span>
|
||||
|
@ -556,10 +562,15 @@ momenta. Works only for 12x12 matrices.</p>
|
|||
|
||||
<div class="docstring"><p>Calculates the quark field renormalization constant Zq</p>
|
||||
|
||||
<p>Attributes:
|
||||
inv_prop -- Inverted 12x12 quark propagator
|
||||
fermion -- Fermion type for which the tree-level propagator is used
|
||||
in the calculation of Zq. Default Wilson.</p>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>inv_prop</strong> (array):
|
||||
Inverted 12x12 quark propagator</li>
|
||||
<li><strong>fermion</strong> (str):
|
||||
Fermion type for which the tree-level propagator is used
|
||||
in the calculation of Zq. Default Wilson.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -113,15 +113,15 @@
|
|||
<li>
|
||||
<a class="variable" href="#Obs.e_content">e_content</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Obs.gamma_method">gamma_method</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Obs.expand_deltas">expand_deltas</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Obs.calc_gamma">calc_gamma</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Obs.gamma_method">gamma_method</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Obs.print">print</a>
|
||||
</li>
|
||||
|
@ -382,7 +382,7 @@
|
|||
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">samples</span><span class="p">,</span> <span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">means</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">""" Initialize Obs object.</span>
|
||||
|
||||
<span class="sd"> Attributes</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> samples : list</span>
|
||||
<span class="sd"> list of numpy arrays containing the Monte Carlo samples</span>
|
||||
|
@ -479,57 +479,11 @@
|
|||
<span class="n">res</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">e_name</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">res</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">expand_deltas</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">):</span>
|
||||
<span class="sd">"""Expand deltas defined on idx to a regular, contiguous range, where holes are filled by 0.</span>
|
||||
<span class="sd"> If idx is of type range, the deltas are not changed</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> deltas -- List of fluctuations</span>
|
||||
<span class="sd"> idx -- List or range of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> shape -- Number of configs in idx.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">idx</span><span class="p">)</span> <span class="ow">is</span> <span class="nb">range</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">deltas</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">ret</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">idx</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">idx</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">shape</span><span class="p">):</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="n">idx</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">-</span> <span class="n">idx</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> <span class="o">=</span> <span class="n">deltas</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">ret</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">calc_gamma</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">,</span> <span class="n">w_max</span><span class="p">,</span> <span class="n">fft</span><span class="p">):</span>
|
||||
<span class="sd">"""Calculate Gamma_{AA} from the deltas, which are defined on idx.</span>
|
||||
<span class="sd"> idx is assumed to be a contiguous range (possibly with a stepsize != 1)</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> deltas -- List of fluctuations</span>
|
||||
<span class="sd"> idx -- List or range of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> shape -- Number of configs in idx.</span>
|
||||
<span class="sd"> w_max -- Upper bound for the summation window</span>
|
||||
<span class="sd"> fft -- boolean, which determines whether the fft algorithm is used for</span>
|
||||
<span class="sd"> the computation of the autocorrelation function</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">gamma</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">w_max</span><span class="p">)</span>
|
||||
<span class="n">deltas</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">expand_deltas</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">)</span>
|
||||
<span class="n">new_shape</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">deltas</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">fft</span><span class="p">:</span>
|
||||
<span class="n">max_gamma</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">new_shape</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span>
|
||||
<span class="c1"># The padding for the fft has to be even</span>
|
||||
<span class="n">padding</span> <span class="o">=</span> <span class="n">new_shape</span> <span class="o">+</span> <span class="n">max_gamma</span> <span class="o">+</span> <span class="p">(</span><span class="n">new_shape</span> <span class="o">+</span> <span class="n">max_gamma</span><span class="p">)</span> <span class="o">%</span> <span class="mi">2</span>
|
||||
<span class="n">gamma</span><span class="p">[:</span><span class="n">max_gamma</span><span class="p">]</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">fft</span><span class="o">.</span><span class="n">irfft</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">fft</span><span class="o">.</span><span class="n">rfft</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="n">padding</span><span class="p">))</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)[:</span><span class="n">max_gamma</span><span class="p">]</span>
|
||||
<span class="k">else</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="n">w_max</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">new_shape</span> <span class="o">-</span> <span class="n">n</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">gamma</span><span class="p">[</span><span class="n">n</span><span class="p">]</span> <span class="o">+=</span> <span class="n">deltas</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="n">new_shape</span> <span class="o">-</span> <span class="n">n</span><span class="p">]</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">deltas</span><span class="p">[</span><span class="n">n</span><span class="p">:</span><span class="n">new_shape</span><span class="p">])</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">gamma</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">"""Calculate the error and related properties of the Obs.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</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>
|
||||
|
@ -707,6 +661,52 @@
|
|||
<span class="bp">self</span><span class="o">.</span><span class="n">ddvalue</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="bp">self</span><span class="o">.</span><span class="n">ddvalue</span><span class="p">)</span> <span class="o">/</span> <span class="bp">self</span><span class="o">.</span><span class="n">dvalue</span>
|
||||
<span class="k">return</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">expand_deltas</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">):</span>
|
||||
<span class="sd">"""Expand deltas defined on idx to a regular, contiguous range, where holes are filled by 0.</span>
|
||||
<span class="sd"> If idx is of type range, the deltas are not changed</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> deltas -- List of fluctuations</span>
|
||||
<span class="sd"> idx -- List or range of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> shape -- Number of configs in idx.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">idx</span><span class="p">)</span> <span class="ow">is</span> <span class="nb">range</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">deltas</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">ret</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">idx</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">idx</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">shape</span><span class="p">):</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="n">idx</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">-</span> <span class="n">idx</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> <span class="o">=</span> <span class="n">deltas</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">ret</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">calc_gamma</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">,</span> <span class="n">w_max</span><span class="p">,</span> <span class="n">fft</span><span class="p">):</span>
|
||||
<span class="sd">"""Calculate Gamma_{AA} from the deltas, which are defined on idx.</span>
|
||||
<span class="sd"> idx is assumed to be a contiguous range (possibly with a stepsize != 1)</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> deltas -- List of fluctuations</span>
|
||||
<span class="sd"> idx -- List or range of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> shape -- Number of configs in idx.</span>
|
||||
<span class="sd"> w_max -- Upper bound for the summation window</span>
|
||||
<span class="sd"> fft -- boolean, which determines whether the fft algorithm is used for</span>
|
||||
<span class="sd"> the computation of the autocorrelation function</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">gamma</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">w_max</span><span class="p">)</span>
|
||||
<span class="n">deltas</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">expand_deltas</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">)</span>
|
||||
<span class="n">new_shape</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">deltas</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">fft</span><span class="p">:</span>
|
||||
<span class="n">max_gamma</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">new_shape</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span>
|
||||
<span class="c1"># The padding for the fft has to be even</span>
|
||||
<span class="n">padding</span> <span class="o">=</span> <span class="n">new_shape</span> <span class="o">+</span> <span class="n">max_gamma</span> <span class="o">+</span> <span class="p">(</span><span class="n">new_shape</span> <span class="o">+</span> <span class="n">max_gamma</span><span class="p">)</span> <span class="o">%</span> <span class="mi">2</span>
|
||||
<span class="n">gamma</span><span class="p">[:</span><span class="n">max_gamma</span><span class="p">]</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">fft</span><span class="o">.</span><span class="n">irfft</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">fft</span><span class="o">.</span><span class="n">rfft</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="n">padding</span><span class="p">))</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)[:</span><span class="n">max_gamma</span><span class="p">]</span>
|
||||
<span class="k">else</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="n">w_max</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">new_shape</span> <span class="o">-</span> <span class="n">n</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">gamma</span><span class="p">[</span><span class="n">n</span><span class="p">]</span> <span class="o">+=</span> <span class="n">deltas</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="n">new_shape</span> <span class="o">-</span> <span class="n">n</span><span class="p">]</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">deltas</span><span class="p">[</span><span class="n">n</span><span class="p">:</span><span class="n">new_shape</span><span class="p">])</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">gamma</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">print</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">level</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
|
||||
<span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">"Method 'print' renamed to 'details'"</span><span class="p">,</span> <span class="ne">DeprecationWarning</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">details</span><span class="p">(</span><span class="n">level</span> <span class="o">></span> <span class="mi">1</span><span class="p">)</span>
|
||||
|
@ -868,9 +868,10 @@
|
|||
<span class="k">def</span> <span class="nf">dump</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Dump the Obs to a pickle file 'name'.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> path -- specifies a custom path for the file (default '.')</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> path : str</span>
|
||||
<span class="sd"> specifies a custom path for the file (default '.')</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="s1">'path'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||
<span class="n">file_name</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'path'</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'.p'</span>
|
||||
|
@ -1165,7 +1166,8 @@
|
|||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> idl -- List of lists or ranges.</span>
|
||||
<span class="sd"> idl : list</span>
|
||||
<span class="sd"> List of lists or ranges.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="c1"># Use groupby to efficiently check whether all elements of idl are identical</span>
|
||||
|
@ -1222,14 +1224,15 @@
|
|||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> names -- List of names</span>
|
||||
<span class="sd"> deltas -- Dict lists of fluctuations</span>
|
||||
<span class="sd"> idx -- Dict of lists or ranges of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> Has to be a subset of new_idx.</span>
|
||||
|
||||
<span class="sd"> Optional parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> eps -- Prefactor that enters the filter criterion.</span>
|
||||
<span class="sd"> names : list</span>
|
||||
<span class="sd"> List of names</span>
|
||||
<span class="sd"> deltas : dict</span>
|
||||
<span class="sd"> Dict lists of fluctuations</span>
|
||||
<span class="sd"> idx : dict</span>
|
||||
<span class="sd"> Dict of lists or ranges of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> Has to be a subset of new_idx.</span>
|
||||
<span class="sd"> eps : float</span>
|
||||
<span class="sd"> Prefactor that enters the filter criterion.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">new_names</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">new_deltas</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
@ -1260,9 +1263,6 @@
|
|||
<span class="sd"> the autograd wrapper (use 'import autograd.numpy as anp').</span>
|
||||
<span class="sd"> data : list</span>
|
||||
<span class="sd"> list of Obs, e.g. [obs1, obs2, obs3].</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> num_grad : bool</span>
|
||||
<span class="sd"> if True, numerical derivatives are used instead of autograd</span>
|
||||
<span class="sd"> (default False). To control the numerical differentiation the</span>
|
||||
|
@ -1401,10 +1401,13 @@
|
|||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> deltas -- List of fluctuations</span>
|
||||
<span class="sd"> idx_old -- List or range of configs on which the deltas are defined</span>
|
||||
<span class="sd"> idx_new -- List of configs for which we want to extract the deltas.</span>
|
||||
<span class="sd"> Has to be a subset of idx_old.</span>
|
||||
<span class="sd"> deltas : list</span>
|
||||
<span class="sd"> List of fluctuations</span>
|
||||
<span class="sd"> idx_old : list</span>
|
||||
<span class="sd"> List or range of configs on which the deltas are defined</span>
|
||||
<span class="sd"> idx_new : list</span>
|
||||
<span class="sd"> List of configs for which we want to extract the deltas.</span>
|
||||
<span class="sd"> Has to be a subset of idx_old.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">deltas</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">idx_old</span><span class="p">):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Lenght of deltas and idx_old have to be the same: </span><span class="si">%d</span><span class="s1"> != </span><span class="si">%d</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">deltas</span><span class="p">),</span> <span class="nb">len</span><span class="p">(</span><span class="n">idx_old</span><span class="p">)))</span>
|
||||
|
@ -1438,9 +1441,6 @@
|
|||
<span class="sd"> configurations in obs[i].idl for all i.</span>
|
||||
<span class="sd"> obs : list</span>
|
||||
<span class="sd"> list of Obs, e.g. [obs1, obs2, obs3].</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> all_configs : bool</span>
|
||||
<span class="sd"> if True, the reweighted observables are normalized by the average of</span>
|
||||
<span class="sd"> the reweighting factor on all configurations in weight.idl and not</span>
|
||||
|
@ -1475,8 +1475,8 @@
|
|||
<span class="k">def</span> <span class="nf">correlate</span><span class="p">(</span><span class="n">obs_a</span><span class="p">,</span> <span class="n">obs_b</span><span class="p">):</span>
|
||||
<span class="sd">"""Correlate two observables.</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> obs_a : Obs</span>
|
||||
<span class="sd"> First observable</span>
|
||||
<span class="sd"> obs_b : Obs</span>
|
||||
|
@ -1522,10 +1522,11 @@
|
|||
<span class="sd"> is constrained to the maximum value in order to make sure that covariance</span>
|
||||
<span class="sd"> matrices are positive semidefinite.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> correlation -- if true the correlation instead of the covariance is</span>
|
||||
<span class="sd"> returned (default False)</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> correlation : bool</span>
|
||||
<span class="sd"> if true the correlation instead of the covariance is</span>
|
||||
<span class="sd"> returned (default False)</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="nb">sorted</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">obs1</span><span class="o">.</span><span class="n">names</span> <span class="o">+</span> <span class="n">obs2</span><span class="o">.</span><span class="n">names</span><span class="p">)):</span>
|
||||
|
@ -1779,9 +1780,14 @@
|
|||
<span class="k">def</span> <span class="nf">dump_object</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Dump object into pickle file.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> path -- specifies a custom path for the file (default '.')</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> obj : object</span>
|
||||
<span class="sd"> object to be saved in the pickle file</span>
|
||||
<span class="sd"> name : str</span>
|
||||
<span class="sd"> name of the file</span>
|
||||
<span class="sd"> path : str</span>
|
||||
<span class="sd"> specifies a custom path for the file (default '.')</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="s1">'path'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||
<span class="n">file_name</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'path'</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'.p'</span>
|
||||
|
@ -1800,6 +1806,11 @@
|
|||
<span class="k">def</span> <span class="nf">merge_obs</span><span class="p">(</span><span class="n">list_of_obs</span><span class="p">):</span>
|
||||
<span class="sd">"""Combine all observables in list_of_obs into one new observable</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> list_of_obs : list</span>
|
||||
<span class="sd"> list of the Obs object to be combined</span>
|
||||
|
||||
<span class="sd"> It is not possible to combine obs which are based on the same replicum</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">replist</span> <span class="o">=</span> <span class="p">[</span><span class="n">item</span> <span class="k">for</span> <span class="n">obs</span> <span class="ow">in</span> <span class="n">list_of_obs</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">obs</span><span class="o">.</span><span class="n">names</span><span class="p">]</span>
|
||||
|
@ -1875,7 +1886,7 @@
|
|||
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">samples</span><span class="p">,</span> <span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">means</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">""" Initialize Obs object.</span>
|
||||
|
||||
<span class="sd"> Attributes</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> samples : list</span>
|
||||
<span class="sd"> list of numpy arrays containing the Monte Carlo samples</span>
|
||||
|
@ -1972,57 +1983,11 @@
|
|||
<span class="n">res</span><span class="p">[</span><span class="n">e_name</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">e_name</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">res</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">expand_deltas</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">):</span>
|
||||
<span class="sd">"""Expand deltas defined on idx to a regular, contiguous range, where holes are filled by 0.</span>
|
||||
<span class="sd"> If idx is of type range, the deltas are not changed</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> deltas -- List of fluctuations</span>
|
||||
<span class="sd"> idx -- List or range of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> shape -- Number of configs in idx.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">idx</span><span class="p">)</span> <span class="ow">is</span> <span class="nb">range</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">deltas</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">ret</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">idx</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">idx</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">shape</span><span class="p">):</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="n">idx</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">-</span> <span class="n">idx</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> <span class="o">=</span> <span class="n">deltas</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">ret</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">calc_gamma</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">,</span> <span class="n">w_max</span><span class="p">,</span> <span class="n">fft</span><span class="p">):</span>
|
||||
<span class="sd">"""Calculate Gamma_{AA} from the deltas, which are defined on idx.</span>
|
||||
<span class="sd"> idx is assumed to be a contiguous range (possibly with a stepsize != 1)</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> deltas -- List of fluctuations</span>
|
||||
<span class="sd"> idx -- List or range of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> shape -- Number of configs in idx.</span>
|
||||
<span class="sd"> w_max -- Upper bound for the summation window</span>
|
||||
<span class="sd"> fft -- boolean, which determines whether the fft algorithm is used for</span>
|
||||
<span class="sd"> the computation of the autocorrelation function</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">gamma</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">w_max</span><span class="p">)</span>
|
||||
<span class="n">deltas</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">expand_deltas</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">)</span>
|
||||
<span class="n">new_shape</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">deltas</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">fft</span><span class="p">:</span>
|
||||
<span class="n">max_gamma</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">new_shape</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span>
|
||||
<span class="c1"># The padding for the fft has to be even</span>
|
||||
<span class="n">padding</span> <span class="o">=</span> <span class="n">new_shape</span> <span class="o">+</span> <span class="n">max_gamma</span> <span class="o">+</span> <span class="p">(</span><span class="n">new_shape</span> <span class="o">+</span> <span class="n">max_gamma</span><span class="p">)</span> <span class="o">%</span> <span class="mi">2</span>
|
||||
<span class="n">gamma</span><span class="p">[:</span><span class="n">max_gamma</span><span class="p">]</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">fft</span><span class="o">.</span><span class="n">irfft</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">fft</span><span class="o">.</span><span class="n">rfft</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="n">padding</span><span class="p">))</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)[:</span><span class="n">max_gamma</span><span class="p">]</span>
|
||||
<span class="k">else</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="n">w_max</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">new_shape</span> <span class="o">-</span> <span class="n">n</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">gamma</span><span class="p">[</span><span class="n">n</span><span class="p">]</span> <span class="o">+=</span> <span class="n">deltas</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="n">new_shape</span> <span class="o">-</span> <span class="n">n</span><span class="p">]</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">deltas</span><span class="p">[</span><span class="n">n</span><span class="p">:</span><span class="n">new_shape</span><span class="p">])</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">gamma</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">"""Calculate the error and related properties of the Obs.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</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>
|
||||
|
@ -2200,6 +2165,52 @@
|
|||
<span class="bp">self</span><span class="o">.</span><span class="n">ddvalue</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="bp">self</span><span class="o">.</span><span class="n">ddvalue</span><span class="p">)</span> <span class="o">/</span> <span class="bp">self</span><span class="o">.</span><span class="n">dvalue</span>
|
||||
<span class="k">return</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">expand_deltas</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">):</span>
|
||||
<span class="sd">"""Expand deltas defined on idx to a regular, contiguous range, where holes are filled by 0.</span>
|
||||
<span class="sd"> If idx is of type range, the deltas are not changed</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> deltas -- List of fluctuations</span>
|
||||
<span class="sd"> idx -- List or range of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> shape -- Number of configs in idx.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">idx</span><span class="p">)</span> <span class="ow">is</span> <span class="nb">range</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">deltas</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">ret</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">idx</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">idx</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">shape</span><span class="p">):</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="n">idx</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">-</span> <span class="n">idx</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> <span class="o">=</span> <span class="n">deltas</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">ret</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">calc_gamma</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">,</span> <span class="n">w_max</span><span class="p">,</span> <span class="n">fft</span><span class="p">):</span>
|
||||
<span class="sd">"""Calculate Gamma_{AA} from the deltas, which are defined on idx.</span>
|
||||
<span class="sd"> idx is assumed to be a contiguous range (possibly with a stepsize != 1)</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> deltas -- List of fluctuations</span>
|
||||
<span class="sd"> idx -- List or range of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> shape -- Number of configs in idx.</span>
|
||||
<span class="sd"> w_max -- Upper bound for the summation window</span>
|
||||
<span class="sd"> fft -- boolean, which determines whether the fft algorithm is used for</span>
|
||||
<span class="sd"> the computation of the autocorrelation function</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">gamma</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">w_max</span><span class="p">)</span>
|
||||
<span class="n">deltas</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">expand_deltas</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">)</span>
|
||||
<span class="n">new_shape</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">deltas</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">fft</span><span class="p">:</span>
|
||||
<span class="n">max_gamma</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">new_shape</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span>
|
||||
<span class="c1"># The padding for the fft has to be even</span>
|
||||
<span class="n">padding</span> <span class="o">=</span> <span class="n">new_shape</span> <span class="o">+</span> <span class="n">max_gamma</span> <span class="o">+</span> <span class="p">(</span><span class="n">new_shape</span> <span class="o">+</span> <span class="n">max_gamma</span><span class="p">)</span> <span class="o">%</span> <span class="mi">2</span>
|
||||
<span class="n">gamma</span><span class="p">[:</span><span class="n">max_gamma</span><span class="p">]</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">fft</span><span class="o">.</span><span class="n">irfft</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">fft</span><span class="o">.</span><span class="n">rfft</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="n">padding</span><span class="p">))</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)[:</span><span class="n">max_gamma</span><span class="p">]</span>
|
||||
<span class="k">else</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="n">w_max</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">new_shape</span> <span class="o">-</span> <span class="n">n</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">gamma</span><span class="p">[</span><span class="n">n</span><span class="p">]</span> <span class="o">+=</span> <span class="n">deltas</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="n">new_shape</span> <span class="o">-</span> <span class="n">n</span><span class="p">]</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">deltas</span><span class="p">[</span><span class="n">n</span><span class="p">:</span><span class="n">new_shape</span><span class="p">])</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">gamma</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">print</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">level</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
|
||||
<span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">"Method 'print' renamed to 'details'"</span><span class="p">,</span> <span class="ne">DeprecationWarning</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">details</span><span class="p">(</span><span class="n">level</span> <span class="o">></span> <span class="mi">1</span><span class="p">)</span>
|
||||
|
@ -2361,9 +2372,10 @@
|
|||
<span class="k">def</span> <span class="nf">dump</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Dump the Obs to a pickle file 'name'.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> path -- specifies a custom path for the file (default '.')</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> path : str</span>
|
||||
<span class="sd"> specifies a custom path for the file (default '.')</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="s1">'path'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||
<span class="n">file_name</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'path'</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'.p'</span>
|
||||
|
@ -2588,7 +2600,7 @@ Standard value for N_sigma (default 1.0)</li>
|
|||
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">samples</span><span class="p">,</span> <span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">means</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">""" Initialize Obs object.</span>
|
||||
|
||||
<span class="sd"> Attributes</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> samples : list</span>
|
||||
<span class="sd"> list of numpy arrays containing the Monte Carlo samples</span>
|
||||
|
@ -2669,7 +2681,7 @@ Standard value for N_sigma (default 1.0)</li>
|
|||
|
||||
<div class="docstring"><p>Initialize Obs object.</p>
|
||||
|
||||
<h6 id="attributes">Attributes</h6>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>samples</strong> (list):
|
||||
|
@ -2865,108 +2877,6 @@ already subtracted from the samples</li>
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Obs.expand_deltas" class="classattr">
|
||||
<div class="attr function"><a class="headerlink" href="#Obs.expand_deltas">#  </a>
|
||||
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">expand_deltas</span><span class="signature">(self, deltas, idx, shape)</span>:
|
||||
</div>
|
||||
|
||||
<details>
|
||||
<summary>View Source</summary>
|
||||
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="nf">expand_deltas</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">):</span>
|
||||
<span class="sd">"""Expand deltas defined on idx to a regular, contiguous range, where holes are filled by 0.</span>
|
||||
<span class="sd"> If idx is of type range, the deltas are not changed</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> deltas -- List of fluctuations</span>
|
||||
<span class="sd"> idx -- List or range of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> shape -- Number of configs in idx.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">idx</span><span class="p">)</span> <span class="ow">is</span> <span class="nb">range</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">deltas</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">ret</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">idx</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">idx</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">shape</span><span class="p">):</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="n">idx</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">-</span> <span class="n">idx</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> <span class="o">=</span> <span class="n">deltas</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">ret</span>
|
||||
</pre></div>
|
||||
|
||||
</details>
|
||||
|
||||
<div class="docstring"><p>Expand deltas defined on idx to a regular, contiguous range, where holes are filled by 0.
|
||||
If idx is of type range, the deltas are not changed</p>
|
||||
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>deltas -- List of fluctuations</strong></li>
|
||||
<li><strong>idx -- List or range of configs on which the deltas are defined.</strong></li>
|
||||
<li><strong>shape -- Number of configs in idx.</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Obs.calc_gamma" class="classattr">
|
||||
<div class="attr function"><a class="headerlink" href="#Obs.calc_gamma">#  </a>
|
||||
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">calc_gamma</span><span class="signature">(self, deltas, idx, shape, w_max, fft)</span>:
|
||||
</div>
|
||||
|
||||
<details>
|
||||
<summary>View Source</summary>
|
||||
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="nf">calc_gamma</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">,</span> <span class="n">w_max</span><span class="p">,</span> <span class="n">fft</span><span class="p">):</span>
|
||||
<span class="sd">"""Calculate Gamma_{AA} from the deltas, which are defined on idx.</span>
|
||||
<span class="sd"> idx is assumed to be a contiguous range (possibly with a stepsize != 1)</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> deltas -- List of fluctuations</span>
|
||||
<span class="sd"> idx -- List or range of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> shape -- Number of configs in idx.</span>
|
||||
<span class="sd"> w_max -- Upper bound for the summation window</span>
|
||||
<span class="sd"> fft -- boolean, which determines whether the fft algorithm is used for</span>
|
||||
<span class="sd"> the computation of the autocorrelation function</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">gamma</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">w_max</span><span class="p">)</span>
|
||||
<span class="n">deltas</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">expand_deltas</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">)</span>
|
||||
<span class="n">new_shape</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">deltas</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">fft</span><span class="p">:</span>
|
||||
<span class="n">max_gamma</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">new_shape</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span>
|
||||
<span class="c1"># The padding for the fft has to be even</span>
|
||||
<span class="n">padding</span> <span class="o">=</span> <span class="n">new_shape</span> <span class="o">+</span> <span class="n">max_gamma</span> <span class="o">+</span> <span class="p">(</span><span class="n">new_shape</span> <span class="o">+</span> <span class="n">max_gamma</span><span class="p">)</span> <span class="o">%</span> <span class="mi">2</span>
|
||||
<span class="n">gamma</span><span class="p">[:</span><span class="n">max_gamma</span><span class="p">]</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">fft</span><span class="o">.</span><span class="n">irfft</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">fft</span><span class="o">.</span><span class="n">rfft</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="n">padding</span><span class="p">))</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)[:</span><span class="n">max_gamma</span><span class="p">]</span>
|
||||
<span class="k">else</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="n">w_max</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">new_shape</span> <span class="o">-</span> <span class="n">n</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">gamma</span><span class="p">[</span><span class="n">n</span><span class="p">]</span> <span class="o">+=</span> <span class="n">deltas</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="n">new_shape</span> <span class="o">-</span> <span class="n">n</span><span class="p">]</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">deltas</span><span class="p">[</span><span class="n">n</span><span class="p">:</span><span class="n">new_shape</span><span class="p">])</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">gamma</span>
|
||||
</pre></div>
|
||||
|
||||
</details>
|
||||
|
||||
<div class="docstring"><p>Calculate Gamma_{AA} from the deltas, which are defined on idx.
|
||||
idx is assumed to be a contiguous range (possibly with a stepsize != 1)</p>
|
||||
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>deltas -- List of fluctuations</strong></li>
|
||||
<li><strong>idx -- List or range of configs on which the deltas are defined.</strong></li>
|
||||
<li><strong>shape -- Number of configs in idx.</strong></li>
|
||||
<li><strong>w_max -- Upper bound for the summation window</strong></li>
|
||||
<li><strong>fft -- boolean, which determines whether the fft algorithm is used for</strong>: the computation of the autocorrelation function</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Obs.gamma_method" class="classattr">
|
||||
<div class="attr function"><a class="headerlink" href="#Obs.gamma_method">#  </a>
|
||||
|
@ -2981,8 +2891,8 @@ already subtracted from the samples</li>
|
|||
<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">"""Calculate the error and related properties of the Obs.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</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>
|
||||
|
@ -3165,21 +3075,125 @@ already subtracted from the samples</li>
|
|||
|
||||
<div class="docstring"><p>Calculate the error and related properties of the Obs.</p>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>S : float
|
||||
specifies a custom value for the parameter S (default 2.0), can be
|
||||
a float or an array of floats for different ensembles
|
||||
tau_exp : float
|
||||
positive value triggers the critical slowing down analysis
|
||||
(default 0.0), can be a float or an array of floats for different
|
||||
ensembles
|
||||
N_sigma : float
|
||||
number of standard deviations from zero until the tail is
|
||||
attached to the autocorrelation function (default 1)
|
||||
fft : bool
|
||||
determines whether the fft algorithm is used for the computation
|
||||
of the autocorrelation function (default True)</p>
|
||||
<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>
|
||||
<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>
|
||||
<li><strong>N_sigma</strong> (float):
|
||||
number of standard deviations from zero until the tail is
|
||||
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>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Obs.expand_deltas" class="classattr">
|
||||
<div class="attr function"><a class="headerlink" href="#Obs.expand_deltas">#  </a>
|
||||
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">expand_deltas</span><span class="signature">(self, deltas, idx, shape)</span>:
|
||||
</div>
|
||||
|
||||
<details>
|
||||
<summary>View Source</summary>
|
||||
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="nf">expand_deltas</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">):</span>
|
||||
<span class="sd">"""Expand deltas defined on idx to a regular, contiguous range, where holes are filled by 0.</span>
|
||||
<span class="sd"> If idx is of type range, the deltas are not changed</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> deltas -- List of fluctuations</span>
|
||||
<span class="sd"> idx -- List or range of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> shape -- Number of configs in idx.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">idx</span><span class="p">)</span> <span class="ow">is</span> <span class="nb">range</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">deltas</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">ret</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">idx</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">idx</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">shape</span><span class="p">):</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="n">idx</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">-</span> <span class="n">idx</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> <span class="o">=</span> <span class="n">deltas</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">ret</span>
|
||||
</pre></div>
|
||||
|
||||
</details>
|
||||
|
||||
<div class="docstring"><p>Expand deltas defined on idx to a regular, contiguous range, where holes are filled by 0.
|
||||
If idx is of type range, the deltas are not changed</p>
|
||||
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>deltas -- List of fluctuations</strong></li>
|
||||
<li><strong>idx -- List or range of configs on which the deltas are defined.</strong></li>
|
||||
<li><strong>shape -- Number of configs in idx.</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Obs.calc_gamma" class="classattr">
|
||||
<div class="attr function"><a class="headerlink" href="#Obs.calc_gamma">#  </a>
|
||||
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">calc_gamma</span><span class="signature">(self, deltas, idx, shape, w_max, fft)</span>:
|
||||
</div>
|
||||
|
||||
<details>
|
||||
<summary>View Source</summary>
|
||||
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="nf">calc_gamma</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">,</span> <span class="n">w_max</span><span class="p">,</span> <span class="n">fft</span><span class="p">):</span>
|
||||
<span class="sd">"""Calculate Gamma_{AA} from the deltas, which are defined on idx.</span>
|
||||
<span class="sd"> idx is assumed to be a contiguous range (possibly with a stepsize != 1)</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> deltas -- List of fluctuations</span>
|
||||
<span class="sd"> idx -- List or range of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> shape -- Number of configs in idx.</span>
|
||||
<span class="sd"> w_max -- Upper bound for the summation window</span>
|
||||
<span class="sd"> fft -- boolean, which determines whether the fft algorithm is used for</span>
|
||||
<span class="sd"> the computation of the autocorrelation function</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">gamma</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">w_max</span><span class="p">)</span>
|
||||
<span class="n">deltas</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">expand_deltas</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">shape</span><span class="p">)</span>
|
||||
<span class="n">new_shape</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">deltas</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">fft</span><span class="p">:</span>
|
||||
<span class="n">max_gamma</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">new_shape</span><span class="p">,</span> <span class="n">w_max</span><span class="p">)</span>
|
||||
<span class="c1"># The padding for the fft has to be even</span>
|
||||
<span class="n">padding</span> <span class="o">=</span> <span class="n">new_shape</span> <span class="o">+</span> <span class="n">max_gamma</span> <span class="o">+</span> <span class="p">(</span><span class="n">new_shape</span> <span class="o">+</span> <span class="n">max_gamma</span><span class="p">)</span> <span class="o">%</span> <span class="mi">2</span>
|
||||
<span class="n">gamma</span><span class="p">[:</span><span class="n">max_gamma</span><span class="p">]</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">fft</span><span class="o">.</span><span class="n">irfft</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">fft</span><span class="o">.</span><span class="n">rfft</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="n">padding</span><span class="p">))</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)[:</span><span class="n">max_gamma</span><span class="p">]</span>
|
||||
<span class="k">else</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="n">w_max</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">new_shape</span> <span class="o">-</span> <span class="n">n</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">gamma</span><span class="p">[</span><span class="n">n</span><span class="p">]</span> <span class="o">+=</span> <span class="n">deltas</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="n">new_shape</span> <span class="o">-</span> <span class="n">n</span><span class="p">]</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">deltas</span><span class="p">[</span><span class="n">n</span><span class="p">:</span><span class="n">new_shape</span><span class="p">])</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">gamma</span>
|
||||
</pre></div>
|
||||
|
||||
</details>
|
||||
|
||||
<div class="docstring"><p>Calculate Gamma_{AA} from the deltas, which are defined on idx.
|
||||
idx is assumed to be a contiguous range (possibly with a stepsize != 1)</p>
|
||||
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>deltas -- List of fluctuations</strong></li>
|
||||
<li><strong>idx -- List or range of configs on which the deltas are defined.</strong></li>
|
||||
<li><strong>shape -- Number of configs in idx.</strong></li>
|
||||
<li><strong>w_max -- Upper bound for the summation window</strong></li>
|
||||
<li><strong>fft -- boolean, which determines whether the fft algorithm is used for</strong>: the computation of the autocorrelation function</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -3518,9 +3532,10 @@ ensemble to the error and returns a dictionary containing the fractions.</p>
|
|||
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="nf">dump</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Dump the Obs to a pickle file 'name'.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> path -- specifies a custom path for the file (default '.')</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> path : str</span>
|
||||
<span class="sd"> specifies a custom path for the file (default '.')</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="s1">'path'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||
<span class="n">file_name</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'path'</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'.p'</span>
|
||||
|
@ -3534,9 +3549,12 @@ ensemble to the error and returns a dictionary containing the fractions.</p>
|
|||
|
||||
<div class="docstring"><p>Dump the Obs to a pickle file 'name'.</p>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>path -- specifies a custom path for the file (default '.')</p>
|
||||
<ul>
|
||||
<li><strong>path</strong> (str):
|
||||
specifies a custom path for the file (default '.')</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -4208,7 +4226,8 @@ ensemble to the error and returns a dictionary containing the fractions.</p>
|
|||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> idl -- List of lists or ranges.</span>
|
||||
<span class="sd"> idl : list</span>
|
||||
<span class="sd"> List of lists or ranges.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="c1"># Use groupby to efficiently check whether all elements of idl are identical</span>
|
||||
|
@ -4236,7 +4255,8 @@ ensemble to the error and returns a dictionary containing the fractions.</p>
|
|||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>idl -- List of lists or ranges.</strong></li>
|
||||
<li><strong>idl</strong> (list):
|
||||
List of lists or ranges.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -4321,14 +4341,15 @@ List of configs that defines the new range.</li>
|
|||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> names -- List of names</span>
|
||||
<span class="sd"> deltas -- Dict lists of fluctuations</span>
|
||||
<span class="sd"> idx -- Dict of lists or ranges of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> Has to be a subset of new_idx.</span>
|
||||
|
||||
<span class="sd"> Optional parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> eps -- Prefactor that enters the filter criterion.</span>
|
||||
<span class="sd"> names : list</span>
|
||||
<span class="sd"> List of names</span>
|
||||
<span class="sd"> deltas : dict</span>
|
||||
<span class="sd"> Dict lists of fluctuations</span>
|
||||
<span class="sd"> idx : dict</span>
|
||||
<span class="sd"> Dict of lists or ranges of configs on which the deltas are defined.</span>
|
||||
<span class="sd"> Has to be a subset of new_idx.</span>
|
||||
<span class="sd"> eps : float</span>
|
||||
<span class="sd"> Prefactor that enters the filter criterion.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">new_names</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">new_deltas</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
@ -4359,14 +4380,16 @@ List of configs that defines the new range.</li>
|
|||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>names -- List of names</strong></li>
|
||||
<li><strong>deltas -- Dict lists of fluctuations</strong></li>
|
||||
<li><strong>idx -- Dict of lists or ranges of configs on which the deltas are defined.</strong>: Has to be a subset of new_idx.</li>
|
||||
<li><strong>names</strong> (list):
|
||||
List of names</li>
|
||||
<li><strong>deltas</strong> (dict):
|
||||
Dict lists of fluctuations</li>
|
||||
<li><strong>idx</strong> (dict):
|
||||
Dict of lists or ranges of configs on which the deltas are defined.
|
||||
Has to be a subset of new_idx.</li>
|
||||
<li><strong>eps</strong> (float):
|
||||
Prefactor that enters the filter criterion.</li>
|
||||
</ul>
|
||||
|
||||
<h6 id="optional-parameters">Optional parameters</h6>
|
||||
|
||||
<p>eps -- Prefactor that enters the filter criterion.</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -4392,9 +4415,6 @@ List of configs that defines the new range.</li>
|
|||
<span class="sd"> the autograd wrapper (use 'import autograd.numpy as anp').</span>
|
||||
<span class="sd"> data : list</span>
|
||||
<span class="sd"> list of Obs, e.g. [obs1, obs2, obs3].</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> num_grad : bool</span>
|
||||
<span class="sd"> if True, numerical derivatives are used instead of autograd</span>
|
||||
<span class="sd"> (default False). To control the numerical differentiation the</span>
|
||||
|
@ -4541,20 +4561,17 @@ automatic differentiation to work, all numpy functions have to have
|
|||
the autograd wrapper (use 'import autograd.numpy as anp').</li>
|
||||
<li><strong>data</strong> (list):
|
||||
list of Obs, e.g. [obs1, obs2, obs3].</li>
|
||||
<li><strong>num_grad</strong> (bool):
|
||||
if True, numerical derivatives are used instead of autograd
|
||||
(default False). To control the numerical differentiation the
|
||||
kwargs of numdifftools.step_generators.MaxStepGenerator
|
||||
can be used.</li>
|
||||
<li><strong>man_grad</strong> (list):
|
||||
manually supply a list or an array which contains the jacobian
|
||||
of func. Use cautiously, supplying the wrong derivative will
|
||||
not be intercepted.</li>
|
||||
</ul>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
|
||||
<p>num_grad : bool
|
||||
if True, numerical derivatives are used instead of autograd
|
||||
(default False). To control the numerical differentiation the
|
||||
kwargs of numdifftools.step_generators.MaxStepGenerator
|
||||
can be used.
|
||||
man_grad : list
|
||||
manually supply a list or an array which contains the jacobian
|
||||
of func. Use cautiously, supplying the wrong derivative will
|
||||
not be intercepted.</p>
|
||||
|
||||
<h6 id="notes">Notes</h6>
|
||||
|
||||
<p>For simple mathematical operations it can be practical to use anonymous
|
||||
|
@ -4580,10 +4597,13 @@ functions. For the ratio of two observables one can e.g. use</p>
|
|||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> deltas -- List of fluctuations</span>
|
||||
<span class="sd"> idx_old -- List or range of configs on which the deltas are defined</span>
|
||||
<span class="sd"> idx_new -- List of configs for which we want to extract the deltas.</span>
|
||||
<span class="sd"> Has to be a subset of idx_old.</span>
|
||||
<span class="sd"> deltas : list</span>
|
||||
<span class="sd"> List of fluctuations</span>
|
||||
<span class="sd"> idx_old : list</span>
|
||||
<span class="sd"> List or range of configs on which the deltas are defined</span>
|
||||
<span class="sd"> idx_new : list</span>
|
||||
<span class="sd"> List of configs for which we want to extract the deltas.</span>
|
||||
<span class="sd"> Has to be a subset of idx_old.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">deltas</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">idx_old</span><span class="p">):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Lenght of deltas and idx_old have to be the same: </span><span class="si">%d</span><span class="s1"> != </span><span class="si">%d</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">deltas</span><span class="p">),</span> <span class="nb">len</span><span class="p">(</span><span class="n">idx_old</span><span class="p">)))</span>
|
||||
|
@ -4614,9 +4634,13 @@ functions. For the ratio of two observables one can e.g. use</p>
|
|||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>deltas -- List of fluctuations</strong></li>
|
||||
<li><strong>idx_old -- List or range of configs on which the deltas are defined</strong></li>
|
||||
<li><strong>idx_new -- List of configs for which we want to extract the deltas.</strong>: Has to be a subset of idx_old.</li>
|
||||
<li><strong>deltas</strong> (list):
|
||||
List of fluctuations</li>
|
||||
<li><strong>idx_old</strong> (list):
|
||||
List or range of configs on which the deltas are defined</li>
|
||||
<li><strong>idx_new</strong> (list):
|
||||
List of configs for which we want to extract the deltas.
|
||||
Has to be a subset of idx_old.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -4642,9 +4666,6 @@ functions. For the ratio of two observables one can e.g. use</p>
|
|||
<span class="sd"> configurations in obs[i].idl for all i.</span>
|
||||
<span class="sd"> obs : list</span>
|
||||
<span class="sd"> list of Obs, e.g. [obs1, obs2, obs3].</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> all_configs : bool</span>
|
||||
<span class="sd"> if True, the reweighted observables are normalized by the average of</span>
|
||||
<span class="sd"> the reweighting factor on all configurations in weight.idl and not</span>
|
||||
|
@ -4688,14 +4709,11 @@ Reweighting factor. An Observable that has to be defined on a superset of the
|
|||
configurations in obs[i].idl for all i.</li>
|
||||
<li><strong>obs</strong> (list):
|
||||
list of Obs, e.g. [obs1, obs2, obs3].</li>
|
||||
<li><strong>all_configs</strong> (bool):
|
||||
if True, the reweighted observables are normalized by the average of
|
||||
the reweighting factor on all configurations in weight.idl and not
|
||||
on the configurations in obs[i].idl.</li>
|
||||
</ul>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
|
||||
<p>all_configs : bool
|
||||
if True, the reweighted observables are normalized by the average of
|
||||
the reweighting factor on all configurations in weight.idl and not
|
||||
on the configurations in obs[i].idl.</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -4713,8 +4731,8 @@ list of Obs, e.g. [obs1, obs2, obs3].</li>
|
|||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">correlate</span><span class="p">(</span><span class="n">obs_a</span><span class="p">,</span> <span class="n">obs_b</span><span class="p">):</span>
|
||||
<span class="sd">"""Correlate two observables.</span>
|
||||
|
||||
<span class="sd"> Attributes:</span>
|
||||
<span class="sd"> -----------</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> obs_a : Obs</span>
|
||||
<span class="sd"> First observable</span>
|
||||
<span class="sd"> obs_b : Obs</span>
|
||||
|
@ -4754,16 +4772,17 @@ list of Obs, e.g. [obs1, obs2, obs3].</li>
|
|||
|
||||
<div class="docstring"><p>Correlate two observables.</p>
|
||||
|
||||
<h2 id="attributes">Attributes:</h2>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>obs_a : Obs
|
||||
First observable
|
||||
obs_b : Obs
|
||||
Second observable</p>
|
||||
|
||||
<p>Keep in mind to only correlate primary observables which have not been reweighted
|
||||
yet. The reweighting has to be applied after correlating the observables.
|
||||
Currently only works if ensembles are identical. This is not really necessary.</p>
|
||||
<ul>
|
||||
<li><strong>obs_a</strong> (Obs):
|
||||
First observable</li>
|
||||
<li><strong>obs_b</strong> (Obs):
|
||||
Second observable</li>
|
||||
<li><strong>Keep in mind to only correlate primary observables which have not been reweighted</strong></li>
|
||||
<li><strong>yet. The reweighting has to be applied after correlating the observables.</strong></li>
|
||||
<li><strong>Currently only works if ensembles are identical. This is not really necessary.</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -4788,10 +4807,11 @@ Currently only works if ensembles are identical. This is not really necessary.</
|
|||
<span class="sd"> is constrained to the maximum value in order to make sure that covariance</span>
|
||||
<span class="sd"> matrices are positive semidefinite.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> correlation -- if true the correlation instead of the covariance is</span>
|
||||
<span class="sd"> returned (default False)</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> correlation : bool</span>
|
||||
<span class="sd"> if true the correlation instead of the covariance is</span>
|
||||
<span class="sd"> returned (default False)</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="nb">sorted</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">obs1</span><span class="o">.</span><span class="n">names</span> <span class="o">+</span> <span class="n">obs2</span><span class="o">.</span><span class="n">names</span><span class="p">)):</span>
|
||||
|
@ -4845,10 +4865,13 @@ The gamma method has to be applied first to both observables.</p>
|
|||
is constrained to the maximum value in order to make sure that covariance
|
||||
matrices are positive semidefinite.</p>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>correlation -- if true the correlation instead of the covariance is
|
||||
returned (default False)</p>
|
||||
<ul>
|
||||
<li><strong>correlation</strong> (bool):
|
||||
if true the correlation instead of the covariance is
|
||||
returned (default False)</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -5154,9 +5177,14 @@ plot -- if true, the integrated autocorrelation time for each ensemble is
|
|||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">dump_object</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<span class="sd">"""Dump object into pickle file.</span>
|
||||
|
||||
<span class="sd"> Keyword arguments</span>
|
||||
<span class="sd"> -----------------</span>
|
||||
<span class="sd"> path -- specifies a custom path for the file (default '.')</span>
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> obj : object</span>
|
||||
<span class="sd"> object to be saved in the pickle file</span>
|
||||
<span class="sd"> name : str</span>
|
||||
<span class="sd"> name of the file</span>
|
||||
<span class="sd"> path : str</span>
|
||||
<span class="sd"> specifies a custom path for the file (default '.')</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="s1">'path'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||
<span class="n">file_name</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'path'</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'.p'</span>
|
||||
|
@ -5170,9 +5198,16 @@ plot -- if true, the integrated autocorrelation time for each ensemble is
|
|||
|
||||
<div class="docstring"><p>Dump object into pickle file.</p>
|
||||
|
||||
<h6 id="keyword-arguments">Keyword arguments</h6>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<p>path -- specifies a custom path for the file (default '.')</p>
|
||||
<ul>
|
||||
<li><strong>obj</strong> (object):
|
||||
object to be saved in the pickle file</li>
|
||||
<li><strong>name</strong> (str):
|
||||
name of the file</li>
|
||||
<li><strong>path</strong> (str):
|
||||
specifies a custom path for the file (default '.')</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -5213,6 +5248,11 @@ plot -- if true, the integrated autocorrelation time for each ensemble is
|
|||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">merge_obs</span><span class="p">(</span><span class="n">list_of_obs</span><span class="p">):</span>
|
||||
<span class="sd">"""Combine all observables in list_of_obs into one new observable</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> list_of_obs : list</span>
|
||||
<span class="sd"> list of the Obs object to be combined</span>
|
||||
|
||||
<span class="sd"> It is not possible to combine obs which are based on the same replicum</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">replist</span> <span class="o">=</span> <span class="p">[</span><span class="n">item</span> <span class="k">for</span> <span class="n">obs</span> <span class="ow">in</span> <span class="n">list_of_obs</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">obs</span><span class="o">.</span><span class="n">names</span><span class="p">]</span>
|
||||
|
@ -5236,7 +5276,13 @@ plot -- if true, the integrated autocorrelation time for each ensemble is
|
|||
|
||||
<div class="docstring"><p>Combine all observables in list_of_obs into one new observable</p>
|
||||
|
||||
<p>It is not possible to combine obs which are based on the same replicum</p>
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>list_of_obs</strong> (list):
|
||||
list of the Obs object to be combined</li>
|
||||
<li><strong>It is not possible to combine obs which are based on the same replicum</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue