Documentation updated

This commit is contained in:
fjosw 2023-01-03 10:01:33 +00:00
parent 849c12a78e
commit d85fbddcdf
18 changed files with 324 additions and 324 deletions

View file

@ -224,7 +224,7 @@
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a>
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a>
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a><span class="k">class</span> <span class="nc">Corr</span><span class="p">:</span>
</span><span id="L-14"><a href="#L-14"><span class="linenos"> 14</span></a> <span class="sd">&quot;&quot;&quot;The class for a correlator (time dependent sequence of pe.Obs).</span>
</span><span id="L-14"><a href="#L-14"><span class="linenos"> 14</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;The class for a correlator (time dependent sequence of pe.Obs).</span>
</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a>
</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a><span class="sd"> Everything, this class does, can be achieved using lists or arrays of Obs.</span>
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a><span class="sd"> But it is simply more convenient to have a dedicated object for correlators.</span>
@ -237,7 +237,7 @@
</span><span id="L-24"><a href="#L-24"><span class="linenos"> 24</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-25"><a href="#L-25"><span class="linenos"> 25</span></a>
</span><span id="L-26"><a href="#L-26"><span class="linenos"> 26</span></a> <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">data_input</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">prange</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-27"><a href="#L-27"><span class="linenos"> 27</span></a> <span class="sd">&quot;&quot;&quot; Initialize a Corr object.</span>
</span><span id="L-27"><a href="#L-27"><span class="linenos"> 27</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Initialize a Corr object.</span>
</span><span id="L-28"><a href="#L-28"><span class="linenos"> 28</span></a>
</span><span id="L-29"><a href="#L-29"><span class="linenos"> 29</span></a><span class="sd"> Parameters</span>
</span><span id="L-30"><a href="#L-30"><span class="linenos"> 30</span></a><span class="sd"> ----------</span>
@ -308,7 +308,7 @@
</span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">prange</span> <span class="o">=</span> <span class="n">prange</span>
</span><span id="L-96"><a href="#L-96"><span class="linenos"> 96</span></a>
</span><span id="L-97"><a href="#L-97"><span class="linenos"> 97</span></a> <span class="k">def</span> <span class="fm">__getitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">idx</span><span class="p">):</span>
</span><span id="L-98"><a href="#L-98"><span class="linenos"> 98</span></a> <span class="sd">&quot;&quot;&quot;Return the content of timeslice idx&quot;&quot;&quot;</span>
</span><span id="L-98"><a href="#L-98"><span class="linenos"> 98</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the content of timeslice idx&quot;&quot;&quot;</span>
</span><span id="L-99"><a href="#L-99"><span class="linenos"> 99</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">idx</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
</span><span id="L-100"><a href="#L-100"><span class="linenos"> 100</span></a> <span class="k">return</span> <span class="kc">None</span>
</span><span id="L-101"><a href="#L-101"><span class="linenos"> 101</span></a> <span class="k">elif</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">content</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>
@ -327,7 +327,7 @@
</span><span id="L-114"><a href="#L-114"><span class="linenos"> 114</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Reweighting status of correlator corrupted.&quot;</span><span class="p">)</span>
</span><span id="L-115"><a href="#L-115"><span class="linenos"> 115</span></a>
</span><span id="L-116"><a href="#L-116"><span class="linenos"> 116</span></a> <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><span id="L-117"><a href="#L-117"><span class="linenos"> 117</span></a> <span class="sd">&quot;&quot;&quot;Apply the gamma method to the content of the Corr.&quot;&quot;&quot;</span>
</span><span id="L-117"><a href="#L-117"><span class="linenos"> 117</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Apply the gamma method to the content of the Corr.&quot;&quot;&quot;</span>
</span><span id="L-118"><a href="#L-118"><span class="linenos"> 118</span></a> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">:</span>
</span><span id="L-119"><a href="#L-119"><span class="linenos"> 119</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">item</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">):</span>
</span><span id="L-120"><a href="#L-120"><span class="linenos"> 120</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
@ -338,7 +338,7 @@
</span><span id="L-125"><a href="#L-125"><span class="linenos"> 125</span></a> <span class="n">item</span><span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">]</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
</span><span id="L-126"><a href="#L-126"><span class="linenos"> 126</span></a>
</span><span id="L-127"><a href="#L-127"><span class="linenos"> 127</span></a> <span class="k">def</span> <span class="nf">projected</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">vector_l</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">vector_r</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">normalize</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="L-128"><a href="#L-128"><span class="linenos"> 128</span></a> <span class="sd">&quot;&quot;&quot;We need to project the Correlator with a Vector to get a single value at each timeslice.</span>
</span><span id="L-128"><a href="#L-128"><span class="linenos"> 128</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;We need to project the Correlator with a Vector to get a single value at each timeslice.</span>
</span><span id="L-129"><a href="#L-129"><span class="linenos"> 129</span></a>
</span><span id="L-130"><a href="#L-130"><span class="linenos"> 130</span></a><span class="sd"> The method can use one or two vectors.</span>
</span><span id="L-131"><a href="#L-131"><span class="linenos"> 131</span></a><span class="sd"> If two are specified it returns v1@G@v2 (the order might be very important.)</span>
@ -377,7 +377,7 @@
</span><span id="L-164"><a href="#L-164"><span class="linenos"> 164</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">)</span>
</span><span id="L-165"><a href="#L-165"><span class="linenos"> 165</span></a>
</span><span id="L-166"><a href="#L-166"><span class="linenos"> 166</span></a> <span class="k">def</span> <span class="nf">item</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">):</span>
</span><span id="L-167"><a href="#L-167"><span class="linenos"> 167</span></a> <span class="sd">&quot;&quot;&quot;Picks the element [i,j] from every matrix and returns a correlator containing one Obs per timeslice.</span>
</span><span id="L-167"><a href="#L-167"><span class="linenos"> 167</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Picks the element [i,j] from every matrix and returns a correlator containing one Obs per timeslice.</span>
</span><span id="L-168"><a href="#L-168"><span class="linenos"> 168</span></a>
</span><span id="L-169"><a href="#L-169"><span class="linenos"> 169</span></a><span class="sd"> Parameters</span>
</span><span id="L-170"><a href="#L-170"><span class="linenos"> 170</span></a><span class="sd"> ----------</span>
@ -392,7 +392,7 @@
</span><span id="L-179"><a href="#L-179"><span class="linenos"> 179</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">)</span>
</span><span id="L-180"><a href="#L-180"><span class="linenos"> 180</span></a>
</span><span id="L-181"><a href="#L-181"><span class="linenos"> 181</span></a> <span class="k">def</span> <span class="nf">plottable</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="L-182"><a href="#L-182"><span class="linenos"> 182</span></a> <span class="sd">&quot;&quot;&quot;Outputs the correlator in a plotable format.</span>
</span><span id="L-182"><a href="#L-182"><span class="linenos"> 182</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Outputs the correlator in a plotable format.</span>
</span><span id="L-183"><a href="#L-183"><span class="linenos"> 183</span></a>
</span><span id="L-184"><a href="#L-184"><span class="linenos"> 184</span></a><span class="sd"> Outputs three lists containing the timeslice index, the value on each</span>
</span><span id="L-185"><a href="#L-185"><span class="linenos"> 185</span></a><span class="sd"> timeslice and the error on each timeslice.</span>
@ -406,7 +406,7 @@
</span><span id="L-193"><a href="#L-193"><span class="linenos"> 193</span></a> <span class="k">return</span> <span class="n">x_list</span><span class="p">,</span> <span class="n">y_list</span><span class="p">,</span> <span class="n">y_err_list</span>
</span><span id="L-194"><a href="#L-194"><span class="linenos"> 194</span></a>
</span><span id="L-195"><a href="#L-195"><span class="linenos"> 195</span></a> <span class="k">def</span> <span class="nf">symmetric</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="L-196"><a href="#L-196"><span class="linenos"> 196</span></a> <span class="sd">&quot;&quot;&quot; Symmetrize the correlator around x0=0.&quot;&quot;&quot;</span>
</span><span id="L-196"><a href="#L-196"><span class="linenos"> 196</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Symmetrize the correlator around x0=0.&quot;&quot;&quot;</span>
</span><span id="L-197"><a href="#L-197"><span class="linenos"> 197</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="L-198"><a href="#L-198"><span class="linenos"> 198</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;symmetric cannot be safely applied to multi-dimensional correlators.&#39;</span><span class="p">)</span>
</span><span id="L-199"><a href="#L-199"><span class="linenos"> 199</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
@ -426,7 +426,7 @@
</span><span id="L-213"><a href="#L-213"><span class="linenos"> 213</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">,</span> <span class="n">prange</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">prange</span><span class="p">)</span>
</span><span id="L-214"><a href="#L-214"><span class="linenos"> 214</span></a>
</span><span id="L-215"><a href="#L-215"><span class="linenos"> 215</span></a> <span class="k">def</span> <span class="nf">anti_symmetric</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="L-216"><a href="#L-216"><span class="linenos"> 216</span></a> <span class="sd">&quot;&quot;&quot;Anti-symmetrize the correlator around x0=0.&quot;&quot;&quot;</span>
</span><span id="L-216"><a href="#L-216"><span class="linenos"> 216</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Anti-symmetrize the correlator around x0=0.&quot;&quot;&quot;</span>
</span><span id="L-217"><a href="#L-217"><span class="linenos"> 217</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="L-218"><a href="#L-218"><span class="linenos"> 218</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;anti_symmetric cannot be safely applied to multi-dimensional correlators.&#39;</span><span class="p">)</span>
</span><span id="L-219"><a href="#L-219"><span class="linenos"> 219</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
@ -448,7 +448,7 @@
</span><span id="L-235"><a href="#L-235"><span class="linenos"> 235</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">,</span> <span class="n">prange</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">prange</span><span class="p">)</span>
</span><span id="L-236"><a href="#L-236"><span class="linenos"> 236</span></a>
</span><span id="L-237"><a href="#L-237"><span class="linenos"> 237</span></a> <span class="k">def</span> <span class="nf">is_matrix_symmetric</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="L-238"><a href="#L-238"><span class="linenos"> 238</span></a> <span class="sd">&quot;&quot;&quot;Checks whether a correlator matrices is symmetric on every timeslice.&quot;&quot;&quot;</span>
</span><span id="L-238"><a href="#L-238"><span class="linenos"> 238</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks whether a correlator matrices is symmetric on every timeslice.&quot;&quot;&quot;</span>
</span><span id="L-239"><a href="#L-239"><span class="linenos"> 239</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="L-240"><a href="#L-240"><span class="linenos"> 240</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Only works for correlator matrices.&quot;</span><span class="p">)</span>
</span><span id="L-241"><a href="#L-241"><span class="linenos"> 241</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">T</span><span class="p">):</span>
@ -463,7 +463,7 @@
</span><span id="L-250"><a href="#L-250"><span class="linenos"> 250</span></a> <span class="k">return</span> <span class="kc">True</span>
</span><span id="L-251"><a href="#L-251"><span class="linenos"> 251</span></a>
</span><span id="L-252"><a href="#L-252"><span class="linenos"> 252</span></a> <span class="k">def</span> <span class="nf">matrix_symmetric</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="L-253"><a href="#L-253"><span class="linenos"> 253</span></a> <span class="sd">&quot;&quot;&quot;Symmetrizes the correlator matrices on every timeslice.&quot;&quot;&quot;</span>
</span><span id="L-253"><a href="#L-253"><span class="linenos"> 253</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Symmetrizes the correlator matrices on every timeslice.&quot;&quot;&quot;</span>
</span><span id="L-254"><a href="#L-254"><span class="linenos"> 254</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="L-255"><a href="#L-255"><span class="linenos"> 255</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Trying to symmetrize a correlator matrix, that already has N=1.&quot;</span><span class="p">)</span>
</span><span id="L-256"><a href="#L-256"><span class="linenos"> 256</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_matrix_symmetric</span><span class="p">():</span>
@ -473,7 +473,7 @@
</span><span id="L-260"><a href="#L-260"><span class="linenos"> 260</span></a> <span class="k">return</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">Corr</span><span class="p">(</span><span class="n">transposed</span><span class="p">)</span> <span class="o">+</span> <span class="bp">self</span><span class="p">)</span>
</span><span id="L-261"><a href="#L-261"><span class="linenos"> 261</span></a>
</span><span id="L-262"><a href="#L-262"><span class="linenos"> 262</span></a> <span class="k">def</span> <span class="nf">GEVP</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">t0</span><span class="p">,</span> <span class="n">ts</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sort</span><span class="o">=</span><span class="s2">&quot;Eigenvalue&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-263"><a href="#L-263"><span class="linenos"> 263</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Solve the generalized eigenvalue problem on the correlator matrix and returns the corresponding eigenvectors.</span>
</span><span id="L-263"><a href="#L-263"><span class="linenos"> 263</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Solve the generalized eigenvalue problem on the correlator matrix and returns the corresponding eigenvectors.</span>
</span><span id="L-264"><a href="#L-264"><span class="linenos"> 264</span></a>
</span><span id="L-265"><a href="#L-265"><span class="linenos"> 265</span></a><span class="sd"> The eigenvectors are sorted according to the descending eigenvalues, the zeroth eigenvector(s) correspond to the</span>
</span><span id="L-266"><a href="#L-266"><span class="linenos"> 266</span></a><span class="sd"> largest eigenvalue(s). The eigenvector(s) for the individual states can be accessed via slicing</span>
@ -552,7 +552,7 @@
</span><span id="L-339"><a href="#L-339"><span class="linenos"> 339</span></a> <span class="k">return</span> <span class="n">reordered_vecs</span>
</span><span id="L-340"><a href="#L-340"><span class="linenos"> 340</span></a>
</span><span id="L-341"><a href="#L-341"><span class="linenos"> 341</span></a> <span class="k">def</span> <span class="nf">Eigenvalue</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">t0</span><span class="p">,</span> <span class="n">ts</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">sort</span><span class="o">=</span><span class="s2">&quot;Eigenvalue&quot;</span><span class="p">):</span>
</span><span id="L-342"><a href="#L-342"><span class="linenos"> 342</span></a> <span class="sd">&quot;&quot;&quot;Determines the eigenvalue of the GEVP by solving and projecting the correlator</span>
</span><span id="L-342"><a href="#L-342"><span class="linenos"> 342</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Determines the eigenvalue of the GEVP by solving and projecting the correlator</span>
</span><span id="L-343"><a href="#L-343"><span class="linenos"> 343</span></a>
</span><span id="L-344"><a href="#L-344"><span class="linenos"> 344</span></a><span class="sd"> Parameters</span>
</span><span id="L-345"><a href="#L-345"><span class="linenos"> 345</span></a><span class="sd"> ----------</span>
@ -565,7 +565,7 @@
</span><span id="L-352"><a href="#L-352"><span class="linenos"> 352</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">projected</span><span class="p">(</span><span class="n">vec</span><span class="p">)</span>
</span><span id="L-353"><a href="#L-353"><span class="linenos"> 353</span></a>
</span><span id="L-354"><a href="#L-354"><span class="linenos"> 354</span></a> <span class="k">def</span> <span class="nf">Hankel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">N</span><span class="p">,</span> <span class="n">periodic</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="L-355"><a href="#L-355"><span class="linenos"> 355</span></a> <span class="sd">&quot;&quot;&quot;Constructs an NxN Hankel matrix</span>
</span><span id="L-355"><a href="#L-355"><span class="linenos"> 355</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Constructs an NxN Hankel matrix</span>
</span><span id="L-356"><a href="#L-356"><span class="linenos"> 356</span></a>
</span><span id="L-357"><a href="#L-357"><span class="linenos"> 357</span></a><span class="sd"> C(t) c(t+1) ... c(t+n-1)</span>
</span><span id="L-358"><a href="#L-358"><span class="linenos"> 358</span></a><span class="sd"> C(t+1) c(t+2) ... c(t+n)</span>
@ -606,7 +606,7 @@
</span><span id="L-393"><a href="#L-393"><span class="linenos"> 393</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">new_content</span><span class="p">)</span>
</span><span id="L-394"><a href="#L-394"><span class="linenos"> 394</span></a>
</span><span id="L-395"><a href="#L-395"><span class="linenos"> 395</span></a> <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><span id="L-396"><a href="#L-396"><span class="linenos"> 396</span></a> <span class="sd">&quot;&quot;&quot;Periodically shift the correlator by dt timeslices</span>
</span><span id="L-396"><a href="#L-396"><span class="linenos"> 396</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Periodically shift the correlator by dt timeslices</span>
</span><span id="L-397"><a href="#L-397"><span class="linenos"> 397</span></a>
</span><span id="L-398"><a href="#L-398"><span class="linenos"> 398</span></a><span class="sd"> Parameters</span>
</span><span id="L-399"><a href="#L-399"><span class="linenos"> 399</span></a><span class="sd"> ----------</span>
@ -616,11 +616,11 @@
</span><span id="L-403"><a href="#L-403"><span class="linenos"> 403</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">roll</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">object</span><span class="p">),</span> <span class="n">dt</span><span class="p">)))</span>
</span><span id="L-404"><a href="#L-404"><span class="linenos"> 404</span></a>
</span><span id="L-405"><a href="#L-405"><span class="linenos"> 405</span></a> <span class="k">def</span> <span class="nf">reverse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="L-406"><a href="#L-406"><span class="linenos"> 406</span></a> <span class="sd">&quot;&quot;&quot;Reverse the time ordering of the Corr&quot;&quot;&quot;</span>
</span><span id="L-406"><a href="#L-406"><span class="linenos"> 406</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Reverse the time ordering of the Corr&quot;&quot;&quot;</span>
</span><span id="L-407"><a href="#L-407"><span class="linenos"> 407</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[::</span> <span class="o">-</span><span class="mi">1</span><span class="p">])</span>
</span><span id="L-408"><a href="#L-408"><span class="linenos"> 408</span></a>
</span><span id="L-409"><a href="#L-409"><span class="linenos"> 409</span></a> <span class="k">def</span> <span class="nf">thin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">spacing</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">offset</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
</span><span id="L-410"><a href="#L-410"><span class="linenos"> 410</span></a> <span class="sd">&quot;&quot;&quot;Thin out a correlator to suppress correlations</span>
</span><span id="L-410"><a href="#L-410"><span class="linenos"> 410</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Thin out a correlator to suppress correlations</span>
</span><span id="L-411"><a href="#L-411"><span class="linenos"> 411</span></a>
</span><span id="L-412"><a href="#L-412"><span class="linenos"> 412</span></a><span class="sd"> Parameters</span>
</span><span id="L-413"><a href="#L-413"><span class="linenos"> 413</span></a><span class="sd"> ----------</span>
@ -638,7 +638,7 @@
</span><span id="L-425"><a href="#L-425"><span class="linenos"> 425</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">new_content</span><span class="p">)</span>
</span><span id="L-426"><a href="#L-426"><span class="linenos"> 426</span></a>
</span><span id="L-427"><a href="#L-427"><span class="linenos"> 427</span></a> <span class="k">def</span> <span class="nf">correlate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">partner</span><span class="p">):</span>
</span><span id="L-428"><a href="#L-428"><span class="linenos"> 428</span></a> <span class="sd">&quot;&quot;&quot;Correlate the correlator with another correlator or Obs</span>
</span><span id="L-428"><a href="#L-428"><span class="linenos"> 428</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Correlate the correlator with another correlator or Obs</span>
</span><span id="L-429"><a href="#L-429"><span class="linenos"> 429</span></a>
</span><span id="L-430"><a href="#L-430"><span class="linenos"> 430</span></a><span class="sd"> Parameters</span>
</span><span id="L-431"><a href="#L-431"><span class="linenos"> 431</span></a><span class="sd"> ----------</span>
@ -667,7 +667,7 @@
</span><span id="L-454"><a href="#L-454"><span class="linenos"> 454</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">new_content</span><span class="p">)</span>
</span><span id="L-455"><a href="#L-455"><span class="linenos"> 455</span></a>
</span><span id="L-456"><a href="#L-456"><span class="linenos"> 456</span></a> <span class="k">def</span> <span class="nf">reweight</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">weight</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-457"><a href="#L-457"><span class="linenos"> 457</span></a> <span class="sd">&quot;&quot;&quot;Reweight the correlator.</span>
</span><span id="L-457"><a href="#L-457"><span class="linenos"> 457</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Reweight the correlator.</span>
</span><span id="L-458"><a href="#L-458"><span class="linenos"> 458</span></a>
</span><span id="L-459"><a href="#L-459"><span class="linenos"> 459</span></a><span class="sd"> Parameters</span>
</span><span id="L-460"><a href="#L-460"><span class="linenos"> 460</span></a><span class="sd"> ----------</span>
@ -690,7 +690,7 @@
</span><span id="L-477"><a href="#L-477"><span class="linenos"> 477</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">new_content</span><span class="p">)</span>
</span><span id="L-478"><a href="#L-478"><span class="linenos"> 478</span></a>
</span><span id="L-479"><a href="#L-479"><span class="linenos"> 479</span></a> <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><span id="L-480"><a href="#L-480"><span class="linenos"> 480</span></a> <span class="sd">&quot;&quot;&quot;Return the time symmetry average of the correlator and its partner</span>
</span><span id="L-480"><a href="#L-480"><span class="linenos"> 480</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the time symmetry average of the correlator and its partner</span>
</span><span id="L-481"><a href="#L-481"><span class="linenos"> 481</span></a>
</span><span id="L-482"><a href="#L-482"><span class="linenos"> 482</span></a><span class="sd"> Parameters</span>
</span><span id="L-483"><a href="#L-483"><span class="linenos"> 483</span></a><span class="sd"> ----------</span>
@ -720,7 +720,7 @@
</span><span id="L-507"><a href="#L-507"><span class="linenos"> 507</span></a> <span class="k">return</span> <span class="p">(</span><span class="bp">self</span> <span class="o">+</span> <span class="n">T_partner</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span>
</span><span id="L-508"><a href="#L-508"><span class="linenos"> 508</span></a>
</span><span id="L-509"><a href="#L-509"><span class="linenos"> 509</span></a> <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">variant</span><span class="o">=</span><span class="s2">&quot;symmetric&quot;</span><span class="p">):</span>
</span><span id="L-510"><a href="#L-510"><span class="linenos"> 510</span></a> <span class="sd">&quot;&quot;&quot;Return the first derivative of the correlator with respect to x0.</span>
</span><span id="L-510"><a href="#L-510"><span class="linenos"> 510</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the first derivative of the correlator with respect to x0.</span>
</span><span id="L-511"><a href="#L-511"><span class="linenos"> 511</span></a>
</span><span id="L-512"><a href="#L-512"><span class="linenos"> 512</span></a><span class="sd"> Parameters</span>
</span><span id="L-513"><a href="#L-513"><span class="linenos"> 513</span></a><span class="sd"> ----------</span>
@ -785,7 +785,7 @@
</span><span id="L-572"><a href="#L-572"><span class="linenos"> 572</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unknown variant.&quot;</span><span class="p">)</span>
</span><span id="L-573"><a href="#L-573"><span class="linenos"> 573</span></a>
</span><span id="L-574"><a href="#L-574"><span class="linenos"> 574</span></a> <span class="k">def</span> <span class="nf">second_deriv</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">variant</span><span class="o">=</span><span class="s2">&quot;symmetric&quot;</span><span class="p">):</span>
</span><span id="L-575"><a href="#L-575"><span class="linenos"> 575</span></a> <span class="sd">&quot;&quot;&quot;Return the second derivative of the correlator with respect to x0.</span>
</span><span id="L-575"><a href="#L-575"><span class="linenos"> 575</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the second derivative of the correlator with respect to x0.</span>
</span><span id="L-576"><a href="#L-576"><span class="linenos"> 576</span></a>
</span><span id="L-577"><a href="#L-577"><span class="linenos"> 577</span></a><span class="sd"> Parameters</span>
</span><span id="L-578"><a href="#L-578"><span class="linenos"> 578</span></a><span class="sd"> ----------</span>
@ -830,7 +830,7 @@
</span><span id="L-617"><a href="#L-617"><span class="linenos"> 617</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unknown variant.&quot;</span><span class="p">)</span>
</span><span id="L-618"><a href="#L-618"><span class="linenos"> 618</span></a>
</span><span id="L-619"><a href="#L-619"><span class="linenos"> 619</span></a> <span class="k">def</span> <span class="nf">m_eff</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">variant</span><span class="o">=</span><span class="s1">&#39;log&#39;</span><span class="p">,</span> <span class="n">guess</span><span class="o">=</span><span class="mf">1.0</span><span class="p">):</span>
</span><span id="L-620"><a href="#L-620"><span class="linenos"> 620</span></a> <span class="sd">&quot;&quot;&quot;Returns the effective mass of the correlator as correlator object</span>
</span><span id="L-620"><a href="#L-620"><span class="linenos"> 620</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns the effective mass of the correlator as correlator object</span>
</span><span id="L-621"><a href="#L-621"><span class="linenos"> 621</span></a>
</span><span id="L-622"><a href="#L-622"><span class="linenos"> 622</span></a><span class="sd"> Parameters</span>
</span><span id="L-623"><a href="#L-623"><span class="linenos"> 623</span></a><span class="sd"> ----------</span>
@ -914,7 +914,7 @@
</span><span id="L-701"><a href="#L-701"><span class="linenos"> 701</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Unknown variant.&#39;</span><span class="p">)</span>
</span><span id="L-702"><a href="#L-702"><span class="linenos"> 702</span></a>
</span><span id="L-703"><a href="#L-703"><span class="linenos"> 703</span></a> <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><span id="L-704"><a href="#L-704"><span class="linenos"> 704</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Fits function to the data</span>
</span><span id="L-704"><a href="#L-704"><span class="linenos"> 704</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Fits function to the data</span>
</span><span id="L-705"><a href="#L-705"><span class="linenos"> 705</span></a>
</span><span id="L-706"><a href="#L-706"><span class="linenos"> 706</span></a><span class="sd"> Parameters</span>
</span><span id="L-707"><a href="#L-707"><span class="linenos"> 707</span></a><span class="sd"> ----------</span>
@ -948,7 +948,7 @@
</span><span id="L-735"><a href="#L-735"><span class="linenos"> 735</span></a> <span class="k">return</span> <span class="n">result</span>
</span><span id="L-736"><a href="#L-736"><span class="linenos"> 736</span></a>
</span><span id="L-737"><a href="#L-737"><span class="linenos"> 737</span></a> <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">&quot;fit&quot;</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="L-738"><a href="#L-738"><span class="linenos"> 738</span></a> <span class="sd">&quot;&quot;&quot; Extract a plateau value from a Corr object</span>
</span><span id="L-738"><a href="#L-738"><span class="linenos"> 738</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Extract a plateau value from a Corr object</span>
</span><span id="L-739"><a href="#L-739"><span class="linenos"> 739</span></a>
</span><span id="L-740"><a href="#L-740"><span class="linenos"> 740</span></a><span class="sd"> Parameters</span>
</span><span id="L-741"><a href="#L-741"><span class="linenos"> 741</span></a><span class="sd"> ----------</span>
@ -985,7 +985,7 @@
</span><span id="L-772"><a href="#L-772"><span class="linenos"> 772</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unsupported plateau method: &quot;</span> <span class="o">+</span> <span class="n">method</span><span class="p">)</span>
</span><span id="L-773"><a href="#L-773"><span class="linenos"> 773</span></a>
</span><span id="L-774"><a href="#L-774"><span class="linenos"> 774</span></a> <span class="k">def</span> <span class="nf">set_prange</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prange</span><span class="p">):</span>
</span><span id="L-775"><a href="#L-775"><span class="linenos"> 775</span></a> <span class="sd">&quot;&quot;&quot;Sets the attribute prange of the Corr object.&quot;&quot;&quot;</span>
</span><span id="L-775"><a href="#L-775"><span class="linenos"> 775</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Sets the attribute prange of the Corr object.&quot;&quot;&quot;</span>
</span><span id="L-776"><a href="#L-776"><span class="linenos"> 776</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">prange</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
</span><span id="L-777"><a href="#L-777"><span class="linenos"> 777</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;prange must be a list or array with two values&quot;</span><span class="p">)</span>
</span><span id="L-778"><a href="#L-778"><span class="linenos"> 778</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">((</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">prange</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="nb">int</span><span class="p">))</span> <span class="ow">and</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">prange</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="nb">int</span><span class="p">))):</span>
@ -997,7 +997,7 @@
</span><span id="L-784"><a href="#L-784"><span class="linenos"> 784</span></a> <span class="k">return</span>
</span><span id="L-785"><a href="#L-785"><span class="linenos"> 785</span></a>
</span><span id="L-786"><a href="#L-786"><span class="linenos"> 786</span></a> <span class="k">def</span> <span class="nf">show</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">x_range</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">comp</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">y_range</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">logscale</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">plateau</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">fit_res</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">ylabel</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">save</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">hide_sigma</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">references</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-787"><a href="#L-787"><span class="linenos"> 787</span></a> <span class="sd">&quot;&quot;&quot;Plots the correlator using the tag of the correlator as label if available.</span>
</span><span id="L-787"><a href="#L-787"><span class="linenos"> 787</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plots the correlator using the tag of the correlator as label if available.</span>
</span><span id="L-788"><a href="#L-788"><span class="linenos"> 788</span></a>
</span><span id="L-789"><a href="#L-789"><span class="linenos"> 789</span></a><span class="sd"> Parameters</span>
</span><span id="L-790"><a href="#L-790"><span class="linenos"> 790</span></a><span class="sd"> ----------</span>
@ -1116,7 +1116,7 @@
</span><span id="L-903"><a href="#L-903"><span class="linenos"> 903</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;&#39;save&#39; has to be a string.&quot;</span><span class="p">)</span>
</span><span id="L-904"><a href="#L-904"><span class="linenos"> 904</span></a>
</span><span id="L-905"><a href="#L-905"><span class="linenos"> 905</span></a> <span class="k">def</span> <span class="nf">spaghetti_plot</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">logscale</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="L-906"><a href="#L-906"><span class="linenos"> 906</span></a> <span class="sd">&quot;&quot;&quot;Produces a spaghetti plot of the correlator suited to monitor exceptional configurations.</span>
</span><span id="L-906"><a href="#L-906"><span class="linenos"> 906</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Produces a spaghetti plot of the correlator suited to monitor exceptional configurations.</span>
</span><span id="L-907"><a href="#L-907"><span class="linenos"> 907</span></a>
</span><span id="L-908"><a href="#L-908"><span class="linenos"> 908</span></a><span class="sd"> Parameters</span>
</span><span id="L-909"><a href="#L-909"><span class="linenos"> 909</span></a><span class="sd"> ----------</span>
@ -1145,7 +1145,7 @@
</span><span id="L-932"><a href="#L-932"><span class="linenos"> 932</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
</span><span id="L-933"><a href="#L-933"><span class="linenos"> 933</span></a>
</span><span id="L-934"><a href="#L-934"><span class="linenos"> 934</span></a> <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="n">datatype</span><span class="o">=</span><span class="s2">&quot;json.gz&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-935"><a href="#L-935"><span class="linenos"> 935</span></a> <span class="sd">&quot;&quot;&quot;Dumps the Corr into a file of chosen type</span>
</span><span id="L-935"><a href="#L-935"><span class="linenos"> 935</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Dumps the Corr into a file of chosen type</span>
</span><span id="L-936"><a href="#L-936"><span class="linenos"> 936</span></a><span class="sd"> Parameters</span>
</span><span id="L-937"><a href="#L-937"><span class="linenos"> 937</span></a><span class="sd"> ----------</span>
</span><span id="L-938"><a href="#L-938"><span class="linenos"> 938</span></a><span class="sd"> filename : str</span>
@ -1429,7 +1429,7 @@
</span><span id="L-1216"><a href="#L-1216"><span class="linenos">1216</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_apply_func_to_corr</span><span class="p">(</span><span class="n">return_imag</span><span class="p">)</span>
</span><span id="L-1217"><a href="#L-1217"><span class="linenos">1217</span></a>
</span><span id="L-1218"><a href="#L-1218"><span class="linenos">1218</span></a> <span class="k">def</span> <span class="nf">prune</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">Ntrunc</span><span class="p">,</span> <span class="n">tproj</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">t0proj</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">basematrix</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-1219"><a href="#L-1219"><span class="linenos">1219</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39; Project large correlation matrix to lowest states</span>
</span><span id="L-1219"><a href="#L-1219"><span class="linenos">1219</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39; Project large correlation matrix to lowest states</span>
</span><span id="L-1220"><a href="#L-1220"><span class="linenos">1220</span></a>
</span><span id="L-1221"><a href="#L-1221"><span class="linenos">1221</span></a><span class="sd"> This method can be used to reduce the size of an (N x N) correlation matrix</span>
</span><span id="L-1222"><a href="#L-1222"><span class="linenos">1222</span></a><span class="sd"> to (Ntrunc x Ntrunc) by solving a GEVP at very early times where the noise</span>
@ -1487,7 +1487,7 @@
</span><span id="L-1274"><a href="#L-1274"><span class="linenos">1274</span></a>
</span><span id="L-1275"><a href="#L-1275"><span class="linenos">1275</span></a>
</span><span id="L-1276"><a href="#L-1276"><span class="linenos">1276</span></a><span class="k">def</span> <span class="nf">_sort_vectors</span><span class="p">(</span><span class="n">vec_set</span><span class="p">,</span> <span class="n">ts</span><span class="p">):</span>
</span><span id="L-1277"><a href="#L-1277"><span class="linenos">1277</span></a> <span class="sd">&quot;&quot;&quot;Helper function used to find a set of Eigenvectors consistent over all timeslices&quot;&quot;&quot;</span>
</span><span id="L-1277"><a href="#L-1277"><span class="linenos">1277</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Helper function used to find a set of Eigenvectors consistent over all timeslices&quot;&quot;&quot;</span>
</span><span id="L-1278"><a href="#L-1278"><span class="linenos">1278</span></a> <span class="n">reference_sorting</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">vec_set</span><span class="p">[</span><span class="n">ts</span><span class="p">])</span>
</span><span id="L-1279"><a href="#L-1279"><span class="linenos">1279</span></a> <span class="n">N</span> <span class="o">=</span> <span class="n">reference_sorting</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1280"><a href="#L-1280"><span class="linenos">1280</span></a> <span class="n">sorted_vec_set</span> <span class="o">=</span> <span class="p">[]</span>
@ -1514,12 +1514,12 @@
</span><span id="L-1301"><a href="#L-1301"><span class="linenos">1301</span></a>
</span><span id="L-1302"><a href="#L-1302"><span class="linenos">1302</span></a>
</span><span id="L-1303"><a href="#L-1303"><span class="linenos">1303</span></a><span class="k">def</span> <span class="nf">_check_for_none</span><span class="p">(</span><span class="n">corr</span><span class="p">,</span> <span class="n">entry</span><span class="p">):</span>
</span><span id="L-1304"><a href="#L-1304"><span class="linenos">1304</span></a> <span class="sd">&quot;&quot;&quot;Checks if entry for correlator corr is None&quot;&quot;&quot;</span>
</span><span id="L-1304"><a href="#L-1304"><span class="linenos">1304</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks if entry for correlator corr is None&quot;&quot;&quot;</span>
</span><span id="L-1305"><a href="#L-1305"><span class="linenos">1305</span></a> <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="nb">filter</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">entry</span><span class="p">)</span><span class="o">.</span><span class="n">flatten</span><span class="p">())))</span> <span class="o">&lt;</span> <span class="n">corr</span><span class="o">.</span><span class="n">N</span> <span class="o">**</span> <span class="mi">2</span>
</span><span id="L-1306"><a href="#L-1306"><span class="linenos">1306</span></a>
</span><span id="L-1307"><a href="#L-1307"><span class="linenos">1307</span></a>
</span><span id="L-1308"><a href="#L-1308"><span class="linenos">1308</span></a><span class="k">def</span> <span class="nf">_GEVP_solver</span><span class="p">(</span><span class="n">Gt</span><span class="p">,</span> <span class="n">G0</span><span class="p">):</span>
</span><span id="L-1309"><a href="#L-1309"><span class="linenos">1309</span></a> <span class="sd">&quot;&quot;&quot;Helper function for solving the GEVP and sorting the eigenvectors.</span>
</span><span id="L-1309"><a href="#L-1309"><span class="linenos">1309</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Helper function for solving the GEVP and sorting the eigenvectors.</span>
</span><span id="L-1310"><a href="#L-1310"><span class="linenos">1310</span></a>
</span><span id="L-1311"><a href="#L-1311"><span class="linenos">1311</span></a><span class="sd"> The helper function assumes that both provided matrices are symmetric and</span>
</span><span id="L-1312"><a href="#L-1312"><span class="linenos">1312</span></a><span class="sd"> only processes the lower triangular part of both matrices. In case the matrices</span>
@ -1541,7 +1541,7 @@
</div>
<a class="headerlink" href="#Corr"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr-14"><a href="#Corr-14"><span class="linenos"> 14</span></a><span class="k">class</span> <span class="nc">Corr</span><span class="p">:</span>
</span><span id="Corr-15"><a href="#Corr-15"><span class="linenos"> 15</span></a> <span class="sd">&quot;&quot;&quot;The class for a correlator (time dependent sequence of pe.Obs).</span>
</span><span id="Corr-15"><a href="#Corr-15"><span class="linenos"> 15</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;The class for a correlator (time dependent sequence of pe.Obs).</span>
</span><span id="Corr-16"><a href="#Corr-16"><span class="linenos"> 16</span></a>
</span><span id="Corr-17"><a href="#Corr-17"><span class="linenos"> 17</span></a><span class="sd"> Everything, this class does, can be achieved using lists or arrays of Obs.</span>
</span><span id="Corr-18"><a href="#Corr-18"><span class="linenos"> 18</span></a><span class="sd"> But it is simply more convenient to have a dedicated object for correlators.</span>
@ -1554,7 +1554,7 @@
</span><span id="Corr-25"><a href="#Corr-25"><span class="linenos"> 25</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="Corr-26"><a href="#Corr-26"><span class="linenos"> 26</span></a>
</span><span id="Corr-27"><a href="#Corr-27"><span class="linenos"> 27</span></a> <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">data_input</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">prange</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="Corr-28"><a href="#Corr-28"><span class="linenos"> 28</span></a> <span class="sd">&quot;&quot;&quot; Initialize a Corr object.</span>
</span><span id="Corr-28"><a href="#Corr-28"><span class="linenos"> 28</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Initialize a Corr object.</span>
</span><span id="Corr-29"><a href="#Corr-29"><span class="linenos"> 29</span></a>
</span><span id="Corr-30"><a href="#Corr-30"><span class="linenos"> 30</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-31"><a href="#Corr-31"><span class="linenos"> 31</span></a><span class="sd"> ----------</span>
@ -1625,7 +1625,7 @@
</span><span id="Corr-96"><a href="#Corr-96"><span class="linenos"> 96</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">prange</span> <span class="o">=</span> <span class="n">prange</span>
</span><span id="Corr-97"><a href="#Corr-97"><span class="linenos"> 97</span></a>
</span><span id="Corr-98"><a href="#Corr-98"><span class="linenos"> 98</span></a> <span class="k">def</span> <span class="fm">__getitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">idx</span><span class="p">):</span>
</span><span id="Corr-99"><a href="#Corr-99"><span class="linenos"> 99</span></a> <span class="sd">&quot;&quot;&quot;Return the content of timeslice idx&quot;&quot;&quot;</span>
</span><span id="Corr-99"><a href="#Corr-99"><span class="linenos"> 99</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the content of timeslice idx&quot;&quot;&quot;</span>
</span><span id="Corr-100"><a href="#Corr-100"><span class="linenos"> 100</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">idx</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
</span><span id="Corr-101"><a href="#Corr-101"><span class="linenos"> 101</span></a> <span class="k">return</span> <span class="kc">None</span>
</span><span id="Corr-102"><a href="#Corr-102"><span class="linenos"> 102</span></a> <span class="k">elif</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">content</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>
@ -1644,7 +1644,7 @@
</span><span id="Corr-115"><a href="#Corr-115"><span class="linenos"> 115</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Reweighting status of correlator corrupted.&quot;</span><span class="p">)</span>
</span><span id="Corr-116"><a href="#Corr-116"><span class="linenos"> 116</span></a>
</span><span id="Corr-117"><a href="#Corr-117"><span class="linenos"> 117</span></a> <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><span id="Corr-118"><a href="#Corr-118"><span class="linenos"> 118</span></a> <span class="sd">&quot;&quot;&quot;Apply the gamma method to the content of the Corr.&quot;&quot;&quot;</span>
</span><span id="Corr-118"><a href="#Corr-118"><span class="linenos"> 118</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Apply the gamma method to the content of the Corr.&quot;&quot;&quot;</span>
</span><span id="Corr-119"><a href="#Corr-119"><span class="linenos"> 119</span></a> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">:</span>
</span><span id="Corr-120"><a href="#Corr-120"><span class="linenos"> 120</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">item</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">):</span>
</span><span id="Corr-121"><a href="#Corr-121"><span class="linenos"> 121</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
@ -1655,7 +1655,7 @@
</span><span id="Corr-126"><a href="#Corr-126"><span class="linenos"> 126</span></a> <span class="n">item</span><span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">]</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
</span><span id="Corr-127"><a href="#Corr-127"><span class="linenos"> 127</span></a>
</span><span id="Corr-128"><a href="#Corr-128"><span class="linenos"> 128</span></a> <span class="k">def</span> <span class="nf">projected</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">vector_l</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">vector_r</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">normalize</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="Corr-129"><a href="#Corr-129"><span class="linenos"> 129</span></a> <span class="sd">&quot;&quot;&quot;We need to project the Correlator with a Vector to get a single value at each timeslice.</span>
</span><span id="Corr-129"><a href="#Corr-129"><span class="linenos"> 129</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;We need to project the Correlator with a Vector to get a single value at each timeslice.</span>
</span><span id="Corr-130"><a href="#Corr-130"><span class="linenos"> 130</span></a>
</span><span id="Corr-131"><a href="#Corr-131"><span class="linenos"> 131</span></a><span class="sd"> The method can use one or two vectors.</span>
</span><span id="Corr-132"><a href="#Corr-132"><span class="linenos"> 132</span></a><span class="sd"> If two are specified it returns v1@G@v2 (the order might be very important.)</span>
@ -1694,7 +1694,7 @@
</span><span id="Corr-165"><a href="#Corr-165"><span class="linenos"> 165</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">)</span>
</span><span id="Corr-166"><a href="#Corr-166"><span class="linenos"> 166</span></a>
</span><span id="Corr-167"><a href="#Corr-167"><span class="linenos"> 167</span></a> <span class="k">def</span> <span class="nf">item</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">):</span>
</span><span id="Corr-168"><a href="#Corr-168"><span class="linenos"> 168</span></a> <span class="sd">&quot;&quot;&quot;Picks the element [i,j] from every matrix and returns a correlator containing one Obs per timeslice.</span>
</span><span id="Corr-168"><a href="#Corr-168"><span class="linenos"> 168</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Picks the element [i,j] from every matrix and returns a correlator containing one Obs per timeslice.</span>
</span><span id="Corr-169"><a href="#Corr-169"><span class="linenos"> 169</span></a>
</span><span id="Corr-170"><a href="#Corr-170"><span class="linenos"> 170</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-171"><a href="#Corr-171"><span class="linenos"> 171</span></a><span class="sd"> ----------</span>
@ -1709,7 +1709,7 @@
</span><span id="Corr-180"><a href="#Corr-180"><span class="linenos"> 180</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">)</span>
</span><span id="Corr-181"><a href="#Corr-181"><span class="linenos"> 181</span></a>
</span><span id="Corr-182"><a href="#Corr-182"><span class="linenos"> 182</span></a> <span class="k">def</span> <span class="nf">plottable</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Corr-183"><a href="#Corr-183"><span class="linenos"> 183</span></a> <span class="sd">&quot;&quot;&quot;Outputs the correlator in a plotable format.</span>
</span><span id="Corr-183"><a href="#Corr-183"><span class="linenos"> 183</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Outputs the correlator in a plotable format.</span>
</span><span id="Corr-184"><a href="#Corr-184"><span class="linenos"> 184</span></a>
</span><span id="Corr-185"><a href="#Corr-185"><span class="linenos"> 185</span></a><span class="sd"> Outputs three lists containing the timeslice index, the value on each</span>
</span><span id="Corr-186"><a href="#Corr-186"><span class="linenos"> 186</span></a><span class="sd"> timeslice and the error on each timeslice.</span>
@ -1723,7 +1723,7 @@
</span><span id="Corr-194"><a href="#Corr-194"><span class="linenos"> 194</span></a> <span class="k">return</span> <span class="n">x_list</span><span class="p">,</span> <span class="n">y_list</span><span class="p">,</span> <span class="n">y_err_list</span>
</span><span id="Corr-195"><a href="#Corr-195"><span class="linenos"> 195</span></a>
</span><span id="Corr-196"><a href="#Corr-196"><span class="linenos"> 196</span></a> <span class="k">def</span> <span class="nf">symmetric</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Corr-197"><a href="#Corr-197"><span class="linenos"> 197</span></a> <span class="sd">&quot;&quot;&quot; Symmetrize the correlator around x0=0.&quot;&quot;&quot;</span>
</span><span id="Corr-197"><a href="#Corr-197"><span class="linenos"> 197</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Symmetrize the correlator around x0=0.&quot;&quot;&quot;</span>
</span><span id="Corr-198"><a href="#Corr-198"><span class="linenos"> 198</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="Corr-199"><a href="#Corr-199"><span class="linenos"> 199</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;symmetric cannot be safely applied to multi-dimensional correlators.&#39;</span><span class="p">)</span>
</span><span id="Corr-200"><a href="#Corr-200"><span class="linenos"> 200</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
@ -1743,7 +1743,7 @@
</span><span id="Corr-214"><a href="#Corr-214"><span class="linenos"> 214</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">,</span> <span class="n">prange</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">prange</span><span class="p">)</span>
</span><span id="Corr-215"><a href="#Corr-215"><span class="linenos"> 215</span></a>
</span><span id="Corr-216"><a href="#Corr-216"><span class="linenos"> 216</span></a> <span class="k">def</span> <span class="nf">anti_symmetric</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Corr-217"><a href="#Corr-217"><span class="linenos"> 217</span></a> <span class="sd">&quot;&quot;&quot;Anti-symmetrize the correlator around x0=0.&quot;&quot;&quot;</span>
</span><span id="Corr-217"><a href="#Corr-217"><span class="linenos"> 217</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Anti-symmetrize the correlator around x0=0.&quot;&quot;&quot;</span>
</span><span id="Corr-218"><a href="#Corr-218"><span class="linenos"> 218</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="Corr-219"><a href="#Corr-219"><span class="linenos"> 219</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;anti_symmetric cannot be safely applied to multi-dimensional correlators.&#39;</span><span class="p">)</span>
</span><span id="Corr-220"><a href="#Corr-220"><span class="linenos"> 220</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
@ -1765,7 +1765,7 @@
</span><span id="Corr-236"><a href="#Corr-236"><span class="linenos"> 236</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">,</span> <span class="n">prange</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">prange</span><span class="p">)</span>
</span><span id="Corr-237"><a href="#Corr-237"><span class="linenos"> 237</span></a>
</span><span id="Corr-238"><a href="#Corr-238"><span class="linenos"> 238</span></a> <span class="k">def</span> <span class="nf">is_matrix_symmetric</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Corr-239"><a href="#Corr-239"><span class="linenos"> 239</span></a> <span class="sd">&quot;&quot;&quot;Checks whether a correlator matrices is symmetric on every timeslice.&quot;&quot;&quot;</span>
</span><span id="Corr-239"><a href="#Corr-239"><span class="linenos"> 239</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks whether a correlator matrices is symmetric on every timeslice.&quot;&quot;&quot;</span>
</span><span id="Corr-240"><a href="#Corr-240"><span class="linenos"> 240</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="Corr-241"><a href="#Corr-241"><span class="linenos"> 241</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Only works for correlator matrices.&quot;</span><span class="p">)</span>
</span><span id="Corr-242"><a href="#Corr-242"><span class="linenos"> 242</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">T</span><span class="p">):</span>
@ -1780,7 +1780,7 @@
</span><span id="Corr-251"><a href="#Corr-251"><span class="linenos"> 251</span></a> <span class="k">return</span> <span class="kc">True</span>
</span><span id="Corr-252"><a href="#Corr-252"><span class="linenos"> 252</span></a>
</span><span id="Corr-253"><a href="#Corr-253"><span class="linenos"> 253</span></a> <span class="k">def</span> <span class="nf">matrix_symmetric</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Corr-254"><a href="#Corr-254"><span class="linenos"> 254</span></a> <span class="sd">&quot;&quot;&quot;Symmetrizes the correlator matrices on every timeslice.&quot;&quot;&quot;</span>
</span><span id="Corr-254"><a href="#Corr-254"><span class="linenos"> 254</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Symmetrizes the correlator matrices on every timeslice.&quot;&quot;&quot;</span>
</span><span id="Corr-255"><a href="#Corr-255"><span class="linenos"> 255</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="Corr-256"><a href="#Corr-256"><span class="linenos"> 256</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Trying to symmetrize a correlator matrix, that already has N=1.&quot;</span><span class="p">)</span>
</span><span id="Corr-257"><a href="#Corr-257"><span class="linenos"> 257</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_matrix_symmetric</span><span class="p">():</span>
@ -1790,7 +1790,7 @@
</span><span id="Corr-261"><a href="#Corr-261"><span class="linenos"> 261</span></a> <span class="k">return</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">Corr</span><span class="p">(</span><span class="n">transposed</span><span class="p">)</span> <span class="o">+</span> <span class="bp">self</span><span class="p">)</span>
</span><span id="Corr-262"><a href="#Corr-262"><span class="linenos"> 262</span></a>
</span><span id="Corr-263"><a href="#Corr-263"><span class="linenos"> 263</span></a> <span class="k">def</span> <span class="nf">GEVP</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">t0</span><span class="p">,</span> <span class="n">ts</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sort</span><span class="o">=</span><span class="s2">&quot;Eigenvalue&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="Corr-264"><a href="#Corr-264"><span class="linenos"> 264</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Solve the generalized eigenvalue problem on the correlator matrix and returns the corresponding eigenvectors.</span>
</span><span id="Corr-264"><a href="#Corr-264"><span class="linenos"> 264</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Solve the generalized eigenvalue problem on the correlator matrix and returns the corresponding eigenvectors.</span>
</span><span id="Corr-265"><a href="#Corr-265"><span class="linenos"> 265</span></a>
</span><span id="Corr-266"><a href="#Corr-266"><span class="linenos"> 266</span></a><span class="sd"> The eigenvectors are sorted according to the descending eigenvalues, the zeroth eigenvector(s) correspond to the</span>
</span><span id="Corr-267"><a href="#Corr-267"><span class="linenos"> 267</span></a><span class="sd"> largest eigenvalue(s). The eigenvector(s) for the individual states can be accessed via slicing</span>
@ -1869,7 +1869,7 @@
</span><span id="Corr-340"><a href="#Corr-340"><span class="linenos"> 340</span></a> <span class="k">return</span> <span class="n">reordered_vecs</span>
</span><span id="Corr-341"><a href="#Corr-341"><span class="linenos"> 341</span></a>
</span><span id="Corr-342"><a href="#Corr-342"><span class="linenos"> 342</span></a> <span class="k">def</span> <span class="nf">Eigenvalue</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">t0</span><span class="p">,</span> <span class="n">ts</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">sort</span><span class="o">=</span><span class="s2">&quot;Eigenvalue&quot;</span><span class="p">):</span>
</span><span id="Corr-343"><a href="#Corr-343"><span class="linenos"> 343</span></a> <span class="sd">&quot;&quot;&quot;Determines the eigenvalue of the GEVP by solving and projecting the correlator</span>
</span><span id="Corr-343"><a href="#Corr-343"><span class="linenos"> 343</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Determines the eigenvalue of the GEVP by solving and projecting the correlator</span>
</span><span id="Corr-344"><a href="#Corr-344"><span class="linenos"> 344</span></a>
</span><span id="Corr-345"><a href="#Corr-345"><span class="linenos"> 345</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-346"><a href="#Corr-346"><span class="linenos"> 346</span></a><span class="sd"> ----------</span>
@ -1882,7 +1882,7 @@
</span><span id="Corr-353"><a href="#Corr-353"><span class="linenos"> 353</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">projected</span><span class="p">(</span><span class="n">vec</span><span class="p">)</span>
</span><span id="Corr-354"><a href="#Corr-354"><span class="linenos"> 354</span></a>
</span><span id="Corr-355"><a href="#Corr-355"><span class="linenos"> 355</span></a> <span class="k">def</span> <span class="nf">Hankel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">N</span><span class="p">,</span> <span class="n">periodic</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="Corr-356"><a href="#Corr-356"><span class="linenos"> 356</span></a> <span class="sd">&quot;&quot;&quot;Constructs an NxN Hankel matrix</span>
</span><span id="Corr-356"><a href="#Corr-356"><span class="linenos"> 356</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Constructs an NxN Hankel matrix</span>
</span><span id="Corr-357"><a href="#Corr-357"><span class="linenos"> 357</span></a>
</span><span id="Corr-358"><a href="#Corr-358"><span class="linenos"> 358</span></a><span class="sd"> C(t) c(t+1) ... c(t+n-1)</span>
</span><span id="Corr-359"><a href="#Corr-359"><span class="linenos"> 359</span></a><span class="sd"> C(t+1) c(t+2) ... c(t+n)</span>
@ -1923,7 +1923,7 @@
</span><span id="Corr-394"><a href="#Corr-394"><span class="linenos"> 394</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">new_content</span><span class="p">)</span>
</span><span id="Corr-395"><a href="#Corr-395"><span class="linenos"> 395</span></a>
</span><span id="Corr-396"><a href="#Corr-396"><span class="linenos"> 396</span></a> <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><span id="Corr-397"><a href="#Corr-397"><span class="linenos"> 397</span></a> <span class="sd">&quot;&quot;&quot;Periodically shift the correlator by dt timeslices</span>
</span><span id="Corr-397"><a href="#Corr-397"><span class="linenos"> 397</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Periodically shift the correlator by dt timeslices</span>
</span><span id="Corr-398"><a href="#Corr-398"><span class="linenos"> 398</span></a>
</span><span id="Corr-399"><a href="#Corr-399"><span class="linenos"> 399</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-400"><a href="#Corr-400"><span class="linenos"> 400</span></a><span class="sd"> ----------</span>
@ -1933,11 +1933,11 @@
</span><span id="Corr-404"><a href="#Corr-404"><span class="linenos"> 404</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">roll</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">object</span><span class="p">),</span> <span class="n">dt</span><span class="p">)))</span>
</span><span id="Corr-405"><a href="#Corr-405"><span class="linenos"> 405</span></a>
</span><span id="Corr-406"><a href="#Corr-406"><span class="linenos"> 406</span></a> <span class="k">def</span> <span class="nf">reverse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Corr-407"><a href="#Corr-407"><span class="linenos"> 407</span></a> <span class="sd">&quot;&quot;&quot;Reverse the time ordering of the Corr&quot;&quot;&quot;</span>
</span><span id="Corr-407"><a href="#Corr-407"><span class="linenos"> 407</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Reverse the time ordering of the Corr&quot;&quot;&quot;</span>
</span><span id="Corr-408"><a href="#Corr-408"><span class="linenos"> 408</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[::</span> <span class="o">-</span><span class="mi">1</span><span class="p">])</span>
</span><span id="Corr-409"><a href="#Corr-409"><span class="linenos"> 409</span></a>
</span><span id="Corr-410"><a href="#Corr-410"><span class="linenos"> 410</span></a> <span class="k">def</span> <span class="nf">thin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">spacing</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">offset</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
</span><span id="Corr-411"><a href="#Corr-411"><span class="linenos"> 411</span></a> <span class="sd">&quot;&quot;&quot;Thin out a correlator to suppress correlations</span>
</span><span id="Corr-411"><a href="#Corr-411"><span class="linenos"> 411</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Thin out a correlator to suppress correlations</span>
</span><span id="Corr-412"><a href="#Corr-412"><span class="linenos"> 412</span></a>
</span><span id="Corr-413"><a href="#Corr-413"><span class="linenos"> 413</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-414"><a href="#Corr-414"><span class="linenos"> 414</span></a><span class="sd"> ----------</span>
@ -1955,7 +1955,7 @@
</span><span id="Corr-426"><a href="#Corr-426"><span class="linenos"> 426</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">new_content</span><span class="p">)</span>
</span><span id="Corr-427"><a href="#Corr-427"><span class="linenos"> 427</span></a>
</span><span id="Corr-428"><a href="#Corr-428"><span class="linenos"> 428</span></a> <span class="k">def</span> <span class="nf">correlate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">partner</span><span class="p">):</span>
</span><span id="Corr-429"><a href="#Corr-429"><span class="linenos"> 429</span></a> <span class="sd">&quot;&quot;&quot;Correlate the correlator with another correlator or Obs</span>
</span><span id="Corr-429"><a href="#Corr-429"><span class="linenos"> 429</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Correlate the correlator with another correlator or Obs</span>
</span><span id="Corr-430"><a href="#Corr-430"><span class="linenos"> 430</span></a>
</span><span id="Corr-431"><a href="#Corr-431"><span class="linenos"> 431</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-432"><a href="#Corr-432"><span class="linenos"> 432</span></a><span class="sd"> ----------</span>
@ -1984,7 +1984,7 @@
</span><span id="Corr-455"><a href="#Corr-455"><span class="linenos"> 455</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">new_content</span><span class="p">)</span>
</span><span id="Corr-456"><a href="#Corr-456"><span class="linenos"> 456</span></a>
</span><span id="Corr-457"><a href="#Corr-457"><span class="linenos"> 457</span></a> <span class="k">def</span> <span class="nf">reweight</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">weight</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="Corr-458"><a href="#Corr-458"><span class="linenos"> 458</span></a> <span class="sd">&quot;&quot;&quot;Reweight the correlator.</span>
</span><span id="Corr-458"><a href="#Corr-458"><span class="linenos"> 458</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Reweight the correlator.</span>
</span><span id="Corr-459"><a href="#Corr-459"><span class="linenos"> 459</span></a>
</span><span id="Corr-460"><a href="#Corr-460"><span class="linenos"> 460</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-461"><a href="#Corr-461"><span class="linenos"> 461</span></a><span class="sd"> ----------</span>
@ -2007,7 +2007,7 @@
</span><span id="Corr-478"><a href="#Corr-478"><span class="linenos"> 478</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">new_content</span><span class="p">)</span>
</span><span id="Corr-479"><a href="#Corr-479"><span class="linenos"> 479</span></a>
</span><span id="Corr-480"><a href="#Corr-480"><span class="linenos"> 480</span></a> <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><span id="Corr-481"><a href="#Corr-481"><span class="linenos"> 481</span></a> <span class="sd">&quot;&quot;&quot;Return the time symmetry average of the correlator and its partner</span>
</span><span id="Corr-481"><a href="#Corr-481"><span class="linenos"> 481</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the time symmetry average of the correlator and its partner</span>
</span><span id="Corr-482"><a href="#Corr-482"><span class="linenos"> 482</span></a>
</span><span id="Corr-483"><a href="#Corr-483"><span class="linenos"> 483</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-484"><a href="#Corr-484"><span class="linenos"> 484</span></a><span class="sd"> ----------</span>
@ -2037,7 +2037,7 @@
</span><span id="Corr-508"><a href="#Corr-508"><span class="linenos"> 508</span></a> <span class="k">return</span> <span class="p">(</span><span class="bp">self</span> <span class="o">+</span> <span class="n">T_partner</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span>
</span><span id="Corr-509"><a href="#Corr-509"><span class="linenos"> 509</span></a>
</span><span id="Corr-510"><a href="#Corr-510"><span class="linenos"> 510</span></a> <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">variant</span><span class="o">=</span><span class="s2">&quot;symmetric&quot;</span><span class="p">):</span>
</span><span id="Corr-511"><a href="#Corr-511"><span class="linenos"> 511</span></a> <span class="sd">&quot;&quot;&quot;Return the first derivative of the correlator with respect to x0.</span>
</span><span id="Corr-511"><a href="#Corr-511"><span class="linenos"> 511</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the first derivative of the correlator with respect to x0.</span>
</span><span id="Corr-512"><a href="#Corr-512"><span class="linenos"> 512</span></a>
</span><span id="Corr-513"><a href="#Corr-513"><span class="linenos"> 513</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-514"><a href="#Corr-514"><span class="linenos"> 514</span></a><span class="sd"> ----------</span>
@ -2102,7 +2102,7 @@
</span><span id="Corr-573"><a href="#Corr-573"><span class="linenos"> 573</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unknown variant.&quot;</span><span class="p">)</span>
</span><span id="Corr-574"><a href="#Corr-574"><span class="linenos"> 574</span></a>
</span><span id="Corr-575"><a href="#Corr-575"><span class="linenos"> 575</span></a> <span class="k">def</span> <span class="nf">second_deriv</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">variant</span><span class="o">=</span><span class="s2">&quot;symmetric&quot;</span><span class="p">):</span>
</span><span id="Corr-576"><a href="#Corr-576"><span class="linenos"> 576</span></a> <span class="sd">&quot;&quot;&quot;Return the second derivative of the correlator with respect to x0.</span>
</span><span id="Corr-576"><a href="#Corr-576"><span class="linenos"> 576</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the second derivative of the correlator with respect to x0.</span>
</span><span id="Corr-577"><a href="#Corr-577"><span class="linenos"> 577</span></a>
</span><span id="Corr-578"><a href="#Corr-578"><span class="linenos"> 578</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-579"><a href="#Corr-579"><span class="linenos"> 579</span></a><span class="sd"> ----------</span>
@ -2147,7 +2147,7 @@
</span><span id="Corr-618"><a href="#Corr-618"><span class="linenos"> 618</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unknown variant.&quot;</span><span class="p">)</span>
</span><span id="Corr-619"><a href="#Corr-619"><span class="linenos"> 619</span></a>
</span><span id="Corr-620"><a href="#Corr-620"><span class="linenos"> 620</span></a> <span class="k">def</span> <span class="nf">m_eff</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">variant</span><span class="o">=</span><span class="s1">&#39;log&#39;</span><span class="p">,</span> <span class="n">guess</span><span class="o">=</span><span class="mf">1.0</span><span class="p">):</span>
</span><span id="Corr-621"><a href="#Corr-621"><span class="linenos"> 621</span></a> <span class="sd">&quot;&quot;&quot;Returns the effective mass of the correlator as correlator object</span>
</span><span id="Corr-621"><a href="#Corr-621"><span class="linenos"> 621</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns the effective mass of the correlator as correlator object</span>
</span><span id="Corr-622"><a href="#Corr-622"><span class="linenos"> 622</span></a>
</span><span id="Corr-623"><a href="#Corr-623"><span class="linenos"> 623</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-624"><a href="#Corr-624"><span class="linenos"> 624</span></a><span class="sd"> ----------</span>
@ -2231,7 +2231,7 @@
</span><span id="Corr-702"><a href="#Corr-702"><span class="linenos"> 702</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Unknown variant.&#39;</span><span class="p">)</span>
</span><span id="Corr-703"><a href="#Corr-703"><span class="linenos"> 703</span></a>
</span><span id="Corr-704"><a href="#Corr-704"><span class="linenos"> 704</span></a> <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><span id="Corr-705"><a href="#Corr-705"><span class="linenos"> 705</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Fits function to the data</span>
</span><span id="Corr-705"><a href="#Corr-705"><span class="linenos"> 705</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Fits function to the data</span>
</span><span id="Corr-706"><a href="#Corr-706"><span class="linenos"> 706</span></a>
</span><span id="Corr-707"><a href="#Corr-707"><span class="linenos"> 707</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-708"><a href="#Corr-708"><span class="linenos"> 708</span></a><span class="sd"> ----------</span>
@ -2265,7 +2265,7 @@
</span><span id="Corr-736"><a href="#Corr-736"><span class="linenos"> 736</span></a> <span class="k">return</span> <span class="n">result</span>
</span><span id="Corr-737"><a href="#Corr-737"><span class="linenos"> 737</span></a>
</span><span id="Corr-738"><a href="#Corr-738"><span class="linenos"> 738</span></a> <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">&quot;fit&quot;</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="Corr-739"><a href="#Corr-739"><span class="linenos"> 739</span></a> <span class="sd">&quot;&quot;&quot; Extract a plateau value from a Corr object</span>
</span><span id="Corr-739"><a href="#Corr-739"><span class="linenos"> 739</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Extract a plateau value from a Corr object</span>
</span><span id="Corr-740"><a href="#Corr-740"><span class="linenos"> 740</span></a>
</span><span id="Corr-741"><a href="#Corr-741"><span class="linenos"> 741</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-742"><a href="#Corr-742"><span class="linenos"> 742</span></a><span class="sd"> ----------</span>
@ -2302,7 +2302,7 @@
</span><span id="Corr-773"><a href="#Corr-773"><span class="linenos"> 773</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unsupported plateau method: &quot;</span> <span class="o">+</span> <span class="n">method</span><span class="p">)</span>
</span><span id="Corr-774"><a href="#Corr-774"><span class="linenos"> 774</span></a>
</span><span id="Corr-775"><a href="#Corr-775"><span class="linenos"> 775</span></a> <span class="k">def</span> <span class="nf">set_prange</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prange</span><span class="p">):</span>
</span><span id="Corr-776"><a href="#Corr-776"><span class="linenos"> 776</span></a> <span class="sd">&quot;&quot;&quot;Sets the attribute prange of the Corr object.&quot;&quot;&quot;</span>
</span><span id="Corr-776"><a href="#Corr-776"><span class="linenos"> 776</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Sets the attribute prange of the Corr object.&quot;&quot;&quot;</span>
</span><span id="Corr-777"><a href="#Corr-777"><span class="linenos"> 777</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">prange</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
</span><span id="Corr-778"><a href="#Corr-778"><span class="linenos"> 778</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;prange must be a list or array with two values&quot;</span><span class="p">)</span>
</span><span id="Corr-779"><a href="#Corr-779"><span class="linenos"> 779</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">((</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">prange</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="nb">int</span><span class="p">))</span> <span class="ow">and</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">prange</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="nb">int</span><span class="p">))):</span>
@ -2314,7 +2314,7 @@
</span><span id="Corr-785"><a href="#Corr-785"><span class="linenos"> 785</span></a> <span class="k">return</span>
</span><span id="Corr-786"><a href="#Corr-786"><span class="linenos"> 786</span></a>
</span><span id="Corr-787"><a href="#Corr-787"><span class="linenos"> 787</span></a> <span class="k">def</span> <span class="nf">show</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">x_range</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">comp</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">y_range</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">logscale</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">plateau</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">fit_res</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">ylabel</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">save</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">hide_sigma</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">references</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="Corr-788"><a href="#Corr-788"><span class="linenos"> 788</span></a> <span class="sd">&quot;&quot;&quot;Plots the correlator using the tag of the correlator as label if available.</span>
</span><span id="Corr-788"><a href="#Corr-788"><span class="linenos"> 788</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plots the correlator using the tag of the correlator as label if available.</span>
</span><span id="Corr-789"><a href="#Corr-789"><span class="linenos"> 789</span></a>
</span><span id="Corr-790"><a href="#Corr-790"><span class="linenos"> 790</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-791"><a href="#Corr-791"><span class="linenos"> 791</span></a><span class="sd"> ----------</span>
@ -2433,7 +2433,7 @@
</span><span id="Corr-904"><a href="#Corr-904"><span class="linenos"> 904</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;&#39;save&#39; has to be a string.&quot;</span><span class="p">)</span>
</span><span id="Corr-905"><a href="#Corr-905"><span class="linenos"> 905</span></a>
</span><span id="Corr-906"><a href="#Corr-906"><span class="linenos"> 906</span></a> <span class="k">def</span> <span class="nf">spaghetti_plot</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">logscale</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="Corr-907"><a href="#Corr-907"><span class="linenos"> 907</span></a> <span class="sd">&quot;&quot;&quot;Produces a spaghetti plot of the correlator suited to monitor exceptional configurations.</span>
</span><span id="Corr-907"><a href="#Corr-907"><span class="linenos"> 907</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Produces a spaghetti plot of the correlator suited to monitor exceptional configurations.</span>
</span><span id="Corr-908"><a href="#Corr-908"><span class="linenos"> 908</span></a>
</span><span id="Corr-909"><a href="#Corr-909"><span class="linenos"> 909</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-910"><a href="#Corr-910"><span class="linenos"> 910</span></a><span class="sd"> ----------</span>
@ -2462,7 +2462,7 @@
</span><span id="Corr-933"><a href="#Corr-933"><span class="linenos"> 933</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
</span><span id="Corr-934"><a href="#Corr-934"><span class="linenos"> 934</span></a>
</span><span id="Corr-935"><a href="#Corr-935"><span class="linenos"> 935</span></a> <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="n">datatype</span><span class="o">=</span><span class="s2">&quot;json.gz&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="Corr-936"><a href="#Corr-936"><span class="linenos"> 936</span></a> <span class="sd">&quot;&quot;&quot;Dumps the Corr into a file of chosen type</span>
</span><span id="Corr-936"><a href="#Corr-936"><span class="linenos"> 936</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Dumps the Corr into a file of chosen type</span>
</span><span id="Corr-937"><a href="#Corr-937"><span class="linenos"> 937</span></a><span class="sd"> Parameters</span>
</span><span id="Corr-938"><a href="#Corr-938"><span class="linenos"> 938</span></a><span class="sd"> ----------</span>
</span><span id="Corr-939"><a href="#Corr-939"><span class="linenos"> 939</span></a><span class="sd"> filename : str</span>
@ -2746,7 +2746,7 @@
</span><span id="Corr-1217"><a href="#Corr-1217"><span class="linenos">1217</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_apply_func_to_corr</span><span class="p">(</span><span class="n">return_imag</span><span class="p">)</span>
</span><span id="Corr-1218"><a href="#Corr-1218"><span class="linenos">1218</span></a>
</span><span id="Corr-1219"><a href="#Corr-1219"><span class="linenos">1219</span></a> <span class="k">def</span> <span class="nf">prune</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">Ntrunc</span><span class="p">,</span> <span class="n">tproj</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">t0proj</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">basematrix</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="Corr-1220"><a href="#Corr-1220"><span class="linenos">1220</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39; Project large correlation matrix to lowest states</span>
</span><span id="Corr-1220"><a href="#Corr-1220"><span class="linenos">1220</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39; Project large correlation matrix to lowest states</span>
</span><span id="Corr-1221"><a href="#Corr-1221"><span class="linenos">1221</span></a>
</span><span id="Corr-1222"><a href="#Corr-1222"><span class="linenos">1222</span></a><span class="sd"> This method can be used to reduce the size of an (N x N) correlation matrix</span>
</span><span id="Corr-1223"><a href="#Corr-1223"><span class="linenos">1223</span></a><span class="sd"> to (Ntrunc x Ntrunc) by solving a GEVP at very early times where the noise</span>
@ -2827,7 +2827,7 @@ matrix at every timeslice. Other dependency (eg. spatial) are not supported.</p>
</div>
<a class="headerlink" href="#Corr.__init__"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.__init__-27"><a href="#Corr.__init__-27"><span class="linenos">27</span></a> <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">data_input</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">prange</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="Corr.__init__-28"><a href="#Corr.__init__-28"><span class="linenos">28</span></a> <span class="sd">&quot;&quot;&quot; Initialize a Corr object.</span>
</span><span id="Corr.__init__-28"><a href="#Corr.__init__-28"><span class="linenos">28</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Initialize a Corr object.</span>
</span><span id="Corr.__init__-29"><a href="#Corr.__init__-29"><span class="linenos">29</span></a>
</span><span id="Corr.__init__-30"><a href="#Corr.__init__-30"><span class="linenos">30</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.__init__-31"><a href="#Corr.__init__-31"><span class="linenos">31</span></a><span class="sd"> ----------</span>
@ -2930,7 +2930,7 @@ region indentified for this correlator.</li>
</div>
<a class="headerlink" href="#Corr.gamma_method"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.gamma_method-117"><a href="#Corr.gamma_method-117"><span class="linenos">117</span></a> <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><span id="Corr.gamma_method-118"><a href="#Corr.gamma_method-118"><span class="linenos">118</span></a> <span class="sd">&quot;&quot;&quot;Apply the gamma method to the content of the Corr.&quot;&quot;&quot;</span>
</span><span id="Corr.gamma_method-118"><a href="#Corr.gamma_method-118"><span class="linenos">118</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Apply the gamma method to the content of the Corr.&quot;&quot;&quot;</span>
</span><span id="Corr.gamma_method-119"><a href="#Corr.gamma_method-119"><span class="linenos">119</span></a> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">:</span>
</span><span id="Corr.gamma_method-120"><a href="#Corr.gamma_method-120"><span class="linenos">120</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">item</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">):</span>
</span><span id="Corr.gamma_method-121"><a href="#Corr.gamma_method-121"><span class="linenos">121</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
@ -2959,7 +2959,7 @@ region indentified for this correlator.</li>
</div>
<a class="headerlink" href="#Corr.projected"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.projected-128"><a href="#Corr.projected-128"><span class="linenos">128</span></a> <span class="k">def</span> <span class="nf">projected</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">vector_l</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">vector_r</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">normalize</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="Corr.projected-129"><a href="#Corr.projected-129"><span class="linenos">129</span></a> <span class="sd">&quot;&quot;&quot;We need to project the Correlator with a Vector to get a single value at each timeslice.</span>
</span><span id="Corr.projected-129"><a href="#Corr.projected-129"><span class="linenos">129</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;We need to project the Correlator with a Vector to get a single value at each timeslice.</span>
</span><span id="Corr.projected-130"><a href="#Corr.projected-130"><span class="linenos">130</span></a>
</span><span id="Corr.projected-131"><a href="#Corr.projected-131"><span class="linenos">131</span></a><span class="sd"> The method can use one or two vectors.</span>
</span><span id="Corr.projected-132"><a href="#Corr.projected-132"><span class="linenos">132</span></a><span class="sd"> If two are specified it returns v1@G@v2 (the order might be very important.)</span>
@ -3020,7 +3020,7 @@ By default it will return the lowest source, which usually means unsmeared-unsme
</div>
<a class="headerlink" href="#Corr.item"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.item-167"><a href="#Corr.item-167"><span class="linenos">167</span></a> <span class="k">def</span> <span class="nf">item</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">):</span>
</span><span id="Corr.item-168"><a href="#Corr.item-168"><span class="linenos">168</span></a> <span class="sd">&quot;&quot;&quot;Picks the element [i,j] from every matrix and returns a correlator containing one Obs per timeslice.</span>
</span><span id="Corr.item-168"><a href="#Corr.item-168"><span class="linenos">168</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Picks the element [i,j] from every matrix and returns a correlator containing one Obs per timeslice.</span>
</span><span id="Corr.item-169"><a href="#Corr.item-169"><span class="linenos">169</span></a>
</span><span id="Corr.item-170"><a href="#Corr.item-170"><span class="linenos">170</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.item-171"><a href="#Corr.item-171"><span class="linenos">171</span></a><span class="sd"> ----------</span>
@ -3062,7 +3062,7 @@ Second index to be picked.</li>
</div>
<a class="headerlink" href="#Corr.plottable"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.plottable-182"><a href="#Corr.plottable-182"><span class="linenos">182</span></a> <span class="k">def</span> <span class="nf">plottable</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Corr.plottable-183"><a href="#Corr.plottable-183"><span class="linenos">183</span></a> <span class="sd">&quot;&quot;&quot;Outputs the correlator in a plotable format.</span>
</span><span id="Corr.plottable-183"><a href="#Corr.plottable-183"><span class="linenos">183</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Outputs the correlator in a plotable format.</span>
</span><span id="Corr.plottable-184"><a href="#Corr.plottable-184"><span class="linenos">184</span></a>
</span><span id="Corr.plottable-185"><a href="#Corr.plottable-185"><span class="linenos">185</span></a><span class="sd"> Outputs three lists containing the timeslice index, the value on each</span>
</span><span id="Corr.plottable-186"><a href="#Corr.plottable-186"><span class="linenos">186</span></a><span class="sd"> timeslice and the error on each timeslice.</span>
@ -3097,7 +3097,7 @@ timeslice and the error on each timeslice.</p>
</div>
<a class="headerlink" href="#Corr.symmetric"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.symmetric-196"><a href="#Corr.symmetric-196"><span class="linenos">196</span></a> <span class="k">def</span> <span class="nf">symmetric</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Corr.symmetric-197"><a href="#Corr.symmetric-197"><span class="linenos">197</span></a> <span class="sd">&quot;&quot;&quot; Symmetrize the correlator around x0=0.&quot;&quot;&quot;</span>
</span><span id="Corr.symmetric-197"><a href="#Corr.symmetric-197"><span class="linenos">197</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Symmetrize the correlator around x0=0.&quot;&quot;&quot;</span>
</span><span id="Corr.symmetric-198"><a href="#Corr.symmetric-198"><span class="linenos">198</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="Corr.symmetric-199"><a href="#Corr.symmetric-199"><span class="linenos">199</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;symmetric cannot be safely applied to multi-dimensional correlators.&#39;</span><span class="p">)</span>
</span><span id="Corr.symmetric-200"><a href="#Corr.symmetric-200"><span class="linenos">200</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
@ -3135,7 +3135,7 @@ timeslice and the error on each timeslice.</p>
</div>
<a class="headerlink" href="#Corr.anti_symmetric"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.anti_symmetric-216"><a href="#Corr.anti_symmetric-216"><span class="linenos">216</span></a> <span class="k">def</span> <span class="nf">anti_symmetric</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Corr.anti_symmetric-217"><a href="#Corr.anti_symmetric-217"><span class="linenos">217</span></a> <span class="sd">&quot;&quot;&quot;Anti-symmetrize the correlator around x0=0.&quot;&quot;&quot;</span>
</span><span id="Corr.anti_symmetric-217"><a href="#Corr.anti_symmetric-217"><span class="linenos">217</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Anti-symmetrize the correlator around x0=0.&quot;&quot;&quot;</span>
</span><span id="Corr.anti_symmetric-218"><a href="#Corr.anti_symmetric-218"><span class="linenos">218</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="Corr.anti_symmetric-219"><a href="#Corr.anti_symmetric-219"><span class="linenos">219</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;anti_symmetric cannot be safely applied to multi-dimensional correlators.&#39;</span><span class="p">)</span>
</span><span id="Corr.anti_symmetric-220"><a href="#Corr.anti_symmetric-220"><span class="linenos">220</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
@ -3175,7 +3175,7 @@ timeslice and the error on each timeslice.</p>
</div>
<a class="headerlink" href="#Corr.is_matrix_symmetric"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.is_matrix_symmetric-238"><a href="#Corr.is_matrix_symmetric-238"><span class="linenos">238</span></a> <span class="k">def</span> <span class="nf">is_matrix_symmetric</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Corr.is_matrix_symmetric-239"><a href="#Corr.is_matrix_symmetric-239"><span class="linenos">239</span></a> <span class="sd">&quot;&quot;&quot;Checks whether a correlator matrices is symmetric on every timeslice.&quot;&quot;&quot;</span>
</span><span id="Corr.is_matrix_symmetric-239"><a href="#Corr.is_matrix_symmetric-239"><span class="linenos">239</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks whether a correlator matrices is symmetric on every timeslice.&quot;&quot;&quot;</span>
</span><span id="Corr.is_matrix_symmetric-240"><a href="#Corr.is_matrix_symmetric-240"><span class="linenos">240</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="Corr.is_matrix_symmetric-241"><a href="#Corr.is_matrix_symmetric-241"><span class="linenos">241</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Only works for correlator matrices.&quot;</span><span class="p">)</span>
</span><span id="Corr.is_matrix_symmetric-242"><a href="#Corr.is_matrix_symmetric-242"><span class="linenos">242</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">T</span><span class="p">):</span>
@ -3208,7 +3208,7 @@ timeslice and the error on each timeslice.</p>
</div>
<a class="headerlink" href="#Corr.matrix_symmetric"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.matrix_symmetric-253"><a href="#Corr.matrix_symmetric-253"><span class="linenos">253</span></a> <span class="k">def</span> <span class="nf">matrix_symmetric</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Corr.matrix_symmetric-254"><a href="#Corr.matrix_symmetric-254"><span class="linenos">254</span></a> <span class="sd">&quot;&quot;&quot;Symmetrizes the correlator matrices on every timeslice.&quot;&quot;&quot;</span>
</span><span id="Corr.matrix_symmetric-254"><a href="#Corr.matrix_symmetric-254"><span class="linenos">254</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Symmetrizes the correlator matrices on every timeslice.&quot;&quot;&quot;</span>
</span><span id="Corr.matrix_symmetric-255"><a href="#Corr.matrix_symmetric-255"><span class="linenos">255</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="Corr.matrix_symmetric-256"><a href="#Corr.matrix_symmetric-256"><span class="linenos">256</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Trying to symmetrize a correlator matrix, that already has N=1.&quot;</span><span class="p">)</span>
</span><span id="Corr.matrix_symmetric-257"><a href="#Corr.matrix_symmetric-257"><span class="linenos">257</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_matrix_symmetric</span><span class="p">():</span>
@ -3236,7 +3236,7 @@ timeslice and the error on each timeslice.</p>
</div>
<a class="headerlink" href="#Corr.GEVP"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.GEVP-263"><a href="#Corr.GEVP-263"><span class="linenos">263</span></a> <span class="k">def</span> <span class="nf">GEVP</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">t0</span><span class="p">,</span> <span class="n">ts</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sort</span><span class="o">=</span><span class="s2">&quot;Eigenvalue&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="Corr.GEVP-264"><a href="#Corr.GEVP-264"><span class="linenos">264</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Solve the generalized eigenvalue problem on the correlator matrix and returns the corresponding eigenvectors.</span>
</span><span id="Corr.GEVP-264"><a href="#Corr.GEVP-264"><span class="linenos">264</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Solve the generalized eigenvalue problem on the correlator matrix and returns the corresponding eigenvectors.</span>
</span><span id="Corr.GEVP-265"><a href="#Corr.GEVP-265"><span class="linenos">265</span></a>
</span><span id="Corr.GEVP-266"><a href="#Corr.GEVP-266"><span class="linenos">266</span></a><span class="sd"> The eigenvectors are sorted according to the descending eigenvalues, the zeroth eigenvector(s) correspond to the</span>
</span><span id="Corr.GEVP-267"><a href="#Corr.GEVP-267"><span class="linenos">267</span></a><span class="sd"> largest eigenvalue(s). The eigenvector(s) for the individual states can be accessed via slicing</span>
@ -3366,7 +3366,7 @@ Returns only the vector(s) for a specified state. The lowest state is zero.</li>
</div>
<a class="headerlink" href="#Corr.Eigenvalue"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.Eigenvalue-342"><a href="#Corr.Eigenvalue-342"><span class="linenos">342</span></a> <span class="k">def</span> <span class="nf">Eigenvalue</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">t0</span><span class="p">,</span> <span class="n">ts</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">state</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">sort</span><span class="o">=</span><span class="s2">&quot;Eigenvalue&quot;</span><span class="p">):</span>
</span><span id="Corr.Eigenvalue-343"><a href="#Corr.Eigenvalue-343"><span class="linenos">343</span></a> <span class="sd">&quot;&quot;&quot;Determines the eigenvalue of the GEVP by solving and projecting the correlator</span>
</span><span id="Corr.Eigenvalue-343"><a href="#Corr.Eigenvalue-343"><span class="linenos">343</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Determines the eigenvalue of the GEVP by solving and projecting the correlator</span>
</span><span id="Corr.Eigenvalue-344"><a href="#Corr.Eigenvalue-344"><span class="linenos">344</span></a>
</span><span id="Corr.Eigenvalue-345"><a href="#Corr.Eigenvalue-345"><span class="linenos">345</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.Eigenvalue-346"><a href="#Corr.Eigenvalue-346"><span class="linenos">346</span></a><span class="sd"> ----------</span>
@ -3405,7 +3405,7 @@ The state one is interested in ordered by energy. The lowest state is zero.</li>
</div>
<a class="headerlink" href="#Corr.Hankel"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.Hankel-355"><a href="#Corr.Hankel-355"><span class="linenos">355</span></a> <span class="k">def</span> <span class="nf">Hankel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">N</span><span class="p">,</span> <span class="n">periodic</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="Corr.Hankel-356"><a href="#Corr.Hankel-356"><span class="linenos">356</span></a> <span class="sd">&quot;&quot;&quot;Constructs an NxN Hankel matrix</span>
</span><span id="Corr.Hankel-356"><a href="#Corr.Hankel-356"><span class="linenos">356</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Constructs an NxN Hankel matrix</span>
</span><span id="Corr.Hankel-357"><a href="#Corr.Hankel-357"><span class="linenos">357</span></a>
</span><span id="Corr.Hankel-358"><a href="#Corr.Hankel-358"><span class="linenos">358</span></a><span class="sd"> C(t) c(t+1) ... c(t+n-1)</span>
</span><span id="Corr.Hankel-359"><a href="#Corr.Hankel-359"><span class="linenos">359</span></a><span class="sd"> C(t+1) c(t+2) ... c(t+n)</span>
@ -3478,7 +3478,7 @@ determines whether the matrix is extended periodically</li>
</div>
<a class="headerlink" href="#Corr.roll"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.roll-396"><a href="#Corr.roll-396"><span class="linenos">396</span></a> <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><span id="Corr.roll-397"><a href="#Corr.roll-397"><span class="linenos">397</span></a> <span class="sd">&quot;&quot;&quot;Periodically shift the correlator by dt timeslices</span>
</span><span id="Corr.roll-397"><a href="#Corr.roll-397"><span class="linenos">397</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Periodically shift the correlator by dt timeslices</span>
</span><span id="Corr.roll-398"><a href="#Corr.roll-398"><span class="linenos">398</span></a>
</span><span id="Corr.roll-399"><a href="#Corr.roll-399"><span class="linenos">399</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.roll-400"><a href="#Corr.roll-400"><span class="linenos">400</span></a><span class="sd"> ----------</span>
@ -3513,7 +3513,7 @@ number of timeslices</li>
</div>
<a class="headerlink" href="#Corr.reverse"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.reverse-406"><a href="#Corr.reverse-406"><span class="linenos">406</span></a> <span class="k">def</span> <span class="nf">reverse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Corr.reverse-407"><a href="#Corr.reverse-407"><span class="linenos">407</span></a> <span class="sd">&quot;&quot;&quot;Reverse the time ordering of the Corr&quot;&quot;&quot;</span>
</span><span id="Corr.reverse-407"><a href="#Corr.reverse-407"><span class="linenos">407</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Reverse the time ordering of the Corr&quot;&quot;&quot;</span>
</span><span id="Corr.reverse-408"><a href="#Corr.reverse-408"><span class="linenos">408</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[::</span> <span class="o">-</span><span class="mi">1</span><span class="p">])</span>
</span></pre></div>
@ -3535,7 +3535,7 @@ number of timeslices</li>
</div>
<a class="headerlink" href="#Corr.thin"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.thin-410"><a href="#Corr.thin-410"><span class="linenos">410</span></a> <span class="k">def</span> <span class="nf">thin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">spacing</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">offset</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
</span><span id="Corr.thin-411"><a href="#Corr.thin-411"><span class="linenos">411</span></a> <span class="sd">&quot;&quot;&quot;Thin out a correlator to suppress correlations</span>
</span><span id="Corr.thin-411"><a href="#Corr.thin-411"><span class="linenos">411</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Thin out a correlator to suppress correlations</span>
</span><span id="Corr.thin-412"><a href="#Corr.thin-412"><span class="linenos">412</span></a>
</span><span id="Corr.thin-413"><a href="#Corr.thin-413"><span class="linenos">413</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.thin-414"><a href="#Corr.thin-414"><span class="linenos">414</span></a><span class="sd"> ----------</span>
@ -3580,7 +3580,7 @@ Offset the equal spacing</li>
</div>
<a class="headerlink" href="#Corr.correlate"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.correlate-428"><a href="#Corr.correlate-428"><span class="linenos">428</span></a> <span class="k">def</span> <span class="nf">correlate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">partner</span><span class="p">):</span>
</span><span id="Corr.correlate-429"><a href="#Corr.correlate-429"><span class="linenos">429</span></a> <span class="sd">&quot;&quot;&quot;Correlate the correlator with another correlator or Obs</span>
</span><span id="Corr.correlate-429"><a href="#Corr.correlate-429"><span class="linenos">429</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Correlate the correlator with another correlator or Obs</span>
</span><span id="Corr.correlate-430"><a href="#Corr.correlate-430"><span class="linenos">430</span></a>
</span><span id="Corr.correlate-431"><a href="#Corr.correlate-431"><span class="linenos">431</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.correlate-432"><a href="#Corr.correlate-432"><span class="linenos">432</span></a><span class="sd"> ----------</span>
@ -3636,7 +3636,7 @@ correlator or a Corr of same length.</li>
</div>
<a class="headerlink" href="#Corr.reweight"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.reweight-457"><a href="#Corr.reweight-457"><span class="linenos">457</span></a> <span class="k">def</span> <span class="nf">reweight</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">weight</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="Corr.reweight-458"><a href="#Corr.reweight-458"><span class="linenos">458</span></a> <span class="sd">&quot;&quot;&quot;Reweight the correlator.</span>
</span><span id="Corr.reweight-458"><a href="#Corr.reweight-458"><span class="linenos">458</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Reweight the correlator.</span>
</span><span id="Corr.reweight-459"><a href="#Corr.reweight-459"><span class="linenos">459</span></a>
</span><span id="Corr.reweight-460"><a href="#Corr.reweight-460"><span class="linenos">460</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.reweight-461"><a href="#Corr.reweight-461"><span class="linenos">461</span></a><span class="sd"> ----------</span>
@ -3689,7 +3689,7 @@ on the configurations in obs[i].idl.</li>
</div>
<a class="headerlink" href="#Corr.T_symmetry"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.T_symmetry-480"><a href="#Corr.T_symmetry-480"><span class="linenos">480</span></a> <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><span id="Corr.T_symmetry-481"><a href="#Corr.T_symmetry-481"><span class="linenos">481</span></a> <span class="sd">&quot;&quot;&quot;Return the time symmetry average of the correlator and its partner</span>
</span><span id="Corr.T_symmetry-481"><a href="#Corr.T_symmetry-481"><span class="linenos">481</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the time symmetry average of the correlator and its partner</span>
</span><span id="Corr.T_symmetry-482"><a href="#Corr.T_symmetry-482"><span class="linenos">482</span></a>
</span><span id="Corr.T_symmetry-483"><a href="#Corr.T_symmetry-483"><span class="linenos">483</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.T_symmetry-484"><a href="#Corr.T_symmetry-484"><span class="linenos">484</span></a><span class="sd"> ----------</span>
@ -3746,7 +3746,7 @@ Parity quantum number of the correlator, can be +1 or -1</li>
</div>
<a class="headerlink" href="#Corr.deriv"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.deriv-510"><a href="#Corr.deriv-510"><span class="linenos">510</span></a> <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">variant</span><span class="o">=</span><span class="s2">&quot;symmetric&quot;</span><span class="p">):</span>
</span><span id="Corr.deriv-511"><a href="#Corr.deriv-511"><span class="linenos">511</span></a> <span class="sd">&quot;&quot;&quot;Return the first derivative of the correlator with respect to x0.</span>
</span><span id="Corr.deriv-511"><a href="#Corr.deriv-511"><span class="linenos">511</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the first derivative of the correlator with respect to x0.</span>
</span><span id="Corr.deriv-512"><a href="#Corr.deriv-512"><span class="linenos">512</span></a>
</span><span id="Corr.deriv-513"><a href="#Corr.deriv-513"><span class="linenos">513</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.deriv-514"><a href="#Corr.deriv-514"><span class="linenos">514</span></a><span class="sd"> ----------</span>
@ -3837,7 +3837,7 @@ Available choice: symmetric, forward, backward, improved, log, default: symmetri
</div>
<a class="headerlink" href="#Corr.second_deriv"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.second_deriv-575"><a href="#Corr.second_deriv-575"><span class="linenos">575</span></a> <span class="k">def</span> <span class="nf">second_deriv</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">variant</span><span class="o">=</span><span class="s2">&quot;symmetric&quot;</span><span class="p">):</span>
</span><span id="Corr.second_deriv-576"><a href="#Corr.second_deriv-576"><span class="linenos">576</span></a> <span class="sd">&quot;&quot;&quot;Return the second derivative of the correlator with respect to x0.</span>
</span><span id="Corr.second_deriv-576"><a href="#Corr.second_deriv-576"><span class="linenos">576</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the second derivative of the correlator with respect to x0.</span>
</span><span id="Corr.second_deriv-577"><a href="#Corr.second_deriv-577"><span class="linenos">577</span></a>
</span><span id="Corr.second_deriv-578"><a href="#Corr.second_deriv-578"><span class="linenos">578</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.second_deriv-579"><a href="#Corr.second_deriv-579"><span class="linenos">579</span></a><span class="sd"> ----------</span>
@ -3908,7 +3908,7 @@ Available choice: symmetric, improved, log, default: symmetric</li>
</div>
<a class="headerlink" href="#Corr.m_eff"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.m_eff-620"><a href="#Corr.m_eff-620"><span class="linenos">620</span></a> <span class="k">def</span> <span class="nf">m_eff</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">variant</span><span class="o">=</span><span class="s1">&#39;log&#39;</span><span class="p">,</span> <span class="n">guess</span><span class="o">=</span><span class="mf">1.0</span><span class="p">):</span>
</span><span id="Corr.m_eff-621"><a href="#Corr.m_eff-621"><span class="linenos">621</span></a> <span class="sd">&quot;&quot;&quot;Returns the effective mass of the correlator as correlator object</span>
</span><span id="Corr.m_eff-621"><a href="#Corr.m_eff-621"><span class="linenos">621</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns the effective mass of the correlator as correlator object</span>
</span><span id="Corr.m_eff-622"><a href="#Corr.m_eff-622"><span class="linenos">622</span></a>
</span><span id="Corr.m_eff-623"><a href="#Corr.m_eff-623"><span class="linenos">623</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.m_eff-624"><a href="#Corr.m_eff-624"><span class="linenos">624</span></a><span class="sd"> ----------</span>
@ -4024,7 +4024,7 @@ guess for the root finder, only relevant for the root variant</li>
</div>
<a class="headerlink" href="#Corr.fit"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.fit-704"><a href="#Corr.fit-704"><span class="linenos">704</span></a> <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><span id="Corr.fit-705"><a href="#Corr.fit-705"><span class="linenos">705</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Fits function to the data</span>
</span><span id="Corr.fit-705"><a href="#Corr.fit-705"><span class="linenos">705</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Fits function to the data</span>
</span><span id="Corr.fit-706"><a href="#Corr.fit-706"><span class="linenos">706</span></a>
</span><span id="Corr.fit-707"><a href="#Corr.fit-707"><span class="linenos">707</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.fit-708"><a href="#Corr.fit-708"><span class="linenos">708</span></a><span class="sd"> ----------</span>
@ -4090,7 +4090,7 @@ Decides whether output is printed to the standard output.</li>
</div>
<a class="headerlink" href="#Corr.plateau"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.plateau-738"><a href="#Corr.plateau-738"><span class="linenos">738</span></a> <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">&quot;fit&quot;</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="Corr.plateau-739"><a href="#Corr.plateau-739"><span class="linenos">739</span></a> <span class="sd">&quot;&quot;&quot; Extract a plateau value from a Corr object</span>
</span><span id="Corr.plateau-739"><a href="#Corr.plateau-739"><span class="linenos">739</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Extract a plateau value from a Corr object</span>
</span><span id="Corr.plateau-740"><a href="#Corr.plateau-740"><span class="linenos">740</span></a>
</span><span id="Corr.plateau-741"><a href="#Corr.plateau-741"><span class="linenos">741</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.plateau-742"><a href="#Corr.plateau-742"><span class="linenos">742</span></a><span class="sd"> ----------</span>
@ -4159,7 +4159,7 @@ apply gamma_method with default parameters to the Corr. Defaults to None</li>
</div>
<a class="headerlink" href="#Corr.set_prange"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.set_prange-775"><a href="#Corr.set_prange-775"><span class="linenos">775</span></a> <span class="k">def</span> <span class="nf">set_prange</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prange</span><span class="p">):</span>
</span><span id="Corr.set_prange-776"><a href="#Corr.set_prange-776"><span class="linenos">776</span></a> <span class="sd">&quot;&quot;&quot;Sets the attribute prange of the Corr object.&quot;&quot;&quot;</span>
</span><span id="Corr.set_prange-776"><a href="#Corr.set_prange-776"><span class="linenos">776</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Sets the attribute prange of the Corr object.&quot;&quot;&quot;</span>
</span><span id="Corr.set_prange-777"><a href="#Corr.set_prange-777"><span class="linenos">777</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">prange</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
</span><span id="Corr.set_prange-778"><a href="#Corr.set_prange-778"><span class="linenos">778</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;prange must be a list or array with two values&quot;</span><span class="p">)</span>
</span><span id="Corr.set_prange-779"><a href="#Corr.set_prange-779"><span class="linenos">779</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">((</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">prange</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="nb">int</span><span class="p">))</span> <span class="ow">and</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">prange</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="nb">int</span><span class="p">))):</span>
@ -4189,7 +4189,7 @@ apply gamma_method with default parameters to the Corr. Defaults to None</li>
</div>
<a class="headerlink" href="#Corr.show"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.show-787"><a href="#Corr.show-787"><span class="linenos">787</span></a> <span class="k">def</span> <span class="nf">show</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">x_range</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">comp</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">y_range</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">logscale</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">plateau</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">fit_res</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">ylabel</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">save</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">hide_sigma</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">references</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="Corr.show-788"><a href="#Corr.show-788"><span class="linenos">788</span></a> <span class="sd">&quot;&quot;&quot;Plots the correlator using the tag of the correlator as label if available.</span>
</span><span id="Corr.show-788"><a href="#Corr.show-788"><span class="linenos">788</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plots the correlator using the tag of the correlator as label if available.</span>
</span><span id="Corr.show-789"><a href="#Corr.show-789"><span class="linenos">789</span></a>
</span><span id="Corr.show-790"><a href="#Corr.show-790"><span class="linenos">790</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.show-791"><a href="#Corr.show-791"><span class="linenos">791</span></a><span class="sd"> ----------</span>
@ -4354,7 +4354,7 @@ Optional title of the figure.</li>
</div>
<a class="headerlink" href="#Corr.spaghetti_plot"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.spaghetti_plot-906"><a href="#Corr.spaghetti_plot-906"><span class="linenos">906</span></a> <span class="k">def</span> <span class="nf">spaghetti_plot</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">logscale</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="Corr.spaghetti_plot-907"><a href="#Corr.spaghetti_plot-907"><span class="linenos">907</span></a> <span class="sd">&quot;&quot;&quot;Produces a spaghetti plot of the correlator suited to monitor exceptional configurations.</span>
</span><span id="Corr.spaghetti_plot-907"><a href="#Corr.spaghetti_plot-907"><span class="linenos">907</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Produces a spaghetti plot of the correlator suited to monitor exceptional configurations.</span>
</span><span id="Corr.spaghetti_plot-908"><a href="#Corr.spaghetti_plot-908"><span class="linenos">908</span></a>
</span><span id="Corr.spaghetti_plot-909"><a href="#Corr.spaghetti_plot-909"><span class="linenos">909</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.spaghetti_plot-910"><a href="#Corr.spaghetti_plot-910"><span class="linenos">910</span></a><span class="sd"> ----------</span>
@ -4408,7 +4408,7 @@ Determines whether the scale of the y-axis is logarithmic or standard.</li>
</div>
<a class="headerlink" href="#Corr.dump"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.dump-935"><a href="#Corr.dump-935"><span class="linenos">935</span></a> <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="n">datatype</span><span class="o">=</span><span class="s2">&quot;json.gz&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="Corr.dump-936"><a href="#Corr.dump-936"><span class="linenos">936</span></a> <span class="sd">&quot;&quot;&quot;Dumps the Corr into a file of chosen type</span>
</span><span id="Corr.dump-936"><a href="#Corr.dump-936"><span class="linenos">936</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Dumps the Corr into a file of chosen type</span>
</span><span id="Corr.dump-937"><a href="#Corr.dump-937"><span class="linenos">937</span></a><span class="sd"> Parameters</span>
</span><span id="Corr.dump-938"><a href="#Corr.dump-938"><span class="linenos">938</span></a><span class="sd"> ----------</span>
</span><span id="Corr.dump-939"><a href="#Corr.dump-939"><span class="linenos">939</span></a><span class="sd"> filename : str</span>
@ -4768,7 +4768,7 @@ specifies a custom path for the file (default '.')</li>
</div>
<a class="headerlink" href="#Corr.prune"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Corr.prune-1219"><a href="#Corr.prune-1219"><span class="linenos">1219</span></a> <span class="k">def</span> <span class="nf">prune</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">Ntrunc</span><span class="p">,</span> <span class="n">tproj</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">t0proj</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">basematrix</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="Corr.prune-1220"><a href="#Corr.prune-1220"><span class="linenos">1220</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39; Project large correlation matrix to lowest states</span>
</span><span id="Corr.prune-1220"><a href="#Corr.prune-1220"><span class="linenos">1220</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39; Project large correlation matrix to lowest states</span>
</span><span id="Corr.prune-1221"><a href="#Corr.prune-1221"><span class="linenos">1221</span></a>
</span><span id="Corr.prune-1222"><a href="#Corr.prune-1222"><span class="linenos">1222</span></a><span class="sd"> This method can be used to reduce the size of an (N x N) correlation matrix</span>
</span><span id="Corr.prune-1223"><a href="#Corr.prune-1223"><span class="linenos">1223</span></a><span class="sd"> to (Ntrunc x Ntrunc) by solving a GEVP at very early times where the noise</span>

View file

@ -91,7 +91,7 @@
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="k">class</span> <span class="nc">Covobs</span><span class="p">:</span>
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a>
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a> <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">mean</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">pos</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a> <span class="sd">&quot;&quot;&quot; Initialize Covobs object.</span>
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Initialize Covobs object.</span>
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a>
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="sd"> Parameters</span>
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="sd"> ----------</span>
@ -127,12 +127,12 @@
</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">mean</span>
</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a>
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a> <span class="k">def</span> <span class="nf">errsq</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a> <span class="sd">&quot;&quot;&quot; Return the variance (= square of the error) of the Covobs</span>
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Return the variance (= square of the error) of the Covobs</span>
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a> <span class="k">return</span> <span class="nb">float</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grad</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cov</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grad</span><span class="p">)))</span>
</span><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a>
</span><span id="L-47"><a href="#L-47"><span class="linenos"> 47</span></a> <span class="k">def</span> <span class="nf">_set_cov</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cov</span><span class="p">):</span>
</span><span id="L-48"><a href="#L-48"><span class="linenos"> 48</span></a> <span class="sd">&quot;&quot;&quot; Set the covariance matrix of the covobs</span>
</span><span id="L-48"><a href="#L-48"><span class="linenos"> 48</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Set the covariance matrix of the covobs</span>
</span><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a>
</span><span id="L-50"><a href="#L-50"><span class="linenos"> 50</span></a><span class="sd"> Parameters</span>
</span><span id="L-51"><a href="#L-51"><span class="linenos"> 51</span></a><span class="sd"> ----------</span>
@ -167,7 +167,7 @@
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Covariance matrix is not positive-semidefinite!&#39;</span><span class="p">)</span>
</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a>
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="k">def</span> <span class="nf">_set_grad</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">grad</span><span class="p">):</span>
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a> <span class="sd">&quot;&quot;&quot; Set the gradient of the covobs</span>
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Set the gradient of the covobs</span>
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a>
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a><span class="sd"> Parameters</span>
</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a><span class="sd"> ----------</span>
@ -207,7 +207,7 @@
<div class="pdoc-code codehilite"><pre><span></span><span id="Covobs-5"><a href="#Covobs-5"><span class="linenos"> 5</span></a><span class="k">class</span> <span class="nc">Covobs</span><span class="p">:</span>
</span><span id="Covobs-6"><a href="#Covobs-6"><span class="linenos"> 6</span></a>
</span><span id="Covobs-7"><a href="#Covobs-7"><span class="linenos"> 7</span></a> <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">mean</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">pos</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="Covobs-8"><a href="#Covobs-8"><span class="linenos"> 8</span></a> <span class="sd">&quot;&quot;&quot; Initialize Covobs object.</span>
</span><span id="Covobs-8"><a href="#Covobs-8"><span class="linenos"> 8</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Initialize Covobs object.</span>
</span><span id="Covobs-9"><a href="#Covobs-9"><span class="linenos"> 9</span></a>
</span><span id="Covobs-10"><a href="#Covobs-10"><span class="linenos"> 10</span></a><span class="sd"> Parameters</span>
</span><span id="Covobs-11"><a href="#Covobs-11"><span class="linenos"> 11</span></a><span class="sd"> ----------</span>
@ -243,12 +243,12 @@
</span><span id="Covobs-41"><a href="#Covobs-41"><span class="linenos"> 41</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">mean</span>
</span><span id="Covobs-42"><a href="#Covobs-42"><span class="linenos"> 42</span></a>
</span><span id="Covobs-43"><a href="#Covobs-43"><span class="linenos"> 43</span></a> <span class="k">def</span> <span class="nf">errsq</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Covobs-44"><a href="#Covobs-44"><span class="linenos"> 44</span></a> <span class="sd">&quot;&quot;&quot; Return the variance (= square of the error) of the Covobs</span>
</span><span id="Covobs-44"><a href="#Covobs-44"><span class="linenos"> 44</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Return the variance (= square of the error) of the Covobs</span>
</span><span id="Covobs-45"><a href="#Covobs-45"><span class="linenos"> 45</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="Covobs-46"><a href="#Covobs-46"><span class="linenos"> 46</span></a> <span class="k">return</span> <span class="nb">float</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grad</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cov</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grad</span><span class="p">)))</span>
</span><span id="Covobs-47"><a href="#Covobs-47"><span class="linenos"> 47</span></a>
</span><span id="Covobs-48"><a href="#Covobs-48"><span class="linenos"> 48</span></a> <span class="k">def</span> <span class="nf">_set_cov</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cov</span><span class="p">):</span>
</span><span id="Covobs-49"><a href="#Covobs-49"><span class="linenos"> 49</span></a> <span class="sd">&quot;&quot;&quot; Set the covariance matrix of the covobs</span>
</span><span id="Covobs-49"><a href="#Covobs-49"><span class="linenos"> 49</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Set the covariance matrix of the covobs</span>
</span><span id="Covobs-50"><a href="#Covobs-50"><span class="linenos"> 50</span></a>
</span><span id="Covobs-51"><a href="#Covobs-51"><span class="linenos"> 51</span></a><span class="sd"> Parameters</span>
</span><span id="Covobs-52"><a href="#Covobs-52"><span class="linenos"> 52</span></a><span class="sd"> ----------</span>
@ -283,7 +283,7 @@
</span><span id="Covobs-81"><a href="#Covobs-81"><span class="linenos"> 81</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Covariance matrix is not positive-semidefinite!&#39;</span><span class="p">)</span>
</span><span id="Covobs-82"><a href="#Covobs-82"><span class="linenos"> 82</span></a>
</span><span id="Covobs-83"><a href="#Covobs-83"><span class="linenos"> 83</span></a> <span class="k">def</span> <span class="nf">_set_grad</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">grad</span><span class="p">):</span>
</span><span id="Covobs-84"><a href="#Covobs-84"><span class="linenos"> 84</span></a> <span class="sd">&quot;&quot;&quot; Set the gradient of the covobs</span>
</span><span id="Covobs-84"><a href="#Covobs-84"><span class="linenos"> 84</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Set the gradient of the covobs</span>
</span><span id="Covobs-85"><a href="#Covobs-85"><span class="linenos"> 85</span></a>
</span><span id="Covobs-86"><a href="#Covobs-86"><span class="linenos"> 86</span></a><span class="sd"> Parameters</span>
</span><span id="Covobs-87"><a href="#Covobs-87"><span class="linenos"> 87</span></a><span class="sd"> ----------</span>
@ -321,7 +321,7 @@
</div>
<a class="headerlink" href="#Covobs.__init__"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Covobs.__init__-7"><a href="#Covobs.__init__-7"><span class="linenos"> 7</span></a> <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">mean</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">pos</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="Covobs.__init__-8"><a href="#Covobs.__init__-8"><span class="linenos"> 8</span></a> <span class="sd">&quot;&quot;&quot; Initialize Covobs object.</span>
</span><span id="Covobs.__init__-8"><a href="#Covobs.__init__-8"><span class="linenos"> 8</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Initialize Covobs object.</span>
</span><span id="Covobs.__init__-9"><a href="#Covobs.__init__-9"><span class="linenos"> 9</span></a>
</span><span id="Covobs.__init__-10"><a href="#Covobs.__init__-10"><span class="linenos">10</span></a><span class="sd"> Parameters</span>
</span><span id="Covobs.__init__-11"><a href="#Covobs.__init__-11"><span class="linenos">11</span></a><span class="sd"> ----------</span>
@ -391,7 +391,7 @@ Gradient of the Covobs wrt. the means belonging to cov.</li>
</div>
<a class="headerlink" href="#Covobs.errsq"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Covobs.errsq-43"><a href="#Covobs.errsq-43"><span class="linenos">43</span></a> <span class="k">def</span> <span class="nf">errsq</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Covobs.errsq-44"><a href="#Covobs.errsq-44"><span class="linenos">44</span></a> <span class="sd">&quot;&quot;&quot; Return the variance (= square of the error) of the Covobs</span>
</span><span id="Covobs.errsq-44"><a href="#Covobs.errsq-44"><span class="linenos">44</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Return the variance (= square of the error) of the Covobs</span>
</span><span id="Covobs.errsq-45"><a href="#Covobs.errsq-45"><span class="linenos">45</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="Covobs.errsq-46"><a href="#Covobs.errsq-46"><span class="linenos">46</span></a> <span class="k">return</span> <span class="nb">float</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grad</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cov</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grad</span><span class="p">)))</span>
</span></pre></div>

View file

@ -107,7 +107,7 @@
</span><span id="L-23"><a href="#L-23"><span class="linenos">23</span></a>
</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a>
</span><span id="L-25"><a href="#L-25"><span class="linenos">25</span></a><span class="k">def</span> <span class="nf">epsilon_tensor</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">):</span>
</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a> <span class="sd">&quot;&quot;&quot;Rank-3 epsilon tensor</span>
</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Rank-3 epsilon tensor</span>
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a>
</span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a><span class="sd"> Based on https://codegolf.stackexchange.com/a/160375</span>
</span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a><span class="sd"> &quot;&quot;&quot;</span>
@ -119,7 +119,7 @@
</span><span id="L-35"><a href="#L-35"><span class="linenos">35</span></a>
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a>
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a><span class="k">def</span> <span class="nf">epsilon_tensor_rank4</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">):</span>
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a> <span class="sd">&quot;&quot;&quot;Rank-4 epsilon tensor</span>
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Rank-4 epsilon tensor</span>
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a>
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a><span class="sd"> Extension of https://codegolf.stackexchange.com/a/160375</span>
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a><span class="sd"> &quot;&quot;&quot;</span>
@ -131,7 +131,7 @@
</span><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a>
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a>
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a><span class="k">def</span> <span class="nf">Grid_gamma</span><span class="p">(</span><span class="n">gamma_tag</span><span class="p">):</span>
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a> <span class="sd">&quot;&quot;&quot;Returns gamma matrix in Grid labeling.&quot;&quot;&quot;</span>
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns gamma matrix in Grid labeling.&quot;&quot;&quot;</span>
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a> <span class="k">if</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;Identity&#39;</span><span class="p">:</span>
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">identity</span>
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;Gamma5&#39;</span><span class="p">:</span>
@ -183,7 +183,7 @@
</div>
<a class="headerlink" href="#epsilon_tensor"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="epsilon_tensor-26"><a href="#epsilon_tensor-26"><span class="linenos">26</span></a><span class="k">def</span> <span class="nf">epsilon_tensor</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">):</span>
</span><span id="epsilon_tensor-27"><a href="#epsilon_tensor-27"><span class="linenos">27</span></a> <span class="sd">&quot;&quot;&quot;Rank-3 epsilon tensor</span>
</span><span id="epsilon_tensor-27"><a href="#epsilon_tensor-27"><span class="linenos">27</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Rank-3 epsilon tensor</span>
</span><span id="epsilon_tensor-28"><a href="#epsilon_tensor-28"><span class="linenos">28</span></a>
</span><span id="epsilon_tensor-29"><a href="#epsilon_tensor-29"><span class="linenos">29</span></a><span class="sd"> Based on https://codegolf.stackexchange.com/a/160375</span>
</span><span id="epsilon_tensor-30"><a href="#epsilon_tensor-30"><span class="linenos">30</span></a><span class="sd"> &quot;&quot;&quot;</span>
@ -214,7 +214,7 @@
</div>
<a class="headerlink" href="#epsilon_tensor_rank4"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="epsilon_tensor_rank4-38"><a href="#epsilon_tensor_rank4-38"><span class="linenos">38</span></a><span class="k">def</span> <span class="nf">epsilon_tensor_rank4</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">):</span>
</span><span id="epsilon_tensor_rank4-39"><a href="#epsilon_tensor_rank4-39"><span class="linenos">39</span></a> <span class="sd">&quot;&quot;&quot;Rank-4 epsilon tensor</span>
</span><span id="epsilon_tensor_rank4-39"><a href="#epsilon_tensor_rank4-39"><span class="linenos">39</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Rank-4 epsilon tensor</span>
</span><span id="epsilon_tensor_rank4-40"><a href="#epsilon_tensor_rank4-40"><span class="linenos">40</span></a>
</span><span id="epsilon_tensor_rank4-41"><a href="#epsilon_tensor_rank4-41"><span class="linenos">41</span></a><span class="sd"> Extension of https://codegolf.stackexchange.com/a/160375</span>
</span><span id="epsilon_tensor_rank4-42"><a href="#epsilon_tensor_rank4-42"><span class="linenos">42</span></a><span class="sd"> &quot;&quot;&quot;</span>
@ -245,7 +245,7 @@
</div>
<a class="headerlink" href="#Grid_gamma"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Grid_gamma-50"><a href="#Grid_gamma-50"><span class="linenos">50</span></a><span class="k">def</span> <span class="nf">Grid_gamma</span><span class="p">(</span><span class="n">gamma_tag</span><span class="p">):</span>
</span><span id="Grid_gamma-51"><a href="#Grid_gamma-51"><span class="linenos">51</span></a> <span class="sd">&quot;&quot;&quot;Returns gamma matrix in Grid labeling.&quot;&quot;&quot;</span>
</span><span id="Grid_gamma-51"><a href="#Grid_gamma-51"><span class="linenos">51</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns gamma matrix in Grid labeling.&quot;&quot;&quot;</span>
</span><span id="Grid_gamma-52"><a href="#Grid_gamma-52"><span class="linenos">52</span></a> <span class="k">if</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;Identity&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-53"><a href="#Grid_gamma-53"><span class="linenos">53</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">identity</span>
</span><span id="Grid_gamma-54"><a href="#Grid_gamma-54"><span class="linenos">54</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;Gamma5&#39;</span><span class="p">:</span>

View file

@ -126,7 +126,7 @@
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a>
</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a>
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a><span class="k">class</span> <span class="nc">Fit_result</span><span class="p">(</span><span class="n">Sequence</span><span class="p">):</span>
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a> <span class="sd">&quot;&quot;&quot;Represents fit results.</span>
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Represents fit results.</span>
</span><span id="L-22"><a href="#L-22"><span class="linenos"> 22</span></a>
</span><span id="L-23"><a href="#L-23"><span class="linenos"> 23</span></a><span class="sd"> Attributes</span>
</span><span id="L-24"><a href="#L-24"><span class="linenos"> 24</span></a><span class="sd"> ----------</span>
@ -151,7 +151,7 @@
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a> <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">fit_parameters</span><span class="p">)</span>
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a>
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a> <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><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a> <span class="sd">&quot;&quot;&quot;Apply the gamma method to all fit parameters&quot;&quot;&quot;</span>
</span><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Apply the gamma method to all fit parameters&quot;&quot;&quot;</span>
</span><span id="L-47"><a href="#L-47"><span class="linenos"> 47</span></a> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">fit_parameters</span><span class="p">]</span>
</span><span id="L-48"><a href="#L-48"><span class="linenos"> 48</span></a>
</span><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a> <span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@ -177,7 +177,7 @@
</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a>
</span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a>
</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a><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><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Performs a non-linear fit to y = func(x).</span>
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Performs a non-linear fit to y = func(x).</span>
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a>
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a><span class="sd"> Parameters</span>
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a><span class="sd"> ----------</span>
@ -243,7 +243,7 @@
</span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a>
</span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a>
</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a><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><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Performs a non-linear fit to y = func(x) and returns a list of Obs corresponding to the fit parameters.</span>
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Performs a non-linear fit to y = func(x) and returns a list of Obs corresponding to the fit parameters.</span>
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a>
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a><span class="sd"> Parameters</span>
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a><span class="sd"> ----------</span>
@ -765,7 +765,7 @@
</span><span id="L-657"><a href="#L-657"><span class="linenos">657</span></a>
</span><span id="L-658"><a href="#L-658"><span class="linenos">658</span></a>
</span><span id="L-659"><a href="#L-659"><span class="linenos">659</span></a><span class="k">def</span> <span class="nf">fit_lin</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="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-660"><a href="#L-660"><span class="linenos">660</span></a> <span class="sd">&quot;&quot;&quot;Performs a linear fit to y = n + m * x and returns two Obs n, m.</span>
</span><span id="L-660"><a href="#L-660"><span class="linenos">660</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Performs a linear fit to y = n + m * x and returns two Obs n, m.</span>
</span><span id="L-661"><a href="#L-661"><span class="linenos">661</span></a>
</span><span id="L-662"><a href="#L-662"><span class="linenos">662</span></a><span class="sd"> Parameters</span>
</span><span id="L-663"><a href="#L-663"><span class="linenos">663</span></a><span class="sd"> ----------</span>
@ -791,7 +791,7 @@
</span><span id="L-683"><a href="#L-683"><span class="linenos">683</span></a>
</span><span id="L-684"><a href="#L-684"><span class="linenos">684</span></a>
</span><span id="L-685"><a href="#L-685"><span class="linenos">685</span></a><span class="k">def</span> <span class="nf">qqplot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">o_y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">p</span><span class="p">):</span>
</span><span id="L-686"><a href="#L-686"><span class="linenos">686</span></a> <span class="sd">&quot;&quot;&quot;Generates a quantile-quantile plot of the fit result which can be used to</span>
</span><span id="L-686"><a href="#L-686"><span class="linenos">686</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Generates a quantile-quantile plot of the fit result which can be used to</span>
</span><span id="L-687"><a href="#L-687"><span class="linenos">687</span></a><span class="sd"> check if the residuals of the fit are gaussian distributed.</span>
</span><span id="L-688"><a href="#L-688"><span class="linenos">688</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-689"><a href="#L-689"><span class="linenos">689</span></a>
@ -817,7 +817,7 @@
</span><span id="L-709"><a href="#L-709"><span class="linenos">709</span></a>
</span><span id="L-710"><a href="#L-710"><span class="linenos">710</span></a>
</span><span id="L-711"><a href="#L-711"><span class="linenos">711</span></a><span class="k">def</span> <span class="nf">residual_plot</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">fit_res</span><span class="p">):</span>
</span><span id="L-712"><a href="#L-712"><span class="linenos">712</span></a> <span class="sd">&quot;&quot;&quot; Generates a plot which compares the fit to the data and displays the corresponding residuals&quot;&quot;&quot;</span>
</span><span id="L-712"><a href="#L-712"><span class="linenos">712</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Generates a plot which compares the fit to the data and displays the corresponding residuals&quot;&quot;&quot;</span>
</span><span id="L-713"><a href="#L-713"><span class="linenos">713</span></a> <span class="n">sorted_x</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
</span><span id="L-714"><a href="#L-714"><span class="linenos">714</span></a> <span class="n">xstart</span> <span class="o">=</span> <span class="n">sorted_x</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">sorted_x</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">sorted_x</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span><span id="L-715"><a href="#L-715"><span class="linenos">715</span></a> <span class="n">xstop</span> <span class="o">=</span> <span class="n">sorted_x</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">sorted_x</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">sorted_x</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">])</span>
@ -847,7 +847,7 @@
</span><span id="L-739"><a href="#L-739"><span class="linenos">739</span></a>
</span><span id="L-740"><a href="#L-740"><span class="linenos">740</span></a>
</span><span id="L-741"><a href="#L-741"><span class="linenos">741</span></a><span class="k">def</span> <span class="nf">error_band</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">beta</span><span class="p">):</span>
</span><span id="L-742"><a href="#L-742"><span class="linenos">742</span></a> <span class="sd">&quot;&quot;&quot;Returns the error band for an array of sample values x, for given fit function func with optimized parameters beta.&quot;&quot;&quot;</span>
</span><span id="L-742"><a href="#L-742"><span class="linenos">742</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns the error band for an array of sample values x, for given fit function func with optimized parameters beta.&quot;&quot;&quot;</span>
</span><span id="L-743"><a href="#L-743"><span class="linenos">743</span></a> <span class="n">cov</span> <span class="o">=</span> <span class="n">covariance</span><span class="p">(</span><span class="n">beta</span><span class="p">)</span>
</span><span id="L-744"><a href="#L-744"><span class="linenos">744</span></a> <span class="k">if</span> <span class="n">np</span><span class="o">.</span><span class="n">any</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">cov</span> <span class="o">-</span> <span class="n">cov</span><span class="o">.</span><span class="n">T</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">1000</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">finfo</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span><span class="o">.</span><span class="n">eps</span><span class="p">):</span>
</span><span id="L-745"><a href="#L-745"><span class="linenos">745</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;Covariance matrix is not symmetric within floating point precision&quot;</span><span class="p">,</span> <span class="ne">RuntimeWarning</span><span class="p">)</span>
@ -865,7 +865,7 @@
</span><span id="L-757"><a href="#L-757"><span class="linenos">757</span></a>
</span><span id="L-758"><a href="#L-758"><span class="linenos">758</span></a>
</span><span id="L-759"><a href="#L-759"><span class="linenos">759</span></a><span class="k">def</span> <span class="nf">ks_test</span><span class="p">(</span><span class="n">objects</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-760"><a href="#L-760"><span class="linenos">760</span></a> <span class="sd">&quot;&quot;&quot;Performs a KolmogorovSmirnov test for the p-values of all fit object.</span>
</span><span id="L-760"><a href="#L-760"><span class="linenos">760</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Performs a KolmogorovSmirnov test for the p-values of all fit object.</span>
</span><span id="L-761"><a href="#L-761"><span class="linenos">761</span></a>
</span><span id="L-762"><a href="#L-762"><span class="linenos">762</span></a><span class="sd"> Parameters</span>
</span><span id="L-763"><a href="#L-763"><span class="linenos">763</span></a><span class="sd"> ----------</span>
@ -918,7 +918,7 @@
</div>
<a class="headerlink" href="#Fit_result"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Fit_result-21"><a href="#Fit_result-21"><span class="linenos">21</span></a><span class="k">class</span> <span class="nc">Fit_result</span><span class="p">(</span><span class="n">Sequence</span><span class="p">):</span>
</span><span id="Fit_result-22"><a href="#Fit_result-22"><span class="linenos">22</span></a> <span class="sd">&quot;&quot;&quot;Represents fit results.</span>
</span><span id="Fit_result-22"><a href="#Fit_result-22"><span class="linenos">22</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Represents fit results.</span>
</span><span id="Fit_result-23"><a href="#Fit_result-23"><span class="linenos">23</span></a>
</span><span id="Fit_result-24"><a href="#Fit_result-24"><span class="linenos">24</span></a><span class="sd"> Attributes</span>
</span><span id="Fit_result-25"><a href="#Fit_result-25"><span class="linenos">25</span></a><span class="sd"> ----------</span>
@ -943,7 +943,7 @@
</span><span id="Fit_result-44"><a href="#Fit_result-44"><span class="linenos">44</span></a> <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">fit_parameters</span><span class="p">)</span>
</span><span id="Fit_result-45"><a href="#Fit_result-45"><span class="linenos">45</span></a>
</span><span id="Fit_result-46"><a href="#Fit_result-46"><span class="linenos">46</span></a> <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><span id="Fit_result-47"><a href="#Fit_result-47"><span class="linenos">47</span></a> <span class="sd">&quot;&quot;&quot;Apply the gamma method to all fit parameters&quot;&quot;&quot;</span>
</span><span id="Fit_result-47"><a href="#Fit_result-47"><span class="linenos">47</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Apply the gamma method to all fit parameters&quot;&quot;&quot;</span>
</span><span id="Fit_result-48"><a href="#Fit_result-48"><span class="linenos">48</span></a> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">fit_parameters</span><span class="p">]</span>
</span><span id="Fit_result-49"><a href="#Fit_result-49"><span class="linenos">49</span></a>
</span><span id="Fit_result-50"><a href="#Fit_result-50"><span class="linenos">50</span></a> <span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@ -1017,7 +1017,7 @@ Hotelling t-squared p-value for correlated fits.</li>
</div>
<a class="headerlink" href="#Fit_result.gamma_method"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Fit_result.gamma_method-46"><a href="#Fit_result.gamma_method-46"><span class="linenos">46</span></a> <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><span id="Fit_result.gamma_method-47"><a href="#Fit_result.gamma_method-47"><span class="linenos">47</span></a> <span class="sd">&quot;&quot;&quot;Apply the gamma method to all fit parameters&quot;&quot;&quot;</span>
</span><span id="Fit_result.gamma_method-47"><a href="#Fit_result.gamma_method-47"><span class="linenos">47</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Apply the gamma method to all fit parameters&quot;&quot;&quot;</span>
</span><span id="Fit_result.gamma_method-48"><a href="#Fit_result.gamma_method-48"><span class="linenos">48</span></a> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">fit_parameters</span><span class="p">]</span>
</span></pre></div>
@ -1050,7 +1050,7 @@ Hotelling t-squared p-value for correlated fits.</li>
</div>
<a class="headerlink" href="#least_squares"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="least_squares-72"><a href="#least_squares-72"><span class="linenos"> 72</span></a><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><span id="least_squares-73"><a href="#least_squares-73"><span class="linenos"> 73</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Performs a non-linear fit to y = func(x).</span>
</span><span id="least_squares-73"><a href="#least_squares-73"><span class="linenos"> 73</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Performs a non-linear fit to y = func(x).</span>
</span><span id="least_squares-74"><a href="#least_squares-74"><span class="linenos"> 74</span></a>
</span><span id="least_squares-75"><a href="#least_squares-75"><span class="linenos"> 75</span></a><span class="sd"> Parameters</span>
</span><span id="least_squares-76"><a href="#least_squares-76"><span class="linenos"> 76</span></a><span class="sd"> ----------</span>
@ -1194,7 +1194,7 @@ Use numerical differentation instead of automatic differentiation to perform the
</div>
<a class="headerlink" href="#total_least_squares"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="total_least_squares-138"><a href="#total_least_squares-138"><span class="linenos">138</span></a><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><span id="total_least_squares-139"><a href="#total_least_squares-139"><span class="linenos">139</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Performs a non-linear fit to y = func(x) and returns a list of Obs corresponding to the fit parameters.</span>
</span><span id="total_least_squares-139"><a href="#total_least_squares-139"><span class="linenos">139</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Performs a non-linear fit to y = func(x) and returns a list of Obs corresponding to the fit parameters.</span>
</span><span id="total_least_squares-140"><a href="#total_least_squares-140"><span class="linenos">140</span></a>
</span><span id="total_least_squares-141"><a href="#total_least_squares-141"><span class="linenos">141</span></a><span class="sd"> Parameters</span>
</span><span id="total_least_squares-142"><a href="#total_least_squares-142"><span class="linenos">142</span></a><span class="sd"> ----------</span>
@ -1457,7 +1457,7 @@ Use numerical differentation instead of automatic differentiation to perform the
</div>
<a class="headerlink" href="#fit_lin"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="fit_lin-660"><a href="#fit_lin-660"><span class="linenos">660</span></a><span class="k">def</span> <span class="nf">fit_lin</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="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="fit_lin-661"><a href="#fit_lin-661"><span class="linenos">661</span></a> <span class="sd">&quot;&quot;&quot;Performs a linear fit to y = n + m * x and returns two Obs n, m.</span>
</span><span id="fit_lin-661"><a href="#fit_lin-661"><span class="linenos">661</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Performs a linear fit to y = n + m * x and returns two Obs n, m.</span>
</span><span id="fit_lin-662"><a href="#fit_lin-662"><span class="linenos">662</span></a>
</span><span id="fit_lin-663"><a href="#fit_lin-663"><span class="linenos">663</span></a><span class="sd"> Parameters</span>
</span><span id="fit_lin-664"><a href="#fit_lin-664"><span class="linenos">664</span></a><span class="sd"> ----------</span>
@ -1510,7 +1510,7 @@ List of Obs, the dvalues of the Obs are used as yerror for the fit.</li>
</div>
<a class="headerlink" href="#qqplot"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="qqplot-686"><a href="#qqplot-686"><span class="linenos">686</span></a><span class="k">def</span> <span class="nf">qqplot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">o_y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">p</span><span class="p">):</span>
</span><span id="qqplot-687"><a href="#qqplot-687"><span class="linenos">687</span></a> <span class="sd">&quot;&quot;&quot;Generates a quantile-quantile plot of the fit result which can be used to</span>
</span><span id="qqplot-687"><a href="#qqplot-687"><span class="linenos">687</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Generates a quantile-quantile plot of the fit result which can be used to</span>
</span><span id="qqplot-688"><a href="#qqplot-688"><span class="linenos">688</span></a><span class="sd"> check if the residuals of the fit are gaussian distributed.</span>
</span><span id="qqplot-689"><a href="#qqplot-689"><span class="linenos">689</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="qqplot-690"><a href="#qqplot-690"><span class="linenos">690</span></a>
@ -1554,7 +1554,7 @@ check if the residuals of the fit are gaussian distributed.</p>
</div>
<a class="headerlink" href="#residual_plot"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="residual_plot-712"><a href="#residual_plot-712"><span class="linenos">712</span></a><span class="k">def</span> <span class="nf">residual_plot</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">fit_res</span><span class="p">):</span>
</span><span id="residual_plot-713"><a href="#residual_plot-713"><span class="linenos">713</span></a> <span class="sd">&quot;&quot;&quot; Generates a plot which compares the fit to the data and displays the corresponding residuals&quot;&quot;&quot;</span>
</span><span id="residual_plot-713"><a href="#residual_plot-713"><span class="linenos">713</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Generates a plot which compares the fit to the data and displays the corresponding residuals&quot;&quot;&quot;</span>
</span><span id="residual_plot-714"><a href="#residual_plot-714"><span class="linenos">714</span></a> <span class="n">sorted_x</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
</span><span id="residual_plot-715"><a href="#residual_plot-715"><span class="linenos">715</span></a> <span class="n">xstart</span> <span class="o">=</span> <span class="n">sorted_x</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">sorted_x</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">sorted_x</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span><span id="residual_plot-716"><a href="#residual_plot-716"><span class="linenos">716</span></a> <span class="n">xstop</span> <span class="o">=</span> <span class="n">sorted_x</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">sorted_x</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">sorted_x</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">])</span>
@ -1601,7 +1601,7 @@ check if the residuals of the fit are gaussian distributed.</p>
</div>
<a class="headerlink" href="#error_band"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="error_band-742"><a href="#error_band-742"><span class="linenos">742</span></a><span class="k">def</span> <span class="nf">error_band</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">beta</span><span class="p">):</span>
</span><span id="error_band-743"><a href="#error_band-743"><span class="linenos">743</span></a> <span class="sd">&quot;&quot;&quot;Returns the error band for an array of sample values x, for given fit function func with optimized parameters beta.&quot;&quot;&quot;</span>
</span><span id="error_band-743"><a href="#error_band-743"><span class="linenos">743</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns the error band for an array of sample values x, for given fit function func with optimized parameters beta.&quot;&quot;&quot;</span>
</span><span id="error_band-744"><a href="#error_band-744"><span class="linenos">744</span></a> <span class="n">cov</span> <span class="o">=</span> <span class="n">covariance</span><span class="p">(</span><span class="n">beta</span><span class="p">)</span>
</span><span id="error_band-745"><a href="#error_band-745"><span class="linenos">745</span></a> <span class="k">if</span> <span class="n">np</span><span class="o">.</span><span class="n">any</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">cov</span> <span class="o">-</span> <span class="n">cov</span><span class="o">.</span><span class="n">T</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">1000</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">finfo</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span><span class="o">.</span><span class="n">eps</span><span class="p">):</span>
</span><span id="error_band-746"><a href="#error_band-746"><span class="linenos">746</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;Covariance matrix is not symmetric within floating point precision&quot;</span><span class="p">,</span> <span class="ne">RuntimeWarning</span><span class="p">)</span>
@ -1636,7 +1636,7 @@ check if the residuals of the fit are gaussian distributed.</p>
</div>
<a class="headerlink" href="#ks_test"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="ks_test-760"><a href="#ks_test-760"><span class="linenos">760</span></a><span class="k">def</span> <span class="nf">ks_test</span><span class="p">(</span><span class="n">objects</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="ks_test-761"><a href="#ks_test-761"><span class="linenos">761</span></a> <span class="sd">&quot;&quot;&quot;Performs a KolmogorovSmirnov test for the p-values of all fit object.</span>
</span><span id="ks_test-761"><a href="#ks_test-761"><span class="linenos">761</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Performs a KolmogorovSmirnov test for the p-values of all fit object.</span>
</span><span id="ks_test-762"><a href="#ks_test-762"><span class="linenos">762</span></a>
</span><span id="ks_test-763"><a href="#ks_test-763"><span class="linenos">763</span></a><span class="sd"> Parameters</span>
</span><span id="ks_test-764"><a href="#ks_test-764"><span class="linenos">764</span></a><span class="sd"> ----------</span>

View file

@ -92,7 +92,7 @@
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a>
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a>
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="k">def</span> <span class="nf">read_ADerrors</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">&#39;./libbdio.so&#39;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a> <span class="sd">&quot;&quot;&quot; Extract generic MCMC data from a bdio file</span>
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Extract generic MCMC data from a bdio file</span>
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a>
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="sd"> read_ADerrors requires bdio to be compiled into a shared library. This can be achieved by</span>
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a><span class="sd"> adding the flag -fPIC to CC and changing the all target to</span>
@ -243,7 +243,7 @@
</span><span id="L-156"><a href="#L-156"><span class="linenos">156</span></a>
</span><span id="L-157"><a href="#L-157"><span class="linenos">157</span></a>
</span><span id="L-158"><a href="#L-158"><span class="linenos">158</span></a><span class="k">def</span> <span class="nf">write_ADerrors</span><span class="p">(</span><span class="n">obs_list</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">&#39;./libbdio.so&#39;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-159"><a href="#L-159"><span class="linenos">159</span></a> <span class="sd">&quot;&quot;&quot; Write Obs to a bdio file according to ADerrors conventions</span>
</span><span id="L-159"><a href="#L-159"><span class="linenos">159</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Write Obs to a bdio file according to ADerrors conventions</span>
</span><span id="L-160"><a href="#L-160"><span class="linenos">160</span></a>
</span><span id="L-161"><a href="#L-161"><span class="linenos">161</span></a><span class="sd"> read_mesons requires bdio to be compiled into a shared library. This can be achieved by</span>
</span><span id="L-162"><a href="#L-162"><span class="linenos">162</span></a><span class="sd"> adding the flag -fPIC to CC and changing the all target to</span>
@ -376,7 +376,7 @@
</span><span id="L-289"><a href="#L-289"><span class="linenos">289</span></a>
</span><span id="L-290"><a href="#L-290"><span class="linenos">290</span></a>
</span><span id="L-291"><a href="#L-291"><span class="linenos">291</span></a><span class="k">def</span> <span class="nf">read_mesons</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">&#39;./libbdio.so&#39;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-292"><a href="#L-292"><span class="linenos">292</span></a> <span class="sd">&quot;&quot;&quot; Extract mesons data from a bdio file and return it as a dictionary</span>
</span><span id="L-292"><a href="#L-292"><span class="linenos">292</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Extract mesons data from a bdio file and return it as a dictionary</span>
</span><span id="L-293"><a href="#L-293"><span class="linenos">293</span></a>
</span><span id="L-294"><a href="#L-294"><span class="linenos">294</span></a><span class="sd"> The dictionary can be accessed with a tuple consisting of (type, source_position, kappa1, kappa2)</span>
</span><span id="L-295"><a href="#L-295"><span class="linenos">295</span></a>
@ -586,7 +586,7 @@
</span><span id="L-499"><a href="#L-499"><span class="linenos">499</span></a>
</span><span id="L-500"><a href="#L-500"><span class="linenos">500</span></a>
</span><span id="L-501"><a href="#L-501"><span class="linenos">501</span></a><span class="k">def</span> <span class="nf">read_dSdm</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">&#39;./libbdio.so&#39;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-502"><a href="#L-502"><span class="linenos">502</span></a> <span class="sd">&quot;&quot;&quot; Extract dSdm data from a bdio file and return it as a dictionary</span>
</span><span id="L-502"><a href="#L-502"><span class="linenos">502</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Extract dSdm data from a bdio file and return it as a dictionary</span>
</span><span id="L-503"><a href="#L-503"><span class="linenos">503</span></a>
</span><span id="L-504"><a href="#L-504"><span class="linenos">504</span></a><span class="sd"> The dictionary can be accessed with a tuple consisting of (type, kappa)</span>
</span><span id="L-505"><a href="#L-505"><span class="linenos">505</span></a>
@ -780,7 +780,7 @@
</div>
<a class="headerlink" href="#read_ADerrors"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_ADerrors-8"><a href="#read_ADerrors-8"><span class="linenos"> 8</span></a><span class="k">def</span> <span class="nf">read_ADerrors</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">&#39;./libbdio.so&#39;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="read_ADerrors-9"><a href="#read_ADerrors-9"><span class="linenos"> 9</span></a> <span class="sd">&quot;&quot;&quot; Extract generic MCMC data from a bdio file</span>
</span><span id="read_ADerrors-9"><a href="#read_ADerrors-9"><span class="linenos"> 9</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Extract generic MCMC data from a bdio file</span>
</span><span id="read_ADerrors-10"><a href="#read_ADerrors-10"><span class="linenos"> 10</span></a>
</span><span id="read_ADerrors-11"><a href="#read_ADerrors-11"><span class="linenos"> 11</span></a><span class="sd"> read_ADerrors requires bdio to be compiled into a shared library. This can be achieved by</span>
</span><span id="read_ADerrors-12"><a href="#read_ADerrors-12"><span class="linenos"> 12</span></a><span class="sd"> adding the flag -fPIC to CC and changing the all target to</span>
@ -962,7 +962,7 @@ adding the flag -fPIC to CC and changing the all target to</p>
</div>
<a class="headerlink" href="#write_ADerrors"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="write_ADerrors-159"><a href="#write_ADerrors-159"><span class="linenos">159</span></a><span class="k">def</span> <span class="nf">write_ADerrors</span><span class="p">(</span><span class="n">obs_list</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">&#39;./libbdio.so&#39;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="write_ADerrors-160"><a href="#write_ADerrors-160"><span class="linenos">160</span></a> <span class="sd">&quot;&quot;&quot; Write Obs to a bdio file according to ADerrors conventions</span>
</span><span id="write_ADerrors-160"><a href="#write_ADerrors-160"><span class="linenos">160</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Write Obs to a bdio file according to ADerrors conventions</span>
</span><span id="write_ADerrors-161"><a href="#write_ADerrors-161"><span class="linenos">161</span></a>
</span><span id="write_ADerrors-162"><a href="#write_ADerrors-162"><span class="linenos">162</span></a><span class="sd"> read_mesons requires bdio to be compiled into a shared library. This can be achieved by</span>
</span><span id="write_ADerrors-163"><a href="#write_ADerrors-163"><span class="linenos">163</span></a><span class="sd"> adding the flag -fPIC to CC and changing the all target to</span>
@ -1118,7 +1118,7 @@ adding the flag -fPIC to CC and changing the all target to</p>
</div>
<a class="headerlink" href="#read_mesons"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_mesons-292"><a href="#read_mesons-292"><span class="linenos">292</span></a><span class="k">def</span> <span class="nf">read_mesons</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">&#39;./libbdio.so&#39;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="read_mesons-293"><a href="#read_mesons-293"><span class="linenos">293</span></a> <span class="sd">&quot;&quot;&quot; Extract mesons data from a bdio file and return it as a dictionary</span>
</span><span id="read_mesons-293"><a href="#read_mesons-293"><span class="linenos">293</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Extract mesons data from a bdio file and return it as a dictionary</span>
</span><span id="read_mesons-294"><a href="#read_mesons-294"><span class="linenos">294</span></a>
</span><span id="read_mesons-295"><a href="#read_mesons-295"><span class="linenos">295</span></a><span class="sd"> The dictionary can be accessed with a tuple consisting of (type, source_position, kappa1, kappa2)</span>
</span><span id="read_mesons-296"><a href="#read_mesons-296"><span class="linenos">296</span></a>
@ -1371,7 +1371,7 @@ Manually overwrite ensemble name</li>
</div>
<a class="headerlink" href="#read_dSdm"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_dSdm-502"><a href="#read_dSdm-502"><span class="linenos">502</span></a><span class="k">def</span> <span class="nf">read_dSdm</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">&#39;./libbdio.so&#39;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="read_dSdm-503"><a href="#read_dSdm-503"><span class="linenos">503</span></a> <span class="sd">&quot;&quot;&quot; Extract dSdm data from a bdio file and return it as a dictionary</span>
</span><span id="read_dSdm-503"><a href="#read_dSdm-503"><span class="linenos">503</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Extract dSdm data from a bdio file and return it as a dictionary</span>
</span><span id="read_dSdm-504"><a href="#read_dSdm-504"><span class="linenos">504</span></a>
</span><span id="read_dSdm-505"><a href="#read_dSdm-505"><span class="linenos">505</span></a><span class="sd"> The dictionary can be accessed with a tuple consisting of (type, kappa)</span>
</span><span id="read_dSdm-506"><a href="#read_dSdm-506"><span class="linenos">506</span></a>

View file

@ -111,7 +111,7 @@
</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a>
</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a><span class="c1"># Based on https://stackoverflow.com/a/10076823</span>
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a><span class="k">def</span> <span class="nf">_etree_to_dict</span><span class="p">(</span><span class="n">t</span><span class="p">):</span>
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a> <span class="sd">&quot;&quot;&quot; Convert the content of an XML file to a python dict&quot;&quot;&quot;</span>
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Convert the content of an XML file to a python dict&quot;&quot;&quot;</span>
</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a> <span class="n">d</span> <span class="o">=</span> <span class="p">{</span><span class="n">t</span><span class="o">.</span><span class="n">tag</span><span class="p">:</span> <span class="p">{}</span> <span class="k">if</span> <span class="n">t</span><span class="o">.</span><span class="n">attrib</span> <span class="k">else</span> <span class="kc">None</span><span class="p">}</span>
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a> <span class="n">children</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t</span><span class="p">)</span>
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a> <span class="k">if</span> <span class="n">children</span><span class="p">:</span>
@ -182,7 +182,7 @@
</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a>
</span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</span></a>
</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a><span class="k">def</span> <span class="nf">create_pobs_string</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">enstag</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a> <span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to an xml string</span>
</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to an xml string</span>
</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a><span class="sd"> according to the Zeuthen pobs format.</span>
</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a>
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a><span class="sd"> Tags are not written or recovered automatically. The separator | is removed from the replica names.</span>
@ -268,7 +268,7 @@
</span><span id="L-172"><a href="#L-172"><span class="linenos">172</span></a>
</span><span id="L-173"><a href="#L-173"><span class="linenos">173</span></a>
</span><span id="L-174"><a href="#L-174"><span class="linenos">174</span></a><span class="k">def</span> <span class="nf">write_pobs</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">enstag</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="L-175"><a href="#L-175"><span class="linenos">175</span></a> <span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to a .xml.gz file</span>
</span><span id="L-175"><a href="#L-175"><span class="linenos">175</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to a .xml.gz file</span>
</span><span id="L-176"><a href="#L-176"><span class="linenos">176</span></a><span class="sd"> according to the Zeuthen pobs format.</span>
</span><span id="L-177"><a href="#L-177"><span class="linenos">177</span></a>
</span><span id="L-178"><a href="#L-178"><span class="linenos">178</span></a><span class="sd"> Tags are not written or recovered automatically. The separator | is removed from the replica names.</span>
@ -320,7 +320,7 @@
</span><span id="L-224"><a href="#L-224"><span class="linenos">224</span></a>
</span><span id="L-225"><a href="#L-225"><span class="linenos">225</span></a>
</span><span id="L-226"><a href="#L-226"><span class="linenos">226</span></a><span class="k">class</span> <span class="nc">_NoTagInDataError</span><span class="p">(</span><span class="ne">Exception</span><span class="p">):</span>
</span><span id="L-227"><a href="#L-227"><span class="linenos">227</span></a> <span class="sd">&quot;&quot;&quot;Raised when tag is not in data&quot;&quot;&quot;</span>
</span><span id="L-227"><a href="#L-227"><span class="linenos">227</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Raised when tag is not in data&quot;&quot;&quot;</span>
</span><span id="L-228"><a href="#L-228"><span class="linenos">228</span></a> <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">tag</span><span class="p">):</span>
</span><span id="L-229"><a href="#L-229"><span class="linenos">229</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">tag</span>
</span><span id="L-230"><a href="#L-230"><span class="linenos">230</span></a> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="s1">&#39;Tag </span><span class="si">%s</span><span class="s1"> not in data!&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tag</span><span class="p">))</span>
@ -385,7 +385,7 @@
</span><span id="L-289"><a href="#L-289"><span class="linenos">289</span></a>
</span><span id="L-290"><a href="#L-290"><span class="linenos">290</span></a>
</span><span id="L-291"><a href="#L-291"><span class="linenos">291</span></a><span class="k">def</span> <span class="nf">read_pobs</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-292"><a href="#L-292"><span class="linenos">292</span></a> <span class="sd">&quot;&quot;&quot;Import a list of Obs from an xml.gz file in the Zeuthen pobs format.</span>
</span><span id="L-292"><a href="#L-292"><span class="linenos">292</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Import a list of Obs from an xml.gz file in the Zeuthen pobs format.</span>
</span><span id="L-293"><a href="#L-293"><span class="linenos">293</span></a>
</span><span id="L-294"><a href="#L-294"><span class="linenos">294</span></a><span class="sd"> Tags are not written or recovered automatically.</span>
</span><span id="L-295"><a href="#L-295"><span class="linenos">295</span></a>
@ -477,7 +477,7 @@
</span><span id="L-381"><a href="#L-381"><span class="linenos">381</span></a>
</span><span id="L-382"><a href="#L-382"><span class="linenos">382</span></a><span class="c1"># this is based on Mattia Bruno&#39;s implementation at https://github.com/mbruno46/pyobs/blob/master/pyobs/IO/xml.py</span>
</span><span id="L-383"><a href="#L-383"><span class="linenos">383</span></a><span class="k">def</span> <span class="nf">import_dobs_string</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">noempty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="L-384"><a href="#L-384"><span class="linenos">384</span></a> <span class="sd">&quot;&quot;&quot;Import a list of Obs from a string in the Zeuthen dobs format.</span>
</span><span id="L-384"><a href="#L-384"><span class="linenos">384</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Import a list of Obs from a string in the Zeuthen dobs format.</span>
</span><span id="L-385"><a href="#L-385"><span class="linenos">385</span></a>
</span><span id="L-386"><a href="#L-386"><span class="linenos">386</span></a><span class="sd"> Tags are not written or recovered automatically.</span>
</span><span id="L-387"><a href="#L-387"><span class="linenos">387</span></a>
@ -640,7 +640,7 @@
</span><span id="L-544"><a href="#L-544"><span class="linenos">544</span></a>
</span><span id="L-545"><a href="#L-545"><span class="linenos">545</span></a>
</span><span id="L-546"><a href="#L-546"><span class="linenos">546</span></a><span class="k">def</span> <span class="nf">read_dobs</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">noempty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="L-547"><a href="#L-547"><span class="linenos">547</span></a> <span class="sd">&quot;&quot;&quot;Import a list of Obs from an xml.gz file in the Zeuthen dobs format.</span>
</span><span id="L-547"><a href="#L-547"><span class="linenos">547</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Import a list of Obs from an xml.gz file in the Zeuthen dobs format.</span>
</span><span id="L-548"><a href="#L-548"><span class="linenos">548</span></a>
</span><span id="L-549"><a href="#L-549"><span class="linenos">549</span></a><span class="sd"> Tags are not written or recovered automatically.</span>
</span><span id="L-550"><a href="#L-550"><span class="linenos">550</span></a>
@ -741,7 +741,7 @@
</span><span id="L-645"><a href="#L-645"><span class="linenos">645</span></a>
</span><span id="L-646"><a href="#L-646"><span class="linenos">646</span></a>
</span><span id="L-647"><a href="#L-647"><span class="linenos">647</span></a><span class="k">def</span> <span class="nf">create_dobs_string</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">&#39;dobs v1.0&#39;</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">who</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enstags</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-648"><a href="#L-648"><span class="linenos">648</span></a> <span class="sd">&quot;&quot;&quot;Generate the string for the export of a list of Obs or structures containing Obs</span>
</span><span id="L-648"><a href="#L-648"><span class="linenos">648</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Generate the string for the export of a list of Obs or structures containing Obs</span>
</span><span id="L-649"><a href="#L-649"><span class="linenos">649</span></a><span class="sd"> to a .xml.gz file according to the Zeuthen dobs format.</span>
</span><span id="L-650"><a href="#L-650"><span class="linenos">650</span></a>
</span><span id="L-651"><a href="#L-651"><span class="linenos">651</span></a><span class="sd"> Tags are not written or recovered automatically. The separator |is removed from the replica names.</span>
@ -925,7 +925,7 @@
</span><span id="L-829"><a href="#L-829"><span class="linenos">829</span></a>
</span><span id="L-830"><a href="#L-830"><span class="linenos">830</span></a>
</span><span id="L-831"><a href="#L-831"><span class="linenos">831</span></a><span class="k">def</span> <span class="nf">write_dobs</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">&#39;dobs v1.0&#39;</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">who</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enstags</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="L-832"><a href="#L-832"><span class="linenos">832</span></a> <span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to a .xml.gz file</span>
</span><span id="L-832"><a href="#L-832"><span class="linenos">832</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to a .xml.gz file</span>
</span><span id="L-833"><a href="#L-833"><span class="linenos">833</span></a><span class="sd"> according to the Zeuthen dobs format.</span>
</span><span id="L-834"><a href="#L-834"><span class="linenos">834</span></a>
</span><span id="L-835"><a href="#L-835"><span class="linenos">835</span></a><span class="sd"> Tags are not written or recovered automatically. The separator | is removed from the replica names.</span>
@ -988,7 +988,7 @@
</div>
<a class="headerlink" href="#create_pobs_string"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="create_pobs_string-89"><a href="#create_pobs_string-89"><span class="linenos"> 89</span></a><span class="k">def</span> <span class="nf">create_pobs_string</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">enstag</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="create_pobs_string-90"><a href="#create_pobs_string-90"><span class="linenos"> 90</span></a> <span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to an xml string</span>
</span><span id="create_pobs_string-90"><a href="#create_pobs_string-90"><span class="linenos"> 90</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to an xml string</span>
</span><span id="create_pobs_string-91"><a href="#create_pobs_string-91"><span class="linenos"> 91</span></a><span class="sd"> according to the Zeuthen pobs format.</span>
</span><span id="create_pobs_string-92"><a href="#create_pobs_string-92"><span class="linenos"> 92</span></a>
</span><span id="create_pobs_string-93"><a href="#create_pobs_string-93"><span class="linenos"> 93</span></a><span class="sd"> Tags are not written or recovered automatically. The separator | is removed from the replica names.</span>
@ -1112,7 +1112,7 @@ Enstag that is written to pobs. If None, the ensemble name is used.</li>
</div>
<a class="headerlink" href="#write_pobs"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="write_pobs-175"><a href="#write_pobs-175"><span class="linenos">175</span></a><span class="k">def</span> <span class="nf">write_pobs</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">enstag</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="write_pobs-176"><a href="#write_pobs-176"><span class="linenos">176</span></a> <span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to a .xml.gz file</span>
</span><span id="write_pobs-176"><a href="#write_pobs-176"><span class="linenos">176</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to a .xml.gz file</span>
</span><span id="write_pobs-177"><a href="#write_pobs-177"><span class="linenos">177</span></a><span class="sd"> according to the Zeuthen pobs format.</span>
</span><span id="write_pobs-178"><a href="#write_pobs-178"><span class="linenos">178</span></a>
</span><span id="write_pobs-179"><a href="#write_pobs-179"><span class="linenos">179</span></a><span class="sd"> Tags are not written or recovered automatically. The separator | is removed from the replica names.</span>
@ -1197,7 +1197,7 @@ If True, the output is a gzipped xml. If False, the output is an xml file.</li>
</div>
<a class="headerlink" href="#read_pobs"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_pobs-292"><a href="#read_pobs-292"><span class="linenos">292</span></a><span class="k">def</span> <span class="nf">read_pobs</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="read_pobs-293"><a href="#read_pobs-293"><span class="linenos">293</span></a> <span class="sd">&quot;&quot;&quot;Import a list of Obs from an xml.gz file in the Zeuthen pobs format.</span>
</span><span id="read_pobs-293"><a href="#read_pobs-293"><span class="linenos">293</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Import a list of Obs from an xml.gz file in the Zeuthen pobs format.</span>
</span><span id="read_pobs-294"><a href="#read_pobs-294"><span class="linenos">294</span></a>
</span><span id="read_pobs-295"><a href="#read_pobs-295"><span class="linenos">295</span></a><span class="sd"> Tags are not written or recovered automatically.</span>
</span><span id="read_pobs-296"><a href="#read_pobs-296"><span class="linenos">296</span></a>
@ -1322,7 +1322,7 @@ None (default): Replica names remain unchanged.</li>
</div>
<a class="headerlink" href="#import_dobs_string"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="import_dobs_string-384"><a href="#import_dobs_string-384"><span class="linenos">384</span></a><span class="k">def</span> <span class="nf">import_dobs_string</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">noempty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="import_dobs_string-385"><a href="#import_dobs_string-385"><span class="linenos">385</span></a> <span class="sd">&quot;&quot;&quot;Import a list of Obs from a string in the Zeuthen dobs format.</span>
</span><span id="import_dobs_string-385"><a href="#import_dobs_string-385"><span class="linenos">385</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Import a list of Obs from a string in the Zeuthen dobs format.</span>
</span><span id="import_dobs_string-386"><a href="#import_dobs_string-386"><span class="linenos">386</span></a>
</span><span id="import_dobs_string-387"><a href="#import_dobs_string-387"><span class="linenos">387</span></a><span class="sd"> Tags are not written or recovered automatically.</span>
</span><span id="import_dobs_string-388"><a href="#import_dobs_string-388"><span class="linenos">388</span></a>
@ -1524,7 +1524,7 @@ None or False: No separator is inserted.</li>
</div>
<a class="headerlink" href="#read_dobs"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_dobs-547"><a href="#read_dobs-547"><span class="linenos">547</span></a><span class="k">def</span> <span class="nf">read_dobs</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">noempty</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="read_dobs-548"><a href="#read_dobs-548"><span class="linenos">548</span></a> <span class="sd">&quot;&quot;&quot;Import a list of Obs from an xml.gz file in the Zeuthen dobs format.</span>
</span><span id="read_dobs-548"><a href="#read_dobs-548"><span class="linenos">548</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Import a list of Obs from an xml.gz file in the Zeuthen dobs format.</span>
</span><span id="read_dobs-549"><a href="#read_dobs-549"><span class="linenos">549</span></a>
</span><span id="read_dobs-550"><a href="#read_dobs-550"><span class="linenos">550</span></a><span class="sd"> Tags are not written or recovered automatically.</span>
</span><span id="read_dobs-551"><a href="#read_dobs-551"><span class="linenos">551</span></a>
@ -1607,7 +1607,7 @@ None or False: No separator is inserted.</li>
</div>
<a class="headerlink" href="#create_dobs_string"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="create_dobs_string-648"><a href="#create_dobs_string-648"><span class="linenos">648</span></a><span class="k">def</span> <span class="nf">create_dobs_string</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">&#39;dobs v1.0&#39;</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">who</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enstags</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="create_dobs_string-649"><a href="#create_dobs_string-649"><span class="linenos">649</span></a> <span class="sd">&quot;&quot;&quot;Generate the string for the export of a list of Obs or structures containing Obs</span>
</span><span id="create_dobs_string-649"><a href="#create_dobs_string-649"><span class="linenos">649</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Generate the string for the export of a list of Obs or structures containing Obs</span>
</span><span id="create_dobs_string-650"><a href="#create_dobs_string-650"><span class="linenos">650</span></a><span class="sd"> to a .xml.gz file according to the Zeuthen dobs format.</span>
</span><span id="create_dobs_string-651"><a href="#create_dobs_string-651"><span class="linenos">651</span></a>
</span><span id="create_dobs_string-652"><a href="#create_dobs_string-652"><span class="linenos">652</span></a><span class="sd"> Tags are not written or recovered automatically. The separator |is removed from the replica names.</span>
@ -1833,7 +1833,7 @@ Otherwise, the ensemble name is used.</li>
</div>
<a class="headerlink" href="#write_dobs"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="write_dobs-832"><a href="#write_dobs-832"><span class="linenos">832</span></a><span class="k">def</span> <span class="nf">write_dobs</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">&#39;dobs v1.0&#39;</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">who</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enstags</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="write_dobs-833"><a href="#write_dobs-833"><span class="linenos">833</span></a> <span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to a .xml.gz file</span>
</span><span id="write_dobs-833"><a href="#write_dobs-833"><span class="linenos">833</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to a .xml.gz file</span>
</span><span id="write_dobs-834"><a href="#write_dobs-834"><span class="linenos">834</span></a><span class="sd"> according to the Zeuthen dobs format.</span>
</span><span id="write_dobs-835"><a href="#write_dobs-835"><span class="linenos">835</span></a>
</span><span id="write_dobs-836"><a href="#write_dobs-836"><span class="linenos">836</span></a><span class="sd"> Tags are not written or recovered automatically. The separator | is removed from the replica names.</span>

View file

@ -156,7 +156,7 @@
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a>
</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a>
</span><span id="L-56"><a href="#L-56"><span class="linenos"> 56</span></a><span class="k">def</span> <span class="nf">read_meson_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">meson</span><span class="o">=</span><span class="s1">&#39;meson_0&#39;</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">gammas</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-57"><a href="#L-57"><span class="linenos"> 57</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Read hadrons meson hdf5 file and extract the meson labeled &#39;meson&#39;</span>
</span><span id="L-57"><a href="#L-57"><span class="linenos"> 57</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Read hadrons meson hdf5 file and extract the meson labeled &#39;meson&#39;</span>
</span><span id="L-58"><a href="#L-58"><span class="linenos"> 58</span></a>
</span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a><span class="sd"> Parameters</span>
</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a><span class="sd"> -----------------</span>
@ -219,7 +219,7 @@
</span><span id="L-117"><a href="#L-117"><span class="linenos">117</span></a>
</span><span id="L-118"><a href="#L-118"><span class="linenos">118</span></a>
</span><span id="L-119"><a href="#L-119"><span class="linenos">119</span></a><span class="k">def</span> <span class="nf">read_DistillationContraction_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">diagrams</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;direct&quot;</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a> <span class="sd">&quot;&quot;&quot;Read hadrons DistillationContraction hdf5 files in given directory structure</span>
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read hadrons DistillationContraction hdf5 files in given directory structure</span>
</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a>
</span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a><span class="sd"> Parameters</span>
</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a><span class="sd"> -----------------</span>
@ -317,7 +317,7 @@
</span><span id="L-215"><a href="#L-215"><span class="linenos">215</span></a>
</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="nd">@property</span>
</span><span id="L-217"><a href="#L-217"><span class="linenos">217</span></a> <span class="k">def</span> <span class="nf">g5H</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="L-218"><a href="#L-218"><span class="linenos">218</span></a> <span class="sd">&quot;&quot;&quot;Gamma_5 hermitean conjugate</span>
</span><span id="L-218"><a href="#L-218"><span class="linenos">218</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Gamma_5 hermitean conjugate</span>
</span><span id="L-219"><a href="#L-219"><span class="linenos">219</span></a>
</span><span id="L-220"><a href="#L-220"><span class="linenos">220</span></a><span class="sd"> Uses the fact that the propagator is gamma5 hermitean, so just the</span>
</span><span id="L-221"><a href="#L-221"><span class="linenos">221</span></a><span class="sd"> in and out momenta of the propagator are exchanged.</span>
@ -348,7 +348,7 @@
</span><span id="L-246"><a href="#L-246"><span class="linenos">246</span></a>
</span><span id="L-247"><a href="#L-247"><span class="linenos">247</span></a>
</span><span id="L-248"><a href="#L-248"><span class="linenos">248</span></a><span class="k">def</span> <span class="nf">read_ExternalLeg_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-249"><a href="#L-249"><span class="linenos">249</span></a> <span class="sd">&quot;&quot;&quot;Read hadrons ExternalLeg hdf5 file and output an array of CObs</span>
</span><span id="L-249"><a href="#L-249"><span class="linenos">249</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read hadrons ExternalLeg hdf5 file and output an array of CObs</span>
</span><span id="L-250"><a href="#L-250"><span class="linenos">250</span></a>
</span><span id="L-251"><a href="#L-251"><span class="linenos">251</span></a><span class="sd"> Parameters</span>
</span><span id="L-252"><a href="#L-252"><span class="linenos">252</span></a><span class="sd"> ----------</span>
@ -388,7 +388,7 @@
</span><span id="L-286"><a href="#L-286"><span class="linenos">286</span></a>
</span><span id="L-287"><a href="#L-287"><span class="linenos">287</span></a>
</span><span id="L-288"><a href="#L-288"><span class="linenos">288</span></a><span class="k">def</span> <span class="nf">read_Bilinear_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-289"><a href="#L-289"><span class="linenos">289</span></a> <span class="sd">&quot;&quot;&quot;Read hadrons Bilinear hdf5 file and output an array of CObs</span>
</span><span id="L-289"><a href="#L-289"><span class="linenos">289</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read hadrons Bilinear hdf5 file and output an array of CObs</span>
</span><span id="L-290"><a href="#L-290"><span class="linenos">290</span></a>
</span><span id="L-291"><a href="#L-291"><span class="linenos">291</span></a><span class="sd"> Parameters</span>
</span><span id="L-292"><a href="#L-292"><span class="linenos">292</span></a><span class="sd"> ----------</span>
@ -442,7 +442,7 @@
</span><span id="L-340"><a href="#L-340"><span class="linenos">340</span></a>
</span><span id="L-341"><a href="#L-341"><span class="linenos">341</span></a>
</span><span id="L-342"><a href="#L-342"><span class="linenos">342</span></a><span class="k">def</span> <span class="nf">read_Fourquark_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</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">vertices</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;VA&quot;</span><span class="p">,</span> <span class="s2">&quot;AV&quot;</span><span class="p">]):</span>
</span><span id="L-343"><a href="#L-343"><span class="linenos">343</span></a> <span class="sd">&quot;&quot;&quot;Read hadrons FourquarkFullyConnected hdf5 file and output an array of CObs</span>
</span><span id="L-343"><a href="#L-343"><span class="linenos">343</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read hadrons FourquarkFullyConnected hdf5 file and output an array of CObs</span>
</span><span id="L-344"><a href="#L-344"><span class="linenos">344</span></a>
</span><span id="L-345"><a href="#L-345"><span class="linenos">345</span></a><span class="sd"> Parameters</span>
</span><span id="L-346"><a href="#L-346"><span class="linenos">346</span></a><span class="sd"> ----------</span>
@ -579,7 +579,7 @@
</div>
<a class="headerlink" href="#read_meson_hd5"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_meson_hd5-57"><a href="#read_meson_hd5-57"><span class="linenos"> 57</span></a><span class="k">def</span> <span class="nf">read_meson_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">meson</span><span class="o">=</span><span class="s1">&#39;meson_0&#39;</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">gammas</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="read_meson_hd5-58"><a href="#read_meson_hd5-58"><span class="linenos"> 58</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Read hadrons meson hdf5 file and extract the meson labeled &#39;meson&#39;</span>
</span><span id="read_meson_hd5-58"><a href="#read_meson_hd5-58"><span class="linenos"> 58</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Read hadrons meson hdf5 file and extract the meson labeled &#39;meson&#39;</span>
</span><span id="read_meson_hd5-59"><a href="#read_meson_hd5-59"><span class="linenos"> 59</span></a>
</span><span id="read_meson_hd5-60"><a href="#read_meson_hd5-60"><span class="linenos"> 60</span></a><span class="sd"> Parameters</span>
</span><span id="read_meson_hd5-61"><a href="#read_meson_hd5-61"><span class="linenos"> 61</span></a><span class="sd"> -----------------</span>
@ -680,7 +680,7 @@ If specified only configurations in the given range are read in.</li>
</div>
<a class="headerlink" href="#read_DistillationContraction_hd5"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_DistillationContraction_hd5-120"><a href="#read_DistillationContraction_hd5-120"><span class="linenos">120</span></a><span class="k">def</span> <span class="nf">read_DistillationContraction_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">diagrams</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;direct&quot;</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="read_DistillationContraction_hd5-121"><a href="#read_DistillationContraction_hd5-121"><span class="linenos">121</span></a> <span class="sd">&quot;&quot;&quot;Read hadrons DistillationContraction hdf5 files in given directory structure</span>
</span><span id="read_DistillationContraction_hd5-121"><a href="#read_DistillationContraction_hd5-121"><span class="linenos">121</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read hadrons DistillationContraction hdf5 files in given directory structure</span>
</span><span id="read_DistillationContraction_hd5-122"><a href="#read_DistillationContraction_hd5-122"><span class="linenos">122</span></a>
</span><span id="read_DistillationContraction_hd5-123"><a href="#read_DistillationContraction_hd5-123"><span class="linenos">123</span></a><span class="sd"> Parameters</span>
</span><span id="read_DistillationContraction_hd5-124"><a href="#read_DistillationContraction_hd5-124"><span class="linenos">124</span></a><span class="sd"> -----------------</span>
@ -808,7 +808,7 @@ If specified only configurations in the given range are read in.</li>
</span><span id="Npr_matrix-216"><a href="#Npr_matrix-216"><span class="linenos">216</span></a>
</span><span id="Npr_matrix-217"><a href="#Npr_matrix-217"><span class="linenos">217</span></a> <span class="nd">@property</span>
</span><span id="Npr_matrix-218"><a href="#Npr_matrix-218"><span class="linenos">218</span></a> <span class="k">def</span> <span class="nf">g5H</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Npr_matrix-219"><a href="#Npr_matrix-219"><span class="linenos">219</span></a> <span class="sd">&quot;&quot;&quot;Gamma_5 hermitean conjugate</span>
</span><span id="Npr_matrix-219"><a href="#Npr_matrix-219"><span class="linenos">219</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Gamma_5 hermitean conjugate</span>
</span><span id="Npr_matrix-220"><a href="#Npr_matrix-220"><span class="linenos">220</span></a>
</span><span id="Npr_matrix-221"><a href="#Npr_matrix-221"><span class="linenos">221</span></a><span class="sd"> Uses the fact that the propagator is gamma5 hermitean, so just the</span>
</span><span id="Npr_matrix-222"><a href="#Npr_matrix-222"><span class="linenos">222</span></a><span class="sd"> in and out momenta of the propagator are exchanged.</span>
@ -1091,7 +1091,7 @@ in and out momenta of the propagator are exchanged.</p>
</div>
<a class="headerlink" href="#read_ExternalLeg_hd5"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_ExternalLeg_hd5-249"><a href="#read_ExternalLeg_hd5-249"><span class="linenos">249</span></a><span class="k">def</span> <span class="nf">read_ExternalLeg_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="read_ExternalLeg_hd5-250"><a href="#read_ExternalLeg_hd5-250"><span class="linenos">250</span></a> <span class="sd">&quot;&quot;&quot;Read hadrons ExternalLeg hdf5 file and output an array of CObs</span>
</span><span id="read_ExternalLeg_hd5-250"><a href="#read_ExternalLeg_hd5-250"><span class="linenos">250</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read hadrons ExternalLeg hdf5 file and output an array of CObs</span>
</span><span id="read_ExternalLeg_hd5-251"><a href="#read_ExternalLeg_hd5-251"><span class="linenos">251</span></a>
</span><span id="read_ExternalLeg_hd5-252"><a href="#read_ExternalLeg_hd5-252"><span class="linenos">252</span></a><span class="sd"> Parameters</span>
</span><span id="read_ExternalLeg_hd5-253"><a href="#read_ExternalLeg_hd5-253"><span class="linenos">253</span></a><span class="sd"> ----------</span>
@ -1161,7 +1161,7 @@ If specified only configurations in the given range are read in.</li>
</div>
<a class="headerlink" href="#read_Bilinear_hd5"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_Bilinear_hd5-289"><a href="#read_Bilinear_hd5-289"><span class="linenos">289</span></a><span class="k">def</span> <span class="nf">read_Bilinear_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="read_Bilinear_hd5-290"><a href="#read_Bilinear_hd5-290"><span class="linenos">290</span></a> <span class="sd">&quot;&quot;&quot;Read hadrons Bilinear hdf5 file and output an array of CObs</span>
</span><span id="read_Bilinear_hd5-290"><a href="#read_Bilinear_hd5-290"><span class="linenos">290</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read hadrons Bilinear hdf5 file and output an array of CObs</span>
</span><span id="read_Bilinear_hd5-291"><a href="#read_Bilinear_hd5-291"><span class="linenos">291</span></a>
</span><span id="read_Bilinear_hd5-292"><a href="#read_Bilinear_hd5-292"><span class="linenos">292</span></a><span class="sd"> Parameters</span>
</span><span id="read_Bilinear_hd5-293"><a href="#read_Bilinear_hd5-293"><span class="linenos">293</span></a><span class="sd"> ----------</span>
@ -1245,7 +1245,7 @@ If specified only configurations in the given range are read in.</li>
</div>
<a class="headerlink" href="#read_Fourquark_hd5"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_Fourquark_hd5-343"><a href="#read_Fourquark_hd5-343"><span class="linenos">343</span></a><span class="k">def</span> <span class="nf">read_Fourquark_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</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">vertices</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;VA&quot;</span><span class="p">,</span> <span class="s2">&quot;AV&quot;</span><span class="p">]):</span>
</span><span id="read_Fourquark_hd5-344"><a href="#read_Fourquark_hd5-344"><span class="linenos">344</span></a> <span class="sd">&quot;&quot;&quot;Read hadrons FourquarkFullyConnected hdf5 file and output an array of CObs</span>
</span><span id="read_Fourquark_hd5-344"><a href="#read_Fourquark_hd5-344"><span class="linenos">344</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read hadrons FourquarkFullyConnected hdf5 file and output an array of CObs</span>
</span><span id="read_Fourquark_hd5-345"><a href="#read_Fourquark_hd5-345"><span class="linenos">345</span></a>
</span><span id="read_Fourquark_hd5-346"><a href="#read_Fourquark_hd5-346"><span class="linenos">346</span></a><span class="sd"> Parameters</span>
</span><span id="read_Fourquark_hd5-347"><a href="#read_Fourquark_hd5-347"><span class="linenos">347</span></a><span class="sd"> ----------</span>

View file

@ -108,7 +108,7 @@
</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a>
</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a>
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a><span class="k">def</span> <span class="nf">create_json_string</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a> <span class="sd">&quot;&quot;&quot;Generate the string for the export of a list of Obs or structures containing Obs</span>
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Generate the string for the export of a list of Obs or structures containing Obs</span>
</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a><span class="sd"> to a .json(.gz) file</span>
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a>
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a><span class="sd"> Parameters</span>
@ -291,7 +291,7 @@
</span><span id="L-198"><a href="#L-198"><span class="linenos">198</span></a>
</span><span id="L-199"><a href="#L-199"><span class="linenos">199</span></a>
</span><span id="L-200"><a href="#L-200"><span class="linenos">200</span></a><span class="k">def</span> <span class="nf">dump_to_json</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="L-201"><a href="#L-201"><span class="linenos">201</span></a> <span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to a .json(.gz) file</span>
</span><span id="L-201"><a href="#L-201"><span class="linenos">201</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to a .json(.gz) file</span>
</span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a>
</span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a><span class="sd"> Parameters</span>
</span><span id="L-204"><a href="#L-204"><span class="linenos">204</span></a><span class="sd"> ----------</span>
@ -328,7 +328,7 @@
</span><span id="L-235"><a href="#L-235"><span class="linenos">235</span></a>
</span><span id="L-236"><a href="#L-236"><span class="linenos">236</span></a>
</span><span id="L-237"><a href="#L-237"><span class="linenos">237</span></a><span class="k">def</span> <span class="nf">_parse_json_dict</span><span class="p">(</span><span class="n">json_dict</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="L-238"><a href="#L-238"><span class="linenos">238</span></a> <span class="sd">&quot;&quot;&quot;Reconstruct a list of Obs or structures containing Obs from a dict that</span>
</span><span id="L-238"><a href="#L-238"><span class="linenos">238</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Reconstruct a list of Obs or structures containing Obs from a dict that</span>
</span><span id="L-239"><a href="#L-239"><span class="linenos">239</span></a><span class="sd"> was built out of a json string.</span>
</span><span id="L-240"><a href="#L-240"><span class="linenos">240</span></a>
</span><span id="L-241"><a href="#L-241"><span class="linenos">241</span></a><span class="sd"> The following structures are supported: Obs, list, numpy.ndarray, Corr</span>
@ -534,7 +534,7 @@
</span><span id="L-441"><a href="#L-441"><span class="linenos">441</span></a>
</span><span id="L-442"><a href="#L-442"><span class="linenos">442</span></a>
</span><span id="L-443"><a href="#L-443"><span class="linenos">443</span></a><span class="k">def</span> <span class="nf">import_json_string</span><span class="p">(</span><span class="n">json_string</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="L-444"><a href="#L-444"><span class="linenos">444</span></a> <span class="sd">&quot;&quot;&quot;Reconstruct a list of Obs or structures containing Obs from a json string.</span>
</span><span id="L-444"><a href="#L-444"><span class="linenos">444</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Reconstruct a list of Obs or structures containing Obs from a json string.</span>
</span><span id="L-445"><a href="#L-445"><span class="linenos">445</span></a>
</span><span id="L-446"><a href="#L-446"><span class="linenos">446</span></a><span class="sd"> The following structures are supported: Obs, list, numpy.ndarray, Corr</span>
</span><span id="L-447"><a href="#L-447"><span class="linenos">447</span></a><span class="sd"> If the list contains only one element, it is unpacked from the list.</span>
@ -554,7 +554,7 @@
</span><span id="L-461"><a href="#L-461"><span class="linenos">461</span></a>
</span><span id="L-462"><a href="#L-462"><span class="linenos">462</span></a>
</span><span id="L-463"><a href="#L-463"><span class="linenos">463</span></a><span class="k">def</span> <span class="nf">load_json</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="L-464"><a href="#L-464"><span class="linenos">464</span></a> <span class="sd">&quot;&quot;&quot;Import a list of Obs or structures containing Obs from a .json(.gz) file.</span>
</span><span id="L-464"><a href="#L-464"><span class="linenos">464</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Import a list of Obs or structures containing Obs from a .json(.gz) file.</span>
</span><span id="L-465"><a href="#L-465"><span class="linenos">465</span></a>
</span><span id="L-466"><a href="#L-466"><span class="linenos">466</span></a><span class="sd"> The following structures are supported: Obs, list, numpy.ndarray, Corr</span>
</span><span id="L-467"><a href="#L-467"><span class="linenos">467</span></a><span class="sd"> If the list contains only one element, it is unpacked from the list.</span>
@ -588,7 +588,7 @@
</span><span id="L-495"><a href="#L-495"><span class="linenos">495</span></a>
</span><span id="L-496"><a href="#L-496"><span class="linenos">496</span></a>
</span><span id="L-497"><a href="#L-497"><span class="linenos">497</span></a><span class="k">def</span> <span class="nf">_ol_from_dict</span><span class="p">(</span><span class="n">ind</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">&#39;DICTOBS&#39;</span><span class="p">):</span>
</span><span id="L-498"><a href="#L-498"><span class="linenos">498</span></a> <span class="sd">&quot;&quot;&quot;Convert a dictionary of Obs objects to a list and a dictionary that contains</span>
</span><span id="L-498"><a href="#L-498"><span class="linenos">498</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Convert a dictionary of Obs objects to a list and a dictionary that contains</span>
</span><span id="L-499"><a href="#L-499"><span class="linenos">499</span></a><span class="sd"> placeholders instead of the Obs objects.</span>
</span><span id="L-500"><a href="#L-500"><span class="linenos">500</span></a>
</span><span id="L-501"><a href="#L-501"><span class="linenos">501</span></a><span class="sd"> Parameters</span>
@ -668,7 +668,7 @@
</span><span id="L-575"><a href="#L-575"><span class="linenos">575</span></a>
</span><span id="L-576"><a href="#L-576"><span class="linenos">576</span></a>
</span><span id="L-577"><a href="#L-577"><span class="linenos">577</span></a><span class="k">def</span> <span class="nf">dump_dict_to_json</span><span class="p">(</span><span class="n">od</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">&#39;DICTOBS&#39;</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="L-578"><a href="#L-578"><span class="linenos">578</span></a> <span class="sd">&quot;&quot;&quot;Export a dict of Obs or structures containing Obs to a .json(.gz) file</span>
</span><span id="L-578"><a href="#L-578"><span class="linenos">578</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Export a dict of Obs or structures containing Obs to a .json(.gz) file</span>
</span><span id="L-579"><a href="#L-579"><span class="linenos">579</span></a>
</span><span id="L-580"><a href="#L-580"><span class="linenos">580</span></a><span class="sd"> Parameters</span>
</span><span id="L-581"><a href="#L-581"><span class="linenos">581</span></a><span class="sd"> ----------</span>
@ -704,7 +704,7 @@
</span><span id="L-611"><a href="#L-611"><span class="linenos">611</span></a>
</span><span id="L-612"><a href="#L-612"><span class="linenos">612</span></a>
</span><span id="L-613"><a href="#L-613"><span class="linenos">613</span></a><span class="k">def</span> <span class="nf">_od_from_list_and_dict</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">ind</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">&#39;DICTOBS&#39;</span><span class="p">):</span>
</span><span id="L-614"><a href="#L-614"><span class="linenos">614</span></a> <span class="sd">&quot;&quot;&quot;Parse a list of Obs or structures containing Obs and an accompanying</span>
</span><span id="L-614"><a href="#L-614"><span class="linenos">614</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Parse a list of Obs or structures containing Obs and an accompanying</span>
</span><span id="L-615"><a href="#L-615"><span class="linenos">615</span></a><span class="sd"> dict, where the structures have been replaced by placeholders to a</span>
</span><span id="L-616"><a href="#L-616"><span class="linenos">616</span></a><span class="sd"> dict that contains the structures.</span>
</span><span id="L-617"><a href="#L-617"><span class="linenos">617</span></a>
@ -767,7 +767,7 @@
</span><span id="L-674"><a href="#L-674"><span class="linenos">674</span></a>
</span><span id="L-675"><a href="#L-675"><span class="linenos">675</span></a>
</span><span id="L-676"><a href="#L-676"><span class="linenos">676</span></a><span class="k">def</span> <span class="nf">load_json_dict</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">&#39;DICTOBS&#39;</span><span class="p">):</span>
</span><span id="L-677"><a href="#L-677"><span class="linenos">677</span></a> <span class="sd">&quot;&quot;&quot;Import a dict of Obs or structures containing Obs from a .json(.gz) file.</span>
</span><span id="L-677"><a href="#L-677"><span class="linenos">677</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Import a dict of Obs or structures containing Obs from a .json(.gz) file.</span>
</span><span id="L-678"><a href="#L-678"><span class="linenos">678</span></a>
</span><span id="L-679"><a href="#L-679"><span class="linenos">679</span></a><span class="sd"> The following structures are supported: Obs, list, numpy.ndarray, Corr</span>
</span><span id="L-680"><a href="#L-680"><span class="linenos">680</span></a>
@ -813,7 +813,7 @@
</div>
<a class="headerlink" href="#create_json_string"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="create_json_string-18"><a href="#create_json_string-18"><span class="linenos"> 18</span></a><span class="k">def</span> <span class="nf">create_json_string</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
</span><span id="create_json_string-19"><a href="#create_json_string-19"><span class="linenos"> 19</span></a> <span class="sd">&quot;&quot;&quot;Generate the string for the export of a list of Obs or structures containing Obs</span>
</span><span id="create_json_string-19"><a href="#create_json_string-19"><span class="linenos"> 19</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Generate the string for the export of a list of Obs or structures containing Obs</span>
</span><span id="create_json_string-20"><a href="#create_json_string-20"><span class="linenos"> 20</span></a><span class="sd"> to a .json(.gz) file</span>
</span><span id="create_json_string-21"><a href="#create_json_string-21"><span class="linenos"> 21</span></a>
</span><span id="create_json_string-22"><a href="#create_json_string-22"><span class="linenos"> 22</span></a><span class="sd"> Parameters</span>
@ -1028,7 +1028,7 @@ saves disk space.</li>
</div>
<a class="headerlink" href="#dump_to_json"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="dump_to_json-201"><a href="#dump_to_json-201"><span class="linenos">201</span></a><span class="k">def</span> <span class="nf">dump_to_json</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="dump_to_json-202"><a href="#dump_to_json-202"><span class="linenos">202</span></a> <span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to a .json(.gz) file</span>
</span><span id="dump_to_json-202"><a href="#dump_to_json-202"><span class="linenos">202</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Export a list of Obs or structures containing Obs to a .json(.gz) file</span>
</span><span id="dump_to_json-203"><a href="#dump_to_json-203"><span class="linenos">203</span></a>
</span><span id="dump_to_json-204"><a href="#dump_to_json-204"><span class="linenos">204</span></a><span class="sd"> Parameters</span>
</span><span id="dump_to_json-205"><a href="#dump_to_json-205"><span class="linenos">205</span></a><span class="sd"> ----------</span>
@ -1100,7 +1100,7 @@ If True, the output is a gzipped json. If False, the output is a json file.</li>
</div>
<a class="headerlink" href="#import_json_string"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="import_json_string-444"><a href="#import_json_string-444"><span class="linenos">444</span></a><span class="k">def</span> <span class="nf">import_json_string</span><span class="p">(</span><span class="n">json_string</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="import_json_string-445"><a href="#import_json_string-445"><span class="linenos">445</span></a> <span class="sd">&quot;&quot;&quot;Reconstruct a list of Obs or structures containing Obs from a json string.</span>
</span><span id="import_json_string-445"><a href="#import_json_string-445"><span class="linenos">445</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Reconstruct a list of Obs or structures containing Obs from a json string.</span>
</span><span id="import_json_string-446"><a href="#import_json_string-446"><span class="linenos">446</span></a>
</span><span id="import_json_string-447"><a href="#import_json_string-447"><span class="linenos">447</span></a><span class="sd"> The following structures are supported: Obs, list, numpy.ndarray, Corr</span>
</span><span id="import_json_string-448"><a href="#import_json_string-448"><span class="linenos">448</span></a><span class="sd"> If the list contains only one element, it is unpacked from the list.</span>
@ -1152,7 +1152,7 @@ If False, only the data is returned.</li>
</div>
<a class="headerlink" href="#load_json"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="load_json-464"><a href="#load_json-464"><span class="linenos">464</span></a><span class="k">def</span> <span class="nf">load_json</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="load_json-465"><a href="#load_json-465"><span class="linenos">465</span></a> <span class="sd">&quot;&quot;&quot;Import a list of Obs or structures containing Obs from a .json(.gz) file.</span>
</span><span id="load_json-465"><a href="#load_json-465"><span class="linenos">465</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Import a list of Obs or structures containing Obs from a .json(.gz) file.</span>
</span><span id="load_json-466"><a href="#load_json-466"><span class="linenos">466</span></a>
</span><span id="load_json-467"><a href="#load_json-467"><span class="linenos">467</span></a><span class="sd"> The following structures are supported: Obs, list, numpy.ndarray, Corr</span>
</span><span id="load_json-468"><a href="#load_json-468"><span class="linenos">468</span></a><span class="sd"> If the list contains only one element, it is unpacked from the list.</span>
@ -1220,7 +1220,7 @@ If False, only the data is returned.</li>
</div>
<a class="headerlink" href="#dump_dict_to_json"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="dump_dict_to_json-578"><a href="#dump_dict_to_json-578"><span class="linenos">578</span></a><span class="k">def</span> <span class="nf">dump_dict_to_json</span><span class="p">(</span><span class="n">od</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">&#39;DICTOBS&#39;</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="dump_dict_to_json-579"><a href="#dump_dict_to_json-579"><span class="linenos">579</span></a> <span class="sd">&quot;&quot;&quot;Export a dict of Obs or structures containing Obs to a .json(.gz) file</span>
</span><span id="dump_dict_to_json-579"><a href="#dump_dict_to_json-579"><span class="linenos">579</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Export a dict of Obs or structures containing Obs to a .json(.gz) file</span>
</span><span id="dump_dict_to_json-580"><a href="#dump_dict_to_json-580"><span class="linenos">580</span></a>
</span><span id="dump_dict_to_json-581"><a href="#dump_dict_to_json-581"><span class="linenos">581</span></a><span class="sd"> Parameters</span>
</span><span id="dump_dict_to_json-582"><a href="#dump_dict_to_json-582"><span class="linenos">582</span></a><span class="sd"> ----------</span>
@ -1293,7 +1293,7 @@ If True, the output is a gzipped json. If False, the output is a json file.</li>
</div>
<a class="headerlink" href="#load_json_dict"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="load_json_dict-677"><a href="#load_json_dict-677"><span class="linenos">677</span></a><span class="k">def</span> <span class="nf">load_json_dict</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">&#39;DICTOBS&#39;</span><span class="p">):</span>
</span><span id="load_json_dict-678"><a href="#load_json_dict-678"><span class="linenos">678</span></a> <span class="sd">&quot;&quot;&quot;Import a dict of Obs or structures containing Obs from a .json(.gz) file.</span>
</span><span id="load_json_dict-678"><a href="#load_json_dict-678"><span class="linenos">678</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Import a dict of Obs or structures containing Obs from a .json(.gz) file.</span>
</span><span id="load_json_dict-679"><a href="#load_json_dict-679"><span class="linenos">679</span></a>
</span><span id="load_json_dict-680"><a href="#load_json_dict-680"><span class="linenos">680</span></a><span class="sd"> The following structures are supported: Obs, list, numpy.ndarray, Corr</span>
</span><span id="load_json_dict-681"><a href="#load_json_dict-681"><span class="linenos">681</span></a>

View file

@ -85,7 +85,7 @@
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a>
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a>
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="k">def</span> <span class="nf">read_pbp</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><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a> <span class="sd">&quot;&quot;&quot;Read pbp format from given folder structure. Returns a list of length nrw</span>
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read pbp format from given folder structure. Returns a list of length nrw</span>
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a>
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a><span class="sd"> Parameters</span>
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a><span class="sd"> ----------</span>
@ -214,7 +214,7 @@
</div>
<a class="headerlink" href="#read_pbp"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_pbp-10"><a href="#read_pbp-10"><span class="linenos"> 10</span></a><span class="k">def</span> <span class="nf">read_pbp</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><span id="read_pbp-11"><a href="#read_pbp-11"><span class="linenos"> 11</span></a> <span class="sd">&quot;&quot;&quot;Read pbp format from given folder structure. Returns a list of length nrw</span>
</span><span id="read_pbp-11"><a href="#read_pbp-11"><span class="linenos"> 11</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read pbp format from given folder structure. Returns a list of length nrw</span>
</span><span id="read_pbp-12"><a href="#read_pbp-12"><span class="linenos"> 12</span></a>
</span><span id="read_pbp-13"><a href="#read_pbp-13"><span class="linenos"> 13</span></a><span class="sd"> Parameters</span>
</span><span id="read_pbp-14"><a href="#read_pbp-14"><span class="linenos"> 14</span></a><span class="sd"> ----------</span>

View file

@ -109,7 +109,7 @@
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a>
</span><span id="L-14"><a href="#L-14"><span class="linenos"> 14</span></a>
</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a><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">&#39;2.0&#39;</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><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a> <span class="sd">&quot;&quot;&quot;Read rwms format from given folder structure. Returns a list of length nrw</span>
</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read rwms format from given folder structure. Returns a list of length nrw</span>
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a>
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a><span class="sd"> Parameters</span>
</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a><span class="sd"> ----------</span>
@ -328,7 +328,7 @@
</span><span id="L-232"><a href="#L-232"><span class="linenos"> 232</span></a>
</span><span id="L-233"><a href="#L-233"><span class="linenos"> 233</span></a>
</span><span id="L-234"><a href="#L-234"><span class="linenos"> 234</span></a><span class="k">def</span> <span class="nf">extract_t0</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">dtr_read</span><span class="p">,</span> <span class="n">xmin</span><span class="p">,</span> <span class="n">spatial_extent</span><span class="p">,</span> <span class="n">fit_range</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-235"><a href="#L-235"><span class="linenos"> 235</span></a> <span class="sd">&quot;&quot;&quot;Extract t0 from given .ms.dat files. Returns t0 as Obs.</span>
</span><span id="L-235"><a href="#L-235"><span class="linenos"> 235</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Extract t0 from given .ms.dat files. Returns t0 as Obs.</span>
</span><span id="L-236"><a href="#L-236"><span class="linenos"> 236</span></a>
</span><span id="L-237"><a href="#L-237"><span class="linenos"> 237</span></a><span class="sd"> It is assumed that all boundary effects have</span>
</span><span id="L-238"><a href="#L-238"><span class="linenos"> 238</span></a><span class="sd"> sufficiently decayed at x0=xmin.</span>
@ -619,7 +619,7 @@
</span><span id="L-523"><a href="#L-523"><span class="linenos"> 523</span></a>
</span><span id="L-524"><a href="#L-524"><span class="linenos"> 524</span></a>
</span><span id="L-525"><a href="#L-525"><span class="linenos"> 525</span></a><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="n">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s2">&quot;openQCD&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-526"><a href="#L-526"><span class="linenos"> 526</span></a> <span class="sd">&quot;&quot;&quot;Read the topologial charge based on openQCD gradient flow measurements.</span>
</span><span id="L-526"><a href="#L-526"><span class="linenos"> 526</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read the topologial charge based on openQCD gradient flow measurements.</span>
</span><span id="L-527"><a href="#L-527"><span class="linenos"> 527</span></a>
</span><span id="L-528"><a href="#L-528"><span class="linenos"> 528</span></a><span class="sd"> Parameters</span>
</span><span id="L-529"><a href="#L-529"><span class="linenos"> 529</span></a><span class="sd"> ----------</span>
@ -667,7 +667,7 @@
</span><span id="L-571"><a href="#L-571"><span class="linenos"> 571</span></a>
</span><span id="L-572"><a href="#L-572"><span class="linenos"> 572</span></a>
</span><span id="L-573"><a href="#L-573"><span class="linenos"> 573</span></a><span class="k">def</span> <span class="nf">read_gf_coupling</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">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">Zeuthen_flow</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-574"><a href="#L-574"><span class="linenos"> 574</span></a> <span class="sd">&quot;&quot;&quot;Read the gradient flow coupling based on sfqcd gradient flow measurements. See 1607.06423 for details.</span>
</span><span id="L-574"><a href="#L-574"><span class="linenos"> 574</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read the gradient flow coupling based on sfqcd gradient flow measurements. See 1607.06423 for details.</span>
</span><span id="L-575"><a href="#L-575"><span class="linenos"> 575</span></a>
</span><span id="L-576"><a href="#L-576"><span class="linenos"> 576</span></a><span class="sd"> Note: The current implementation only works for c=0.3 and T=L. The definition of the coupling in 1607.06423 requires projection to topological charge zero which is not done within this function but has to be performed in a separate step.</span>
</span><span id="L-577"><a href="#L-577"><span class="linenos"> 577</span></a>
@ -739,7 +739,7 @@
</span><span id="L-643"><a href="#L-643"><span class="linenos"> 643</span></a>
</span><span id="L-644"><a href="#L-644"><span class="linenos"> 644</span></a>
</span><span id="L-645"><a href="#L-645"><span class="linenos"> 645</span></a><span class="k">def</span> <span class="nf">_read_flow_obs</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">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s2">&quot;openQCD&quot;</span><span class="p">,</span> <span class="n">obspos</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">sum_t</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-646"><a href="#L-646"><span class="linenos"> 646</span></a> <span class="sd">&quot;&quot;&quot;Read a flow observable based on openQCD gradient flow measurements.</span>
</span><span id="L-646"><a href="#L-646"><span class="linenos"> 646</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read a flow observable based on openQCD gradient flow measurements.</span>
</span><span id="L-647"><a href="#L-647"><span class="linenos"> 647</span></a>
</span><span id="L-648"><a href="#L-648"><span class="linenos"> 648</span></a><span class="sd"> Parameters</span>
</span><span id="L-649"><a href="#L-649"><span class="linenos"> 649</span></a><span class="sd"> ----------</span>
@ -1011,7 +1011,7 @@
</span><span id="L-915"><a href="#L-915"><span class="linenos"> 915</span></a>
</span><span id="L-916"><a href="#L-916"><span class="linenos"> 916</span></a>
</span><span id="L-917"><a href="#L-917"><span class="linenos"> 917</span></a><span class="k">def</span> <span class="nf">qtop_projection</span><span class="p">(</span><span class="n">qtop</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
</span><span id="L-918"><a href="#L-918"><span class="linenos"> 918</span></a> <span class="sd">&quot;&quot;&quot;Returns the projection to the topological charge sector defined by target.</span>
</span><span id="L-918"><a href="#L-918"><span class="linenos"> 918</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns the projection to the topological charge sector defined by target.</span>
</span><span id="L-919"><a href="#L-919"><span class="linenos"> 919</span></a>
</span><span id="L-920"><a href="#L-920"><span class="linenos"> 920</span></a><span class="sd"> Parameters</span>
</span><span id="L-921"><a href="#L-921"><span class="linenos"> 921</span></a><span class="sd"> ----------</span>
@ -1025,7 +1025,7 @@
</span><span id="L-929"><a href="#L-929"><span class="linenos"> 929</span></a>
</span><span id="L-930"><a href="#L-930"><span class="linenos"> 930</span></a> <span class="n">proj_qtop</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-931"><a href="#L-931"><span class="linenos"> 931</span></a> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">qtop</span><span class="o">.</span><span class="n">deltas</span><span class="p">:</span>
</span><span id="L-932"><a href="#L-932"><span class="linenos"> 932</span></a> <span class="n">proj_qtop</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mi">1</span> <span class="k">if</span> <span class="nb">round</span><span class="p">(</span><span class="n">qtop</span><span class="o">.</span><span class="n">value</span> <span class="o">+</span> <span class="n">q</span><span class="p">)</span> <span class="o">==</span> <span class="n">target</span> <span class="k">else</span> <span class="mi">0</span> <span class="k">for</span> <span class="n">q</span> <span class="ow">in</span> <span class="n">qtop</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">n</span><span class="p">]]))</span>
</span><span id="L-932"><a href="#L-932"><span class="linenos"> 932</span></a> <span class="n">proj_qtop</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mi">1</span> <span class="k">if</span> <span class="nb">round</span><span class="p">(</span><span class="n">qtop</span><span class="o">.</span><span class="n">r_values</span><span class="p">[</span><span class="n">n</span><span class="p">]</span> <span class="o">+</span> <span class="n">q</span><span class="p">)</span> <span class="o">==</span> <span class="n">target</span> <span class="k">else</span> <span class="mi">0</span> <span class="k">for</span> <span class="n">q</span> <span class="ow">in</span> <span class="n">qtop</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">n</span><span class="p">]]))</span>
</span><span id="L-933"><a href="#L-933"><span class="linenos"> 933</span></a>
</span><span id="L-934"><a href="#L-934"><span class="linenos"> 934</span></a> <span class="n">reto</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">(</span><span class="n">proj_qtop</span><span class="p">,</span> <span class="n">qtop</span><span class="o">.</span><span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="p">[</span><span class="n">qtop</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">qtop</span><span class="o">.</span><span class="n">names</span><span class="p">])</span>
</span><span id="L-935"><a href="#L-935"><span class="linenos"> 935</span></a> <span class="n">reto</span><span class="o">.</span><span class="n">is_merged</span> <span class="o">=</span> <span class="n">qtop</span><span class="o">.</span><span class="n">is_merged</span>
@ -1033,7 +1033,7 @@
</span><span id="L-937"><a href="#L-937"><span class="linenos"> 937</span></a>
</span><span id="L-938"><a href="#L-938"><span class="linenos"> 938</span></a>
</span><span id="L-939"><a href="#L-939"><span class="linenos"> 939</span></a><span class="k">def</span> <span class="nf">read_qtop_sector</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">c</span><span class="p">,</span> <span class="n">target</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><span id="L-940"><a href="#L-940"><span class="linenos"> 940</span></a> <span class="sd">&quot;&quot;&quot;Constructs reweighting factors to a specified topological sector.</span>
</span><span id="L-940"><a href="#L-940"><span class="linenos"> 940</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Constructs reweighting factors to a specified topological sector.</span>
</span><span id="L-941"><a href="#L-941"><span class="linenos"> 941</span></a>
</span><span id="L-942"><a href="#L-942"><span class="linenos"> 942</span></a><span class="sd"> Parameters</span>
</span><span id="L-943"><a href="#L-943"><span class="linenos"> 943</span></a><span class="sd"> ----------</span>
@ -1086,7 +1086,7 @@
</span><span id="L-990"><a href="#L-990"><span class="linenos"> 990</span></a>
</span><span id="L-991"><a href="#L-991"><span class="linenos"> 991</span></a>
</span><span id="L-992"><a href="#L-992"><span class="linenos"> 992</span></a><span class="k">def</span> <span class="nf">read_ms5_xsf</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">qc</span><span class="p">,</span> <span class="n">corr</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s2">&quot;r&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-993"><a href="#L-993"><span class="linenos"> 993</span></a> <span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-993"><a href="#L-993"><span class="linenos"> 993</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-994"><a href="#L-994"><span class="linenos"> 994</span></a><span class="sd"> Read data from files in the specified directory with the specified prefix and quark combination extension, and return a `Corr` object containing the data.</span>
</span><span id="L-995"><a href="#L-995"><span class="linenos"> 995</span></a>
</span><span id="L-996"><a href="#L-996"><span class="linenos"> 996</span></a><span class="sd"> Parameters</span>
@ -1243,7 +1243,7 @@
</div>
<a class="headerlink" href="#read_rwms"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_rwms-16"><a href="#read_rwms-16"><span class="linenos"> 16</span></a><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">&#39;2.0&#39;</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><span id="read_rwms-17"><a href="#read_rwms-17"><span class="linenos"> 17</span></a> <span class="sd">&quot;&quot;&quot;Read rwms format from given folder structure. Returns a list of length nrw</span>
</span><span id="read_rwms-17"><a href="#read_rwms-17"><span class="linenos"> 17</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read rwms format from given folder structure. Returns a list of length nrw</span>
</span><span id="read_rwms-18"><a href="#read_rwms-18"><span class="linenos"> 18</span></a>
</span><span id="read_rwms-19"><a href="#read_rwms-19"><span class="linenos"> 19</span></a><span class="sd"> Parameters</span>
</span><span id="read_rwms-20"><a href="#read_rwms-20"><span class="linenos"> 20</span></a><span class="sd"> ----------</span>
@ -1509,7 +1509,7 @@ Print additional information that is useful for debugging.</li>
</div>
<a class="headerlink" href="#extract_t0"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="extract_t0-235"><a href="#extract_t0-235"><span class="linenos">235</span></a><span class="k">def</span> <span class="nf">extract_t0</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">dtr_read</span><span class="p">,</span> <span class="n">xmin</span><span class="p">,</span> <span class="n">spatial_extent</span><span class="p">,</span> <span class="n">fit_range</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="extract_t0-236"><a href="#extract_t0-236"><span class="linenos">236</span></a> <span class="sd">&quot;&quot;&quot;Extract t0 from given .ms.dat files. Returns t0 as Obs.</span>
</span><span id="extract_t0-236"><a href="#extract_t0-236"><span class="linenos">236</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Extract t0 from given .ms.dat files. Returns t0 as Obs.</span>
</span><span id="extract_t0-237"><a href="#extract_t0-237"><span class="linenos">237</span></a>
</span><span id="extract_t0-238"><a href="#extract_t0-238"><span class="linenos">238</span></a><span class="sd"> It is assumed that all boundary effects have</span>
</span><span id="extract_t0-239"><a href="#extract_t0-239"><span class="linenos">239</span></a><span class="sd"> sufficiently decayed at x0=xmin.</span>
@ -1826,7 +1826,7 @@ If False: The config numbers are assumed to be traj_number // difference</li>
</div>
<a class="headerlink" href="#read_qtop"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_qtop-526"><a href="#read_qtop-526"><span class="linenos">526</span></a><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="n">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s2">&quot;openQCD&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="read_qtop-527"><a href="#read_qtop-527"><span class="linenos">527</span></a> <span class="sd">&quot;&quot;&quot;Read the topologial charge based on openQCD gradient flow measurements.</span>
</span><span id="read_qtop-527"><a href="#read_qtop-527"><span class="linenos">527</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read the topologial charge based on openQCD gradient flow measurements.</span>
</span><span id="read_qtop-528"><a href="#read_qtop-528"><span class="linenos">528</span></a>
</span><span id="read_qtop-529"><a href="#read_qtop-529"><span class="linenos">529</span></a><span class="sd"> Parameters</span>
</span><span id="read_qtop-530"><a href="#read_qtop-530"><span class="linenos">530</span></a><span class="sd"> ----------</span>
@ -1934,7 +1934,7 @@ If True, the charge is rounded towards the nearest integer on each config.</li>
</div>
<a class="headerlink" href="#read_gf_coupling"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_gf_coupling-574"><a href="#read_gf_coupling-574"><span class="linenos">574</span></a><span class="k">def</span> <span class="nf">read_gf_coupling</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">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">Zeuthen_flow</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="read_gf_coupling-575"><a href="#read_gf_coupling-575"><span class="linenos">575</span></a> <span class="sd">&quot;&quot;&quot;Read the gradient flow coupling based on sfqcd gradient flow measurements. See 1607.06423 for details.</span>
</span><span id="read_gf_coupling-575"><a href="#read_gf_coupling-575"><span class="linenos">575</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read the gradient flow coupling based on sfqcd gradient flow measurements. See 1607.06423 for details.</span>
</span><span id="read_gf_coupling-576"><a href="#read_gf_coupling-576"><span class="linenos">576</span></a>
</span><span id="read_gf_coupling-577"><a href="#read_gf_coupling-577"><span class="linenos">577</span></a><span class="sd"> Note: The current implementation only works for c=0.3 and T=L. The definition of the coupling in 1607.06423 requires projection to topological charge zero which is not done within this function but has to be performed in a separate step.</span>
</span><span id="read_gf_coupling-578"><a href="#read_gf_coupling-578"><span class="linenos">578</span></a>
@ -2059,7 +2059,7 @@ postfix of the file to read, e.g. '.gfms.dat' for openQCD-files</li>
</div>
<a class="headerlink" href="#qtop_projection"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="qtop_projection-918"><a href="#qtop_projection-918"><span class="linenos">918</span></a><span class="k">def</span> <span class="nf">qtop_projection</span><span class="p">(</span><span class="n">qtop</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
</span><span id="qtop_projection-919"><a href="#qtop_projection-919"><span class="linenos">919</span></a> <span class="sd">&quot;&quot;&quot;Returns the projection to the topological charge sector defined by target.</span>
</span><span id="qtop_projection-919"><a href="#qtop_projection-919"><span class="linenos">919</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns the projection to the topological charge sector defined by target.</span>
</span><span id="qtop_projection-920"><a href="#qtop_projection-920"><span class="linenos">920</span></a>
</span><span id="qtop_projection-921"><a href="#qtop_projection-921"><span class="linenos">921</span></a><span class="sd"> Parameters</span>
</span><span id="qtop_projection-922"><a href="#qtop_projection-922"><span class="linenos">922</span></a><span class="sd"> ----------</span>
@ -2073,7 +2073,7 @@ postfix of the file to read, e.g. '.gfms.dat' for openQCD-files</li>
</span><span id="qtop_projection-930"><a href="#qtop_projection-930"><span class="linenos">930</span></a>
</span><span id="qtop_projection-931"><a href="#qtop_projection-931"><span class="linenos">931</span></a> <span class="n">proj_qtop</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="qtop_projection-932"><a href="#qtop_projection-932"><span class="linenos">932</span></a> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">qtop</span><span class="o">.</span><span class="n">deltas</span><span class="p">:</span>
</span><span id="qtop_projection-933"><a href="#qtop_projection-933"><span class="linenos">933</span></a> <span class="n">proj_qtop</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mi">1</span> <span class="k">if</span> <span class="nb">round</span><span class="p">(</span><span class="n">qtop</span><span class="o">.</span><span class="n">value</span> <span class="o">+</span> <span class="n">q</span><span class="p">)</span> <span class="o">==</span> <span class="n">target</span> <span class="k">else</span> <span class="mi">0</span> <span class="k">for</span> <span class="n">q</span> <span class="ow">in</span> <span class="n">qtop</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">n</span><span class="p">]]))</span>
</span><span id="qtop_projection-933"><a href="#qtop_projection-933"><span class="linenos">933</span></a> <span class="n">proj_qtop</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mi">1</span> <span class="k">if</span> <span class="nb">round</span><span class="p">(</span><span class="n">qtop</span><span class="o">.</span><span class="n">r_values</span><span class="p">[</span><span class="n">n</span><span class="p">]</span> <span class="o">+</span> <span class="n">q</span><span class="p">)</span> <span class="o">==</span> <span class="n">target</span> <span class="k">else</span> <span class="mi">0</span> <span class="k">for</span> <span class="n">q</span> <span class="ow">in</span> <span class="n">qtop</span><span class="o">.</span><span class="n">deltas</span><span class="p">[</span><span class="n">n</span><span class="p">]]))</span>
</span><span id="qtop_projection-934"><a href="#qtop_projection-934"><span class="linenos">934</span></a>
</span><span id="qtop_projection-935"><a href="#qtop_projection-935"><span class="linenos">935</span></a> <span class="n">reto</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">(</span><span class="n">proj_qtop</span><span class="p">,</span> <span class="n">qtop</span><span class="o">.</span><span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="p">[</span><span class="n">qtop</span><span class="o">.</span><span class="n">idl</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">qtop</span><span class="o">.</span><span class="n">names</span><span class="p">])</span>
</span><span id="qtop_projection-936"><a href="#qtop_projection-936"><span class="linenos">936</span></a> <span class="n">reto</span><span class="o">.</span><span class="n">is_merged</span> <span class="o">=</span> <span class="n">qtop</span><span class="o">.</span><span class="n">is_merged</span>
@ -2107,7 +2107,7 @@ Specifies the topological sector to be reweighted to (default 0)</li>
</div>
<a class="headerlink" href="#read_qtop_sector"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_qtop_sector-940"><a href="#read_qtop_sector-940"><span class="linenos">940</span></a><span class="k">def</span> <span class="nf">read_qtop_sector</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">c</span><span class="p">,</span> <span class="n">target</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><span id="read_qtop_sector-941"><a href="#read_qtop_sector-941"><span class="linenos">941</span></a> <span class="sd">&quot;&quot;&quot;Constructs reweighting factors to a specified topological sector.</span>
</span><span id="read_qtop_sector-941"><a href="#read_qtop_sector-941"><span class="linenos">941</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Constructs reweighting factors to a specified topological sector.</span>
</span><span id="read_qtop_sector-942"><a href="#read_qtop_sector-942"><span class="linenos">942</span></a>
</span><span id="read_qtop_sector-943"><a href="#read_qtop_sector-943"><span class="linenos">943</span></a><span class="sd"> Parameters</span>
</span><span id="read_qtop_sector-944"><a href="#read_qtop_sector-944"><span class="linenos">944</span></a><span class="sd"> ----------</span>
@ -2219,7 +2219,7 @@ for version=='sfqcd' If False, the Wilson flow is used.</li>
</div>
<a class="headerlink" href="#read_ms5_xsf"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_ms5_xsf-993"><a href="#read_ms5_xsf-993"><span class="linenos"> 993</span></a><span class="k">def</span> <span class="nf">read_ms5_xsf</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">qc</span><span class="p">,</span> <span class="n">corr</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s2">&quot;r&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="read_ms5_xsf-994"><a href="#read_ms5_xsf-994"><span class="linenos"> 994</span></a> <span class="sd">&quot;&quot;&quot;</span>
</span><span id="read_ms5_xsf-994"><a href="#read_ms5_xsf-994"><span class="linenos"> 994</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="read_ms5_xsf-995"><a href="#read_ms5_xsf-995"><span class="linenos"> 995</span></a><span class="sd"> Read data from files in the specified directory with the specified prefix and quark combination extension, and return a `Corr` object containing the data.</span>
</span><span id="read_ms5_xsf-996"><a href="#read_ms5_xsf-996"><span class="linenos"> 996</span></a>
</span><span id="read_ms5_xsf-997"><a href="#read_ms5_xsf-997"><span class="linenos"> 997</span></a><span class="sd"> Parameters</span>

View file

@ -95,7 +95,7 @@
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a>
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a>
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="k">def</span> <span class="nf">to_sql</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">table_name</span><span class="p">,</span> <span class="n">db</span><span class="p">,</span> <span class="n">if_exists</span><span class="o">=</span><span class="s1">&#39;fail&#39;</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a> <span class="sd">&quot;&quot;&quot;Write DataFrame including Obs or Corr valued columns to sqlite database.</span>
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Write DataFrame including Obs or Corr valued columns to sqlite database.</span>
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a>
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a><span class="sd"> Parameters</span>
</span><span id="L-14"><a href="#L-14"><span class="linenos"> 14</span></a><span class="sd"> ----------</span>
@ -117,7 +117,7 @@
</span><span id="L-30"><a href="#L-30"><span class="linenos"> 30</span></a>
</span><span id="L-31"><a href="#L-31"><span class="linenos"> 31</span></a>
</span><span id="L-32"><a href="#L-32"><span class="linenos"> 32</span></a><span class="k">def</span> <span class="nf">read_sql</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">db</span><span class="p">,</span> <span class="n">auto_gamma</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><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a> <span class="sd">&quot;&quot;&quot;Execute SQL query on sqlite database and obtain DataFrame including Obs or Corr valued columns.</span>
</span><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Execute SQL query on sqlite database and obtain DataFrame including Obs or Corr valued columns.</span>
</span><span id="L-34"><a href="#L-34"><span class="linenos"> 34</span></a>
</span><span id="L-35"><a href="#L-35"><span class="linenos"> 35</span></a><span class="sd"> Parameters</span>
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a><span class="sd"> ----------</span>
@ -136,7 +136,7 @@
</span><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a>
</span><span id="L-50"><a href="#L-50"><span class="linenos"> 50</span></a>
</span><span id="L-51"><a href="#L-51"><span class="linenos"> 51</span></a><span class="k">def</span> <span class="nf">dump_df</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a> <span class="sd">&quot;&quot;&quot;Exports a pandas DataFrame containing Obs valued columns to a (gzipped) csv file.</span>
</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Exports a pandas DataFrame containing Obs valued columns to a (gzipped) csv file.</span>
</span><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a>
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a><span class="sd"> Before making use of pandas to_csv functionality Obs objects are serialized via the standardized</span>
</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a><span class="sd"> json format of pyerrors.</span>
@ -164,7 +164,7 @@
</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a>
</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a>
</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a><span class="k">def</span> <span class="nf">load_df</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="sd">&quot;&quot;&quot;Imports a pandas DataFrame from a csv.(gz) file in which Obs objects are serialized as json strings.</span>
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Imports a pandas DataFrame from a csv.(gz) file in which Obs objects are serialized as json strings.</span>
</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a>
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a><span class="sd"> Parameters</span>
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a><span class="sd"> ----------</span>
@ -193,7 +193,7 @@
</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a>
</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a>
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a><span class="k">def</span> <span class="nf">_serialize_df</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a> <span class="sd">&quot;&quot;&quot;Serializes all Obs or Corr valued columns into json strings according to the pyerrors json specification.</span>
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Serializes all Obs or Corr valued columns into json strings according to the pyerrors json specification.</span>
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a>
</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a><span class="sd"> Parameters</span>
</span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a><span class="sd"> ----------</span>
@ -212,7 +212,7 @@
</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a>
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a>
</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a><span class="k">def</span> <span class="nf">_deserialize_df</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a> <span class="sd">&quot;&quot;&quot;Deserializes all pyerrors json strings into Obs or Corr objects according to the pyerrors json specification.</span>
</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Deserializes all pyerrors json strings into Obs or Corr objects according to the pyerrors json specification.</span>
</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a>
</span><span id="L-130"><a href="#L-130"><span class="linenos">130</span></a><span class="sd"> Parameters</span>
</span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a><span class="sd"> ----------</span>
@ -252,7 +252,7 @@
</div>
<a class="headerlink" href="#to_sql"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="to_sql-11"><a href="#to_sql-11"><span class="linenos">11</span></a><span class="k">def</span> <span class="nf">to_sql</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">table_name</span><span class="p">,</span> <span class="n">db</span><span class="p">,</span> <span class="n">if_exists</span><span class="o">=</span><span class="s1">&#39;fail&#39;</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="to_sql-12"><a href="#to_sql-12"><span class="linenos">12</span></a> <span class="sd">&quot;&quot;&quot;Write DataFrame including Obs or Corr valued columns to sqlite database.</span>
</span><span id="to_sql-12"><a href="#to_sql-12"><span class="linenos">12</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Write DataFrame including Obs or Corr valued columns to sqlite database.</span>
</span><span id="to_sql-13"><a href="#to_sql-13"><span class="linenos">13</span></a>
</span><span id="to_sql-14"><a href="#to_sql-14"><span class="linenos">14</span></a><span class="sd"> Parameters</span>
</span><span id="to_sql-15"><a href="#to_sql-15"><span class="linenos">15</span></a><span class="sd"> ----------</span>
@ -306,7 +306,7 @@ If True the json strings are gzipped.</li>
</div>
<a class="headerlink" href="#read_sql"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_sql-33"><a href="#read_sql-33"><span class="linenos">33</span></a><span class="k">def</span> <span class="nf">read_sql</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">db</span><span class="p">,</span> <span class="n">auto_gamma</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><span id="read_sql-34"><a href="#read_sql-34"><span class="linenos">34</span></a> <span class="sd">&quot;&quot;&quot;Execute SQL query on sqlite database and obtain DataFrame including Obs or Corr valued columns.</span>
</span><span id="read_sql-34"><a href="#read_sql-34"><span class="linenos">34</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Execute SQL query on sqlite database and obtain DataFrame including Obs or Corr valued columns.</span>
</span><span id="read_sql-35"><a href="#read_sql-35"><span class="linenos">35</span></a>
</span><span id="read_sql-36"><a href="#read_sql-36"><span class="linenos">36</span></a><span class="sd"> Parameters</span>
</span><span id="read_sql-37"><a href="#read_sql-37"><span class="linenos">37</span></a><span class="sd"> ----------</span>
@ -354,7 +354,7 @@ the error analysis. Default False.</li>
</div>
<a class="headerlink" href="#dump_df"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="dump_df-52"><a href="#dump_df-52"><span class="linenos">52</span></a><span class="k">def</span> <span class="nf">dump_df</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="dump_df-53"><a href="#dump_df-53"><span class="linenos">53</span></a> <span class="sd">&quot;&quot;&quot;Exports a pandas DataFrame containing Obs valued columns to a (gzipped) csv file.</span>
</span><span id="dump_df-53"><a href="#dump_df-53"><span class="linenos">53</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Exports a pandas DataFrame containing Obs valued columns to a (gzipped) csv file.</span>
</span><span id="dump_df-54"><a href="#dump_df-54"><span class="linenos">54</span></a>
</span><span id="dump_df-55"><a href="#dump_df-55"><span class="linenos">55</span></a><span class="sd"> Before making use of pandas to_csv functionality Obs objects are serialized via the standardized</span>
</span><span id="dump_df-56"><a href="#dump_df-56"><span class="linenos">56</span></a><span class="sd"> json format of pyerrors.</span>
@ -413,7 +413,7 @@ If True, the output is a gzipped csv file. If False, the output is a csv file.</
</div>
<a class="headerlink" href="#load_df"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="load_df-80"><a href="#load_df-80"><span class="linenos"> 80</span></a><span class="k">def</span> <span class="nf">load_df</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="load_df-81"><a href="#load_df-81"><span class="linenos"> 81</span></a> <span class="sd">&quot;&quot;&quot;Imports a pandas DataFrame from a csv.(gz) file in which Obs objects are serialized as json strings.</span>
</span><span id="load_df-81"><a href="#load_df-81"><span class="linenos"> 81</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Imports a pandas DataFrame from a csv.(gz) file in which Obs objects are serialized as json strings.</span>
</span><span id="load_df-82"><a href="#load_df-82"><span class="linenos"> 82</span></a>
</span><span id="load_df-83"><a href="#load_df-83"><span class="linenos"> 83</span></a><span class="sd"> Parameters</span>
</span><span id="load_df-84"><a href="#load_df-84"><span class="linenos"> 84</span></a><span class="sd"> ----------</span>

View file

@ -85,7 +85,7 @@
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a>
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a>
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><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="n">quarks</span><span class="o">=</span><span class="s1">&#39;.*&#39;</span><span class="p">,</span> <span class="n">corr_type</span><span class="o">=</span><span class="s1">&#39;bi&#39;</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="n">version</span><span class="o">=</span><span class="s2">&quot;1.0c&quot;</span><span class="p">,</span> <span class="n">cfg_separator</span><span class="o">=</span><span class="s2">&quot;n&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a> <span class="sd">&quot;&quot;&quot;Read sfcf c format from given folder structure.</span>
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read sfcf c format from given folder structure.</span>
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a>
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a><span class="sd"> Parameters</span>
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a><span class="sd"> ----------</span>
@ -457,7 +457,7 @@
</div>
<a class="headerlink" href="#read_sfcf"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="read_sfcf-10"><a href="#read_sfcf-10"><span class="linenos"> 10</span></a><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="n">quarks</span><span class="o">=</span><span class="s1">&#39;.*&#39;</span><span class="p">,</span> <span class="n">corr_type</span><span class="o">=</span><span class="s1">&#39;bi&#39;</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="n">version</span><span class="o">=</span><span class="s2">&quot;1.0c&quot;</span><span class="p">,</span> <span class="n">cfg_separator</span><span class="o">=</span><span class="s2">&quot;n&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="read_sfcf-11"><a href="#read_sfcf-11"><span class="linenos"> 11</span></a> <span class="sd">&quot;&quot;&quot;Read sfcf c format from given folder structure.</span>
</span><span id="read_sfcf-11"><a href="#read_sfcf-11"><span class="linenos"> 11</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Read sfcf c format from given folder structure.</span>
</span><span id="read_sfcf-12"><a href="#read_sfcf-12"><span class="linenos"> 12</span></a>
</span><span id="read_sfcf-13"><a href="#read_sfcf-13"><span class="linenos"> 13</span></a><span class="sd"> Parameters</span>
</span><span id="read_sfcf-14"><a href="#read_sfcf-14"><span class="linenos"> 14</span></a><span class="sd"> ----------</span>

View file

@ -82,7 +82,7 @@
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a>
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a>
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="k">def</span> <span class="nf">check_idl</span><span class="p">(</span><span class="n">idl</span><span class="p">,</span> <span class="n">che</span><span class="p">):</span>
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a> <span class="sd">&quot;&quot;&quot;Checks if list of configurations is contained in an idl</span>
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks if list of configurations is contained in an idl</span>
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a>
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="sd"> Parameters</span>
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="sd"> ----------</span>
@ -118,7 +118,7 @@
</div>
<a class="headerlink" href="#check_idl"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="check_idl-5"><a href="#check_idl-5"><span class="linenos"> 5</span></a><span class="k">def</span> <span class="nf">check_idl</span><span class="p">(</span><span class="n">idl</span><span class="p">,</span> <span class="n">che</span><span class="p">):</span>
</span><span id="check_idl-6"><a href="#check_idl-6"><span class="linenos"> 6</span></a> <span class="sd">&quot;&quot;&quot;Checks if list of configurations is contained in an idl</span>
</span><span id="check_idl-6"><a href="#check_idl-6"><span class="linenos"> 6</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks if list of configurations is contained in an idl</span>
</span><span id="check_idl-7"><a href="#check_idl-7"><span class="linenos"> 7</span></a>
</span><span id="check_idl-8"><a href="#check_idl-8"><span class="linenos"> 8</span></a><span class="sd"> Parameters</span>
</span><span id="check_idl-9"><a href="#check_idl-9"><span class="linenos"> 9</span></a><span class="sd"> ----------</span>

View file

@ -109,7 +109,7 @@
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a>
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a>
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="k">def</span> <span class="nf">matmul</span><span class="p">(</span><span class="o">*</span><span class="n">operands</span><span class="p">):</span>
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a> <span class="sd">&quot;&quot;&quot;Matrix multiply all operands.</span>
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Matrix multiply all operands.</span>
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a>
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="sd"> Parameters</span>
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="sd"> ----------</span>
@ -165,7 +165,7 @@
</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a>
</span><span id="L-61"><a href="#L-61"><span class="linenos"> 61</span></a>
</span><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a><span class="k">def</span> <span class="nf">jack_matmul</span><span class="p">(</span><span class="o">*</span><span class="n">operands</span><span class="p">):</span>
</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a> <span class="sd">&quot;&quot;&quot;Matrix multiply both operands making use of the jackknife approximation.</span>
</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Matrix multiply both operands making use of the jackknife approximation.</span>
</span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a>
</span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a><span class="sd"> Parameters</span>
</span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a><span class="sd"> ----------</span>
@ -226,7 +226,7 @@
</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a>
</span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a>
</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a><span class="k">def</span> <span class="nf">einsum</span><span class="p">(</span><span class="n">subscripts</span><span class="p">,</span> <span class="o">*</span><span class="n">operands</span><span class="p">):</span>
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="sd">&quot;&quot;&quot;Wrapper for numpy.einsum</span>
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Wrapper for numpy.einsum</span>
</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a>
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a><span class="sd"> Parameters</span>
</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a><span class="sd"> ----------</span>
@ -300,24 +300,24 @@
</span><span id="L-195"><a href="#L-195"><span class="linenos">195</span></a>
</span><span id="L-196"><a href="#L-196"><span class="linenos">196</span></a>
</span><span id="L-197"><a href="#L-197"><span class="linenos">197</span></a><span class="k">def</span> <span class="nf">inv</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
</span><span id="L-198"><a href="#L-198"><span class="linenos">198</span></a> <span class="sd">&quot;&quot;&quot;Inverse of Obs or CObs valued matrices.&quot;&quot;&quot;</span>
</span><span id="L-198"><a href="#L-198"><span class="linenos">198</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Inverse of Obs or CObs valued matrices.&quot;&quot;&quot;</span>
</span><span id="L-199"><a href="#L-199"><span class="linenos">199</span></a> <span class="k">return</span> <span class="n">_mat_mat_op</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">inv</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
</span><span id="L-200"><a href="#L-200"><span class="linenos">200</span></a>
</span><span id="L-201"><a href="#L-201"><span class="linenos">201</span></a>
</span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a><span class="k">def</span> <span class="nf">cholesky</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
</span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a> <span class="sd">&quot;&quot;&quot;Cholesky decomposition of Obs valued matrices.&quot;&quot;&quot;</span>
</span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Cholesky decomposition of Obs valued matrices.&quot;&quot;&quot;</span>
</span><span id="L-204"><a href="#L-204"><span class="linenos">204</span></a> <span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">CObs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">x</span><span class="o">.</span><span class="n">ravel</span><span class="p">()):</span>
</span><span id="L-205"><a href="#L-205"><span class="linenos">205</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Cholesky decomposition is not implemented for CObs.&quot;</span><span class="p">)</span>
</span><span id="L-206"><a href="#L-206"><span class="linenos">206</span></a> <span class="k">return</span> <span class="n">_mat_mat_op</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">cholesky</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
</span><span id="L-207"><a href="#L-207"><span class="linenos">207</span></a>
</span><span id="L-208"><a href="#L-208"><span class="linenos">208</span></a>
</span><span id="L-209"><a href="#L-209"><span class="linenos">209</span></a><span class="k">def</span> <span class="nf">det</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
</span><span id="L-210"><a href="#L-210"><span class="linenos">210</span></a> <span class="sd">&quot;&quot;&quot;Determinant of Obs valued matrices.&quot;&quot;&quot;</span>
</span><span id="L-210"><a href="#L-210"><span class="linenos">210</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Determinant of Obs valued matrices.&quot;&quot;&quot;</span>
</span><span id="L-211"><a href="#L-211"><span class="linenos">211</span></a> <span class="k">return</span> <span class="n">_scalar_mat_op</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">det</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
</span><span id="L-212"><a href="#L-212"><span class="linenos">212</span></a>
</span><span id="L-213"><a href="#L-213"><span class="linenos">213</span></a>
</span><span id="L-214"><a href="#L-214"><span class="linenos">214</span></a><span class="k">def</span> <span class="nf">_scalar_mat_op</span><span class="p">(</span><span class="n">op</span><span class="p">,</span> <span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-215"><a href="#L-215"><span class="linenos">215</span></a> <span class="sd">&quot;&quot;&quot;Computes the matrix to scalar operation op to a given matrix of Obs.&quot;&quot;&quot;</span>
</span><span id="L-215"><a href="#L-215"><span class="linenos">215</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Computes the matrix to scalar operation op to a given matrix of Obs.&quot;&quot;&quot;</span>
</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="k">def</span> <span class="nf">_mat</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-217"><a href="#L-217"><span class="linenos">217</span></a> <span class="n">dim</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)))</span>
</span><span id="L-218"><a href="#L-218"><span class="linenos">218</span></a>
@ -338,7 +338,7 @@
</span><span id="L-233"><a href="#L-233"><span class="linenos">233</span></a>
</span><span id="L-234"><a href="#L-234"><span class="linenos">234</span></a>
</span><span id="L-235"><a href="#L-235"><span class="linenos">235</span></a><span class="k">def</span> <span class="nf">_mat_mat_op</span><span class="p">(</span><span class="n">op</span><span class="p">,</span> <span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-236"><a href="#L-236"><span class="linenos">236</span></a> <span class="sd">&quot;&quot;&quot;Computes the matrix to matrix operation op to a given matrix of Obs.&quot;&quot;&quot;</span>
</span><span id="L-236"><a href="#L-236"><span class="linenos">236</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Computes the matrix to matrix operation op to a given matrix of Obs.&quot;&quot;&quot;</span>
</span><span id="L-237"><a href="#L-237"><span class="linenos">237</span></a> <span class="c1"># Use real representation to calculate matrix operations for complex matrices</span>
</span><span id="L-238"><a href="#L-238"><span class="linenos">238</span></a> <span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">CObs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">obs</span><span class="o">.</span><span class="n">ravel</span><span class="p">()):</span>
</span><span id="L-239"><a href="#L-239"><span class="linenos">239</span></a> <span class="n">A</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty_like</span><span class="p">(</span><span class="n">obs</span><span class="p">)</span>
@ -364,25 +364,25 @@
</span><span id="L-259"><a href="#L-259"><span class="linenos">259</span></a>
</span><span id="L-260"><a href="#L-260"><span class="linenos">260</span></a>
</span><span id="L-261"><a href="#L-261"><span class="linenos">261</span></a><span class="k">def</span> <span class="nf">eigh</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-262"><a href="#L-262"><span class="linenos">262</span></a> <span class="sd">&quot;&quot;&quot;Computes the eigenvalues and eigenvectors of a given hermitian matrix of Obs according to np.linalg.eigh.&quot;&quot;&quot;</span>
</span><span id="L-262"><a href="#L-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Computes the eigenvalues and eigenvectors of a given hermitian matrix of Obs according to np.linalg.eigh.&quot;&quot;&quot;</span>
</span><span id="L-263"><a href="#L-263"><span class="linenos">263</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eigh</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
</span><span id="L-264"><a href="#L-264"><span class="linenos">264</span></a> <span class="n">v</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eigh</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
</span><span id="L-265"><a href="#L-265"><span class="linenos">265</span></a> <span class="k">return</span> <span class="n">w</span><span class="p">,</span> <span class="n">v</span>
</span><span id="L-266"><a href="#L-266"><span class="linenos">266</span></a>
</span><span id="L-267"><a href="#L-267"><span class="linenos">267</span></a>
</span><span id="L-268"><a href="#L-268"><span class="linenos">268</span></a><span class="k">def</span> <span class="nf">eig</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-269"><a href="#L-269"><span class="linenos">269</span></a> <span class="sd">&quot;&quot;&quot;Computes the eigenvalues of a given matrix of Obs according to np.linalg.eig.&quot;&quot;&quot;</span>
</span><span id="L-269"><a href="#L-269"><span class="linenos">269</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Computes the eigenvalues of a given matrix of Obs according to np.linalg.eig.&quot;&quot;&quot;</span>
</span><span id="L-270"><a href="#L-270"><span class="linenos">270</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">real</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eig</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="mi">0</span><span class="p">]),</span> <span class="n">obs</span><span class="p">)</span>
</span><span id="L-271"><a href="#L-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="n">w</span>
</span><span id="L-272"><a href="#L-272"><span class="linenos">272</span></a>
</span><span id="L-273"><a href="#L-273"><span class="linenos">273</span></a>
</span><span id="L-274"><a href="#L-274"><span class="linenos">274</span></a><span class="k">def</span> <span class="nf">pinv</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-275"><a href="#L-275"><span class="linenos">275</span></a> <span class="sd">&quot;&quot;&quot;Computes the Moore-Penrose pseudoinverse of a matrix of Obs.&quot;&quot;&quot;</span>
</span><span id="L-275"><a href="#L-275"><span class="linenos">275</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Computes the Moore-Penrose pseudoinverse of a matrix of Obs.&quot;&quot;&quot;</span>
</span><span id="L-276"><a href="#L-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">pinv</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">obs</span><span class="p">)</span>
</span><span id="L-277"><a href="#L-277"><span class="linenos">277</span></a>
</span><span id="L-278"><a href="#L-278"><span class="linenos">278</span></a>
</span><span id="L-279"><a href="#L-279"><span class="linenos">279</span></a><span class="k">def</span> <span class="nf">svd</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-280"><a href="#L-280"><span class="linenos">280</span></a> <span class="sd">&quot;&quot;&quot;Computes the singular value decomposition of a matrix of Obs.&quot;&quot;&quot;</span>
</span><span id="L-280"><a href="#L-280"><span class="linenos">280</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Computes the singular value decomposition of a matrix of Obs.&quot;&quot;&quot;</span>
</span><span id="L-281"><a href="#L-281"><span class="linenos">281</span></a> <span class="n">u</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">svd</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">full_matrices</span><span class="o">=</span><span class="kc">False</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
</span><span id="L-282"><a href="#L-282"><span class="linenos">282</span></a> <span class="n">s</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">svd</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">full_matrices</span><span class="o">=</span><span class="kc">False</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
</span><span id="L-283"><a href="#L-283"><span class="linenos">283</span></a> <span class="n">vh</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">svd</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">full_matrices</span><span class="o">=</span><span class="kc">False</span><span class="p">)[</span><span class="mi">2</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
@ -403,7 +403,7 @@
</div>
<a class="headerlink" href="#matmul"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="matmul-7"><a href="#matmul-7"><span class="linenos"> 7</span></a><span class="k">def</span> <span class="nf">matmul</span><span class="p">(</span><span class="o">*</span><span class="n">operands</span><span class="p">):</span>
</span><span id="matmul-8"><a href="#matmul-8"><span class="linenos"> 8</span></a> <span class="sd">&quot;&quot;&quot;Matrix multiply all operands.</span>
</span><span id="matmul-8"><a href="#matmul-8"><span class="linenos"> 8</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Matrix multiply all operands.</span>
</span><span id="matmul-9"><a href="#matmul-9"><span class="linenos"> 9</span></a>
</span><span id="matmul-10"><a href="#matmul-10"><span class="linenos">10</span></a><span class="sd"> Parameters</span>
</span><span id="matmul-11"><a href="#matmul-11"><span class="linenos">11</span></a><span class="sd"> ----------</span>
@ -485,7 +485,7 @@ Obs valued.</li>
</div>
<a class="headerlink" href="#jack_matmul"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="jack_matmul-63"><a href="#jack_matmul-63"><span class="linenos"> 63</span></a><span class="k">def</span> <span class="nf">jack_matmul</span><span class="p">(</span><span class="o">*</span><span class="n">operands</span><span class="p">):</span>
</span><span id="jack_matmul-64"><a href="#jack_matmul-64"><span class="linenos"> 64</span></a> <span class="sd">&quot;&quot;&quot;Matrix multiply both operands making use of the jackknife approximation.</span>
</span><span id="jack_matmul-64"><a href="#jack_matmul-64"><span class="linenos"> 64</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Matrix multiply both operands making use of the jackknife approximation.</span>
</span><span id="jack_matmul-65"><a href="#jack_matmul-65"><span class="linenos"> 65</span></a>
</span><span id="jack_matmul-66"><a href="#jack_matmul-66"><span class="linenos"> 66</span></a><span class="sd"> Parameters</span>
</span><span id="jack_matmul-67"><a href="#jack_matmul-67"><span class="linenos"> 67</span></a><span class="sd"> ----------</span>
@ -572,7 +572,7 @@ Obs valued.</li>
</div>
<a class="headerlink" href="#einsum"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="einsum-124"><a href="#einsum-124"><span class="linenos">124</span></a><span class="k">def</span> <span class="nf">einsum</span><span class="p">(</span><span class="n">subscripts</span><span class="p">,</span> <span class="o">*</span><span class="n">operands</span><span class="p">):</span>
</span><span id="einsum-125"><a href="#einsum-125"><span class="linenos">125</span></a> <span class="sd">&quot;&quot;&quot;Wrapper for numpy.einsum</span>
</span><span id="einsum-125"><a href="#einsum-125"><span class="linenos">125</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Wrapper for numpy.einsum</span>
</span><span id="einsum-126"><a href="#einsum-126"><span class="linenos">126</span></a>
</span><span id="einsum-127"><a href="#einsum-127"><span class="linenos">127</span></a><span class="sd"> Parameters</span>
</span><span id="einsum-128"><a href="#einsum-128"><span class="linenos">128</span></a><span class="sd"> ----------</span>
@ -673,7 +673,7 @@ Obs valued.</li>
</div>
<a class="headerlink" href="#inv"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="inv-198"><a href="#inv-198"><span class="linenos">198</span></a><span class="k">def</span> <span class="nf">inv</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
</span><span id="inv-199"><a href="#inv-199"><span class="linenos">199</span></a> <span class="sd">&quot;&quot;&quot;Inverse of Obs or CObs valued matrices.&quot;&quot;&quot;</span>
</span><span id="inv-199"><a href="#inv-199"><span class="linenos">199</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Inverse of Obs or CObs valued matrices.&quot;&quot;&quot;</span>
</span><span id="inv-200"><a href="#inv-200"><span class="linenos">200</span></a> <span class="k">return</span> <span class="n">_mat_mat_op</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">inv</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
</span></pre></div>
@ -695,7 +695,7 @@ Obs valued.</li>
</div>
<a class="headerlink" href="#cholesky"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="cholesky-203"><a href="#cholesky-203"><span class="linenos">203</span></a><span class="k">def</span> <span class="nf">cholesky</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
</span><span id="cholesky-204"><a href="#cholesky-204"><span class="linenos">204</span></a> <span class="sd">&quot;&quot;&quot;Cholesky decomposition of Obs valued matrices.&quot;&quot;&quot;</span>
</span><span id="cholesky-204"><a href="#cholesky-204"><span class="linenos">204</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Cholesky decomposition of Obs valued matrices.&quot;&quot;&quot;</span>
</span><span id="cholesky-205"><a href="#cholesky-205"><span class="linenos">205</span></a> <span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">CObs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">x</span><span class="o">.</span><span class="n">ravel</span><span class="p">()):</span>
</span><span id="cholesky-206"><a href="#cholesky-206"><span class="linenos">206</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Cholesky decomposition is not implemented for CObs.&quot;</span><span class="p">)</span>
</span><span id="cholesky-207"><a href="#cholesky-207"><span class="linenos">207</span></a> <span class="k">return</span> <span class="n">_mat_mat_op</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">cholesky</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
@ -719,7 +719,7 @@ Obs valued.</li>
</div>
<a class="headerlink" href="#det"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="det-210"><a href="#det-210"><span class="linenos">210</span></a><span class="k">def</span> <span class="nf">det</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
</span><span id="det-211"><a href="#det-211"><span class="linenos">211</span></a> <span class="sd">&quot;&quot;&quot;Determinant of Obs valued matrices.&quot;&quot;&quot;</span>
</span><span id="det-211"><a href="#det-211"><span class="linenos">211</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Determinant of Obs valued matrices.&quot;&quot;&quot;</span>
</span><span id="det-212"><a href="#det-212"><span class="linenos">212</span></a> <span class="k">return</span> <span class="n">_scalar_mat_op</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">det</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
</span></pre></div>
@ -741,7 +741,7 @@ Obs valued.</li>
</div>
<a class="headerlink" href="#eigh"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="eigh-262"><a href="#eigh-262"><span class="linenos">262</span></a><span class="k">def</span> <span class="nf">eigh</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="eigh-263"><a href="#eigh-263"><span class="linenos">263</span></a> <span class="sd">&quot;&quot;&quot;Computes the eigenvalues and eigenvectors of a given hermitian matrix of Obs according to np.linalg.eigh.&quot;&quot;&quot;</span>
</span><span id="eigh-263"><a href="#eigh-263"><span class="linenos">263</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Computes the eigenvalues and eigenvectors of a given hermitian matrix of Obs according to np.linalg.eigh.&quot;&quot;&quot;</span>
</span><span id="eigh-264"><a href="#eigh-264"><span class="linenos">264</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eigh</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
</span><span id="eigh-265"><a href="#eigh-265"><span class="linenos">265</span></a> <span class="n">v</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eigh</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
</span><span id="eigh-266"><a href="#eigh-266"><span class="linenos">266</span></a> <span class="k">return</span> <span class="n">w</span><span class="p">,</span> <span class="n">v</span>
@ -765,7 +765,7 @@ Obs valued.</li>
</div>
<a class="headerlink" href="#eig"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="eig-269"><a href="#eig-269"><span class="linenos">269</span></a><span class="k">def</span> <span class="nf">eig</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="eig-270"><a href="#eig-270"><span class="linenos">270</span></a> <span class="sd">&quot;&quot;&quot;Computes the eigenvalues of a given matrix of Obs according to np.linalg.eig.&quot;&quot;&quot;</span>
</span><span id="eig-270"><a href="#eig-270"><span class="linenos">270</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Computes the eigenvalues of a given matrix of Obs according to np.linalg.eig.&quot;&quot;&quot;</span>
</span><span id="eig-271"><a href="#eig-271"><span class="linenos">271</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">real</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eig</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="mi">0</span><span class="p">]),</span> <span class="n">obs</span><span class="p">)</span>
</span><span id="eig-272"><a href="#eig-272"><span class="linenos">272</span></a> <span class="k">return</span> <span class="n">w</span>
</span></pre></div>
@ -788,7 +788,7 @@ Obs valued.</li>
</div>
<a class="headerlink" href="#pinv"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="pinv-275"><a href="#pinv-275"><span class="linenos">275</span></a><span class="k">def</span> <span class="nf">pinv</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="pinv-276"><a href="#pinv-276"><span class="linenos">276</span></a> <span class="sd">&quot;&quot;&quot;Computes the Moore-Penrose pseudoinverse of a matrix of Obs.&quot;&quot;&quot;</span>
</span><span id="pinv-276"><a href="#pinv-276"><span class="linenos">276</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Computes the Moore-Penrose pseudoinverse of a matrix of Obs.&quot;&quot;&quot;</span>
</span><span id="pinv-277"><a href="#pinv-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">pinv</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">obs</span><span class="p">)</span>
</span></pre></div>
@ -810,7 +810,7 @@ Obs valued.</li>
</div>
<a class="headerlink" href="#svd"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="svd-280"><a href="#svd-280"><span class="linenos">280</span></a><span class="k">def</span> <span class="nf">svd</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="svd-281"><a href="#svd-281"><span class="linenos">281</span></a> <span class="sd">&quot;&quot;&quot;Computes the singular value decomposition of a matrix of Obs.&quot;&quot;&quot;</span>
</span><span id="svd-281"><a href="#svd-281"><span class="linenos">281</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Computes the singular value decomposition of a matrix of Obs.&quot;&quot;&quot;</span>
</span><span id="svd-282"><a href="#svd-282"><span class="linenos">282</span></a> <span class="n">u</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">svd</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">full_matrices</span><span class="o">=</span><span class="kc">False</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
</span><span id="svd-283"><a href="#svd-283"><span class="linenos">283</span></a> <span class="n">s</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">svd</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">full_matrices</span><span class="o">=</span><span class="kc">False</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
</span><span id="svd-284"><a href="#svd-284"><span class="linenos">284</span></a> <span class="n">vh</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">svd</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">full_matrices</span><span class="o">=</span><span class="kc">False</span><span class="p">)[</span><span class="mi">2</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>

View file

@ -91,7 +91,7 @@
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a>
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a>
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><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><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a> <span class="sd">&quot;&quot;&quot;Dump object into pickle file.</span>
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Dump object into pickle file.</span>
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a>
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="sd"> Parameters</span>
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="sd"> ----------</span>
@ -111,7 +111,7 @@
</span><span id="L-24"><a href="#L-24"><span class="linenos"> 24</span></a>
</span><span id="L-25"><a href="#L-25"><span class="linenos"> 25</span></a>
</span><span id="L-26"><a href="#L-26"><span class="linenos"> 26</span></a><span class="k">def</span> <span class="nf">load_object</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
</span><span id="L-27"><a href="#L-27"><span class="linenos"> 27</span></a> <span class="sd">&quot;&quot;&quot;Load object from pickle file.</span>
</span><span id="L-27"><a href="#L-27"><span class="linenos"> 27</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Load object from pickle file.</span>
</span><span id="L-28"><a href="#L-28"><span class="linenos"> 28</span></a>
</span><span id="L-29"><a href="#L-29"><span class="linenos"> 29</span></a><span class="sd"> Parameters</span>
</span><span id="L-30"><a href="#L-30"><span class="linenos"> 30</span></a><span class="sd"> ----------</span>
@ -123,7 +123,7 @@
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a>
</span><span id="L-37"><a href="#L-37"><span class="linenos"> 37</span></a>
</span><span id="L-38"><a href="#L-38"><span class="linenos"> 38</span></a><span class="k">def</span> <span class="nf">pseudo_Obs</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">dvalue</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">samples</span><span class="o">=</span><span class="mi">1000</span><span class="p">):</span>
</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a> <span class="sd">&quot;&quot;&quot;Generate an Obs object with given value, dvalue and name for test purposes</span>
</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Generate an Obs object with given value, dvalue and name for test purposes</span>
</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a>
</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a><span class="sd"> Parameters</span>
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a><span class="sd"> ----------</span>
@ -155,7 +155,7 @@
</span><span id="L-68"><a href="#L-68"><span class="linenos"> 68</span></a>
</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a>
</span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a><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><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a> <span class="sd">&quot;&quot;&quot; Generate observables with given covariance and autocorrelation times.</span>
</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Generate observables with given covariance and autocorrelation times.</span>
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a>
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a><span class="sd"> Parameters</span>
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a><span class="sd"> ----------</span>
@ -216,7 +216,7 @@
</div>
<a class="headerlink" href="#dump_object"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="dump_object-7"><a href="#dump_object-7"><span class="linenos"> 7</span></a><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><span id="dump_object-8"><a href="#dump_object-8"><span class="linenos"> 8</span></a> <span class="sd">&quot;&quot;&quot;Dump object into pickle file.</span>
</span><span id="dump_object-8"><a href="#dump_object-8"><span class="linenos"> 8</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Dump object into pickle file.</span>
</span><span id="dump_object-9"><a href="#dump_object-9"><span class="linenos"> 9</span></a>
</span><span id="dump_object-10"><a href="#dump_object-10"><span class="linenos">10</span></a><span class="sd"> Parameters</span>
</span><span id="dump_object-11"><a href="#dump_object-11"><span class="linenos">11</span></a><span class="sd"> ----------</span>
@ -264,7 +264,7 @@ specifies a custom path for the file (default '.')</li>
</div>
<a class="headerlink" href="#load_object"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="load_object-27"><a href="#load_object-27"><span class="linenos">27</span></a><span class="k">def</span> <span class="nf">load_object</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
</span><span id="load_object-28"><a href="#load_object-28"><span class="linenos">28</span></a> <span class="sd">&quot;&quot;&quot;Load object from pickle file.</span>
</span><span id="load_object-28"><a href="#load_object-28"><span class="linenos">28</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Load object from pickle file.</span>
</span><span id="load_object-29"><a href="#load_object-29"><span class="linenos">29</span></a>
</span><span id="load_object-30"><a href="#load_object-30"><span class="linenos">30</span></a><span class="sd"> Parameters</span>
</span><span id="load_object-31"><a href="#load_object-31"><span class="linenos">31</span></a><span class="sd"> ----------</span>
@ -300,7 +300,7 @@ path to the file</li>
</div>
<a class="headerlink" href="#pseudo_Obs"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="pseudo_Obs-39"><a href="#pseudo_Obs-39"><span class="linenos">39</span></a><span class="k">def</span> <span class="nf">pseudo_Obs</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">dvalue</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">samples</span><span class="o">=</span><span class="mi">1000</span><span class="p">):</span>
</span><span id="pseudo_Obs-40"><a href="#pseudo_Obs-40"><span class="linenos">40</span></a> <span class="sd">&quot;&quot;&quot;Generate an Obs object with given value, dvalue and name for test purposes</span>
</span><span id="pseudo_Obs-40"><a href="#pseudo_Obs-40"><span class="linenos">40</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Generate an Obs object with given value, dvalue and name for test purposes</span>
</span><span id="pseudo_Obs-41"><a href="#pseudo_Obs-41"><span class="linenos">41</span></a>
</span><span id="pseudo_Obs-42"><a href="#pseudo_Obs-42"><span class="linenos">42</span></a><span class="sd"> Parameters</span>
</span><span id="pseudo_Obs-43"><a href="#pseudo_Obs-43"><span class="linenos">43</span></a><span class="sd"> ----------</span>
@ -362,7 +362,7 @@ number of samples for the Obs (default 1000).</li>
</div>
<a class="headerlink" href="#gen_correlated_data"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="gen_correlated_data-71"><a href="#gen_correlated_data-71"><span class="linenos"> 71</span></a><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><span id="gen_correlated_data-72"><a href="#gen_correlated_data-72"><span class="linenos"> 72</span></a> <span class="sd">&quot;&quot;&quot; Generate observables with given covariance and autocorrelation times.</span>
</span><span id="gen_correlated_data-72"><a href="#gen_correlated_data-72"><span class="linenos"> 72</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Generate observables with given covariance and autocorrelation times.</span>
</span><span id="gen_correlated_data-73"><a href="#gen_correlated_data-73"><span class="linenos"> 73</span></a>
</span><span id="gen_correlated_data-74"><a href="#gen_correlated_data-74"><span class="linenos"> 74</span></a><span class="sd"> Parameters</span>
</span><span id="gen_correlated_data-75"><a href="#gen_correlated_data-75"><span class="linenos"> 75</span></a><span class="sd"> ----------</span>

View file

@ -83,7 +83,7 @@
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a>
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a>
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="k">def</span> <span class="nf">matrix_pencil_method</span><span class="p">(</span><span class="n">corrs</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">p</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><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a> <span class="sd">&quot;&quot;&quot;Matrix pencil method to extract k energy levels from data</span>
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Matrix pencil method to extract k energy levels from data</span>
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a>
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a><span class="sd"> Implementation of the matrix pencil method based on</span>
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a><span class="sd"> eq. (2.17) of Y. Hua, T. K. Sarkar, IEEE Trans. Acoust. 38, 814-824 (1990)</span>
@ -150,7 +150,7 @@
</div>
<a class="headerlink" href="#matrix_pencil_method"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="matrix_pencil_method-8"><a href="#matrix_pencil_method-8"><span class="linenos"> 8</span></a><span class="k">def</span> <span class="nf">matrix_pencil_method</span><span class="p">(</span><span class="n">corrs</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">p</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><span id="matrix_pencil_method-9"><a href="#matrix_pencil_method-9"><span class="linenos"> 9</span></a> <span class="sd">&quot;&quot;&quot;Matrix pencil method to extract k energy levels from data</span>
</span><span id="matrix_pencil_method-9"><a href="#matrix_pencil_method-9"><span class="linenos"> 9</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Matrix pencil method to extract k energy levels from data</span>
</span><span id="matrix_pencil_method-10"><a href="#matrix_pencil_method-10"><span class="linenos">10</span></a>
</span><span id="matrix_pencil_method-11"><a href="#matrix_pencil_method-11"><span class="linenos">11</span></a><span class="sd"> Implementation of the matrix pencil method based on</span>
</span><span id="matrix_pencil_method-12"><a href="#matrix_pencil_method-12"><span class="linenos">12</span></a><span class="sd"> eq. (2.17) of Y. Hua, T. K. Sarkar, IEEE Trans. Acoust. 38, 814-824 (1990)</span>

View file

@ -221,7 +221,7 @@
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a>
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a>
</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a><span class="k">class</span> <span class="nc">Obs</span><span class="p">:</span>
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a> <span class="sd">&quot;&quot;&quot;Class for a general observable.</span>
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Class for a general observable.</span>
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a>
</span><span id="L-22"><a href="#L-22"><span class="linenos"> 22</span></a><span class="sd"> Instances of Obs are the basic objects of a pyerrors error analysis.</span>
</span><span id="L-23"><a href="#L-23"><span class="linenos"> 23</span></a><span class="sd"> They are initialized with a list which contains arrays of samples for</span>
@ -264,7 +264,7 @@
</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a> <span class="n">filter_eps</span> <span class="o">=</span> <span class="mf">1e-10</span>
</span><span id="L-61"><a href="#L-61"><span class="linenos"> 61</span></a>
</span><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a> <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="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a> <span class="sd">&quot;&quot;&quot; Initialize Obs object.</span>
</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Initialize Obs object.</span>
</span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a>
</span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a><span class="sd"> Parameters</span>
</span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a><span class="sd"> ----------</span>
@ -379,7 +379,7 @@
</span><span id="L-175"><a href="#L-175"><span class="linenos"> 175</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_covobs</span>
</span><span id="L-176"><a href="#L-176"><span class="linenos"> 176</span></a>
</span><span id="L-177"><a href="#L-177"><span class="linenos"> 177</span></a> <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><span id="L-178"><a href="#L-178"><span class="linenos"> 178</span></a> <span class="sd">&quot;&quot;&quot;Estimate the error and related properties of the Obs.</span>
</span><span id="L-178"><a href="#L-178"><span class="linenos"> 178</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Estimate the error and related properties of the Obs.</span>
</span><span id="L-179"><a href="#L-179"><span class="linenos"> 179</span></a>
</span><span id="L-180"><a href="#L-180"><span class="linenos"> 180</span></a><span class="sd"> Parameters</span>
</span><span id="L-181"><a href="#L-181"><span class="linenos"> 181</span></a><span class="sd"> ----------</span>
@ -554,7 +554,7 @@
</span><span id="L-350"><a href="#L-350"><span class="linenos"> 350</span></a> <span class="k">return</span>
</span><span id="L-351"><a href="#L-351"><span class="linenos"> 351</span></a>
</span><span id="L-352"><a href="#L-352"><span class="linenos"> 352</span></a> <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><span id="L-353"><a href="#L-353"><span class="linenos"> 353</span></a> <span class="sd">&quot;&quot;&quot;Calculate Gamma_{AA} from the deltas, which are defined on idx.</span>
</span><span id="L-353"><a href="#L-353"><span class="linenos"> 353</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Calculate Gamma_{AA} from the deltas, which are defined on idx.</span>
</span><span id="L-354"><a href="#L-354"><span class="linenos"> 354</span></a><span class="sd"> idx is assumed to be a contiguous range (possibly with a stepsize != 1)</span>
</span><span id="L-355"><a href="#L-355"><span class="linenos"> 355</span></a>
</span><span id="L-356"><a href="#L-356"><span class="linenos"> 356</span></a><span class="sd"> Parameters</span>
@ -587,7 +587,7 @@
</span><span id="L-383"><a href="#L-383"><span class="linenos"> 383</span></a> <span class="k">return</span> <span class="n">gamma</span>
</span><span id="L-384"><a href="#L-384"><span class="linenos"> 384</span></a>
</span><span id="L-385"><a href="#L-385"><span class="linenos"> 385</span></a> <span class="k">def</span> <span class="nf">details</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ens_content</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="L-386"><a href="#L-386"><span class="linenos"> 386</span></a> <span class="sd">&quot;&quot;&quot;Output detailed properties of the Obs.</span>
</span><span id="L-386"><a href="#L-386"><span class="linenos"> 386</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Output detailed properties of the Obs.</span>
</span><span id="L-387"><a href="#L-387"><span class="linenos"> 387</span></a>
</span><span id="L-388"><a href="#L-388"><span class="linenos"> 388</span></a><span class="sd"> Parameters</span>
</span><span id="L-389"><a href="#L-389"><span class="linenos"> 389</span></a><span class="sd"> ----------</span>
@ -659,7 +659,7 @@
</span><span id="L-455"><a href="#L-455"><span class="linenos"> 455</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">my_string_list</span><span class="p">))</span>
</span><span id="L-456"><a href="#L-456"><span class="linenos"> 456</span></a>
</span><span id="L-457"><a href="#L-457"><span class="linenos"> 457</span></a> <span class="k">def</span> <span class="nf">reweight</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">weight</span><span class="p">):</span>
</span><span id="L-458"><a href="#L-458"><span class="linenos"> 458</span></a> <span class="sd">&quot;&quot;&quot;Reweight the obs with given rewighting factors.</span>
</span><span id="L-458"><a href="#L-458"><span class="linenos"> 458</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Reweight the obs with given rewighting factors.</span>
</span><span id="L-459"><a href="#L-459"><span class="linenos"> 459</span></a>
</span><span id="L-460"><a href="#L-460"><span class="linenos"> 460</span></a><span class="sd"> Parameters</span>
</span><span id="L-461"><a href="#L-461"><span class="linenos"> 461</span></a><span class="sd"> ----------</span>
@ -674,7 +674,7 @@
</span><span id="L-470"><a href="#L-470"><span class="linenos"> 470</span></a> <span class="k">return</span> <span class="n">reweight</span><span class="p">(</span><span class="n">weight</span><span class="p">,</span> <span class="p">[</span><span class="bp">self</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-471"><a href="#L-471"><span class="linenos"> 471</span></a>
</span><span id="L-472"><a href="#L-472"><span class="linenos"> 472</span></a> <span class="k">def</span> <span class="nf">is_zero_within_error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sigma</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
</span><span id="L-473"><a href="#L-473"><span class="linenos"> 473</span></a> <span class="sd">&quot;&quot;&quot;Checks whether the observable is zero within &#39;sigma&#39; standard errors.</span>
</span><span id="L-473"><a href="#L-473"><span class="linenos"> 473</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks whether the observable is zero within &#39;sigma&#39; standard errors.</span>
</span><span id="L-474"><a href="#L-474"><span class="linenos"> 474</span></a>
</span><span id="L-475"><a href="#L-475"><span class="linenos"> 475</span></a><span class="sd"> Parameters</span>
</span><span id="L-476"><a href="#L-476"><span class="linenos"> 476</span></a><span class="sd"> ----------</span>
@ -686,7 +686,7 @@
</span><span id="L-482"><a href="#L-482"><span class="linenos"> 482</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_zero</span><span class="p">()</span> <span class="ow">or</span> <span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">value</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="n">sigma</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dvalue</span>
</span><span id="L-483"><a href="#L-483"><span class="linenos"> 483</span></a>
</span><span id="L-484"><a href="#L-484"><span class="linenos"> 484</span></a> <span class="k">def</span> <span class="nf">is_zero</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">atol</span><span class="o">=</span><span class="mf">1e-10</span><span class="p">):</span>
</span><span id="L-485"><a href="#L-485"><span class="linenos"> 485</span></a> <span class="sd">&quot;&quot;&quot;Checks whether the observable is zero within a given tolerance.</span>
</span><span id="L-485"><a href="#L-485"><span class="linenos"> 485</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks whether the observable is zero within a given tolerance.</span>
</span><span id="L-486"><a href="#L-486"><span class="linenos"> 486</span></a>
</span><span id="L-487"><a href="#L-487"><span class="linenos"> 487</span></a><span class="sd"> Parameters</span>
</span><span id="L-488"><a href="#L-488"><span class="linenos"> 488</span></a><span class="sd"> ----------</span>
@ -696,7 +696,7 @@
</span><span id="L-492"><a href="#L-492"><span class="linenos"> 492</span></a> <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">isclose</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="mf">1e-14</span><span class="p">,</span> <span class="n">atol</span><span class="p">)</span> <span class="ow">and</span> <span class="nb">all</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">allclose</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">delta</span><span class="p">,</span> <span class="mf">1e-14</span><span class="p">,</span> <span class="n">atol</span><span class="p">)</span> <span class="k">for</span> <span class="n">delta</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">deltas</span><span class="o">.</span><span class="n">values</span><span class="p">())</span> <span class="ow">and</span> <span class="nb">all</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">allclose</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">delta</span><span class="o">.</span><span class="n">errsq</span><span class="p">(),</span> <span class="mf">1e-14</span><span class="p">,</span> <span class="n">atol</span><span class="p">)</span> <span class="k">for</span> <span class="n">delta</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">covobs</span><span class="o">.</span><span class="n">values</span><span class="p">())</span>
</span><span id="L-493"><a href="#L-493"><span class="linenos"> 493</span></a>
</span><span id="L-494"><a href="#L-494"><span class="linenos"> 494</span></a> <span class="k">def</span> <span class="nf">plot_tauint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">save</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-495"><a href="#L-495"><span class="linenos"> 495</span></a> <span class="sd">&quot;&quot;&quot;Plot integrated autocorrelation time for each ensemble.</span>
</span><span id="L-495"><a href="#L-495"><span class="linenos"> 495</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot integrated autocorrelation time for each ensemble.</span>
</span><span id="L-496"><a href="#L-496"><span class="linenos"> 496</span></a>
</span><span id="L-497"><a href="#L-497"><span class="linenos"> 497</span></a><span class="sd"> Parameters</span>
</span><span id="L-498"><a href="#L-498"><span class="linenos"> 498</span></a><span class="sd"> ----------</span>
@ -736,7 +736,7 @@
</span><span id="L-532"><a href="#L-532"><span class="linenos"> 532</span></a> <span class="n">fig</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">save</span> <span class="o">+</span> <span class="s2">&quot;_&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
</span><span id="L-533"><a href="#L-533"><span class="linenos"> 533</span></a>
</span><span id="L-534"><a href="#L-534"><span class="linenos"> 534</span></a> <span class="k">def</span> <span class="nf">plot_rho</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">save</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-535"><a href="#L-535"><span class="linenos"> 535</span></a> <span class="sd">&quot;&quot;&quot;Plot normalized autocorrelation function time for each ensemble.</span>
</span><span id="L-535"><a href="#L-535"><span class="linenos"> 535</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot normalized autocorrelation function time for each ensemble.</span>
</span><span id="L-536"><a href="#L-536"><span class="linenos"> 536</span></a>
</span><span id="L-537"><a href="#L-537"><span class="linenos"> 537</span></a><span class="sd"> Parameters</span>
</span><span id="L-538"><a href="#L-538"><span class="linenos"> 538</span></a><span class="sd"> ----------</span>
@ -767,7 +767,7 @@
</span><span id="L-563"><a href="#L-563"><span class="linenos"> 563</span></a> <span class="n">fig</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">save</span> <span class="o">+</span> <span class="s2">&quot;_&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
</span><span id="L-564"><a href="#L-564"><span class="linenos"> 564</span></a>
</span><span id="L-565"><a href="#L-565"><span class="linenos"> 565</span></a> <span class="k">def</span> <span class="nf">plot_rep_dist</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="L-566"><a href="#L-566"><span class="linenos"> 566</span></a> <span class="sd">&quot;&quot;&quot;Plot replica distribution for each ensemble with more than one replicum.&quot;&quot;&quot;</span>
</span><span id="L-566"><a href="#L-566"><span class="linenos"> 566</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot replica distribution for each ensemble with more than one replicum.&quot;&quot;&quot;</span>
</span><span id="L-567"><a href="#L-567"><span class="linenos"> 567</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;e_dvalue&#39;</span><span class="p">):</span>
</span><span id="L-568"><a href="#L-568"><span class="linenos"> 568</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Run the gamma method first.&#39;</span><span class="p">)</span>
</span><span id="L-569"><a href="#L-569"><span class="linenos"> 569</span></a> <span class="k">for</span> <span class="n">e</span><span class="p">,</span> <span class="n">e_name</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mc_names</span><span class="p">):</span>
@ -789,7 +789,7 @@
</span><span id="L-585"><a href="#L-585"><span class="linenos"> 585</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
</span><span id="L-586"><a href="#L-586"><span class="linenos"> 586</span></a>
</span><span id="L-587"><a href="#L-587"><span class="linenos"> 587</span></a> <span class="k">def</span> <span class="nf">plot_history</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">expand</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="L-588"><a href="#L-588"><span class="linenos"> 588</span></a> <span class="sd">&quot;&quot;&quot;Plot derived Monte Carlo history for each ensemble</span>
</span><span id="L-588"><a href="#L-588"><span class="linenos"> 588</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot derived Monte Carlo history for each ensemble</span>
</span><span id="L-589"><a href="#L-589"><span class="linenos"> 589</span></a>
</span><span id="L-590"><a href="#L-590"><span class="linenos"> 590</span></a><span class="sd"> Parameters</span>
</span><span id="L-591"><a href="#L-591"><span class="linenos"> 591</span></a><span class="sd"> ----------</span>
@ -821,7 +821,7 @@
</span><span id="L-617"><a href="#L-617"><span class="linenos"> 617</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
</span><span id="L-618"><a href="#L-618"><span class="linenos"> 618</span></a>
</span><span id="L-619"><a href="#L-619"><span class="linenos"> 619</span></a> <span class="k">def</span> <span class="nf">plot_piechart</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">save</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-620"><a href="#L-620"><span class="linenos"> 620</span></a> <span class="sd">&quot;&quot;&quot;Plot piechart which shows the fractional contribution of each</span>
</span><span id="L-620"><a href="#L-620"><span class="linenos"> 620</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot piechart which shows the fractional contribution of each</span>
</span><span id="L-621"><a href="#L-621"><span class="linenos"> 621</span></a><span class="sd"> ensemble to the error and returns a dictionary containing the fractions.</span>
</span><span id="L-622"><a href="#L-622"><span class="linenos"> 622</span></a>
</span><span id="L-623"><a href="#L-623"><span class="linenos"> 623</span></a><span class="sd"> Parameters</span>
@ -845,7 +845,7 @@
</span><span id="L-641"><a href="#L-641"><span class="linenos"> 641</span></a> <span class="k">return</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">e_names</span><span class="p">,</span> <span class="n">sizes</span><span class="p">))</span>
</span><span id="L-642"><a href="#L-642"><span class="linenos"> 642</span></a>
</span><span id="L-643"><a href="#L-643"><span class="linenos"> 643</span></a> <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="n">datatype</span><span class="o">=</span><span class="s2">&quot;json.gz&quot;</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-644"><a href="#L-644"><span class="linenos"> 644</span></a> <span class="sd">&quot;&quot;&quot;Dump the Obs to a file &#39;name&#39; of chosen format.</span>
</span><span id="L-644"><a href="#L-644"><span class="linenos"> 644</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Dump the Obs to a file &#39;name&#39; of chosen format.</span>
</span><span id="L-645"><a href="#L-645"><span class="linenos"> 645</span></a>
</span><span id="L-646"><a href="#L-646"><span class="linenos"> 646</span></a><span class="sd"> Parameters</span>
</span><span id="L-647"><a href="#L-647"><span class="linenos"> 647</span></a><span class="sd"> ----------</span>
@ -874,7 +874,7 @@
</span><span id="L-670"><a href="#L-670"><span class="linenos"> 670</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unknown datatype &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">datatype</span><span class="p">))</span>
</span><span id="L-671"><a href="#L-671"><span class="linenos"> 671</span></a>
</span><span id="L-672"><a href="#L-672"><span class="linenos"> 672</span></a> <span class="k">def</span> <span class="nf">export_jackknife</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="L-673"><a href="#L-673"><span class="linenos"> 673</span></a> <span class="sd">&quot;&quot;&quot;Export jackknife samples from the Obs</span>
</span><span id="L-673"><a href="#L-673"><span class="linenos"> 673</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Export jackknife samples from the Obs</span>
</span><span id="L-674"><a href="#L-674"><span class="linenos"> 674</span></a>
</span><span id="L-675"><a href="#L-675"><span class="linenos"> 675</span></a><span class="sd"> Returns</span>
</span><span id="L-676"><a href="#L-676"><span class="linenos"> 676</span></a><span class="sd"> -------</span>
@ -1072,7 +1072,7 @@
</span><span id="L-868"><a href="#L-868"><span class="linenos"> 868</span></a>
</span><span id="L-869"><a href="#L-869"><span class="linenos"> 869</span></a>
</span><span id="L-870"><a href="#L-870"><span class="linenos"> 870</span></a><span class="k">class</span> <span class="nc">CObs</span><span class="p">:</span>
</span><span id="L-871"><a href="#L-871"><span class="linenos"> 871</span></a> <span class="sd">&quot;&quot;&quot;Class for a complex valued observable.&quot;&quot;&quot;</span>
</span><span id="L-871"><a href="#L-871"><span class="linenos"> 871</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Class for a complex valued observable.&quot;&quot;&quot;</span>
</span><span id="L-872"><a href="#L-872"><span class="linenos"> 872</span></a> <span class="vm">__slots__</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;_real&#39;</span><span class="p">,</span> <span class="s1">&#39;_imag&#39;</span><span class="p">,</span> <span class="s1">&#39;tag&#39;</span><span class="p">]</span>
</span><span id="L-873"><a href="#L-873"><span class="linenos"> 873</span></a>
</span><span id="L-874"><a href="#L-874"><span class="linenos"> 874</span></a> <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">real</span><span class="p">,</span> <span class="n">imag</span><span class="o">=</span><span class="mf">0.0</span><span class="p">):</span>
@ -1089,14 +1089,14 @@
</span><span id="L-885"><a href="#L-885"><span class="linenos"> 885</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_imag</span>
</span><span id="L-886"><a href="#L-886"><span class="linenos"> 886</span></a>
</span><span id="L-887"><a href="#L-887"><span class="linenos"> 887</span></a> <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><span id="L-888"><a href="#L-888"><span class="linenos"> 888</span></a> <span class="sd">&quot;&quot;&quot;Executes the gamma_method for the real and the imaginary part.&quot;&quot;&quot;</span>
</span><span id="L-888"><a href="#L-888"><span class="linenos"> 888</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Executes the gamma_method for the real and the imaginary part.&quot;&quot;&quot;</span>
</span><span id="L-889"><a href="#L-889"><span class="linenos"> 889</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">real</span><span class="p">,</span> <span class="n">Obs</span><span class="p">):</span>
</span><span id="L-890"><a href="#L-890"><span class="linenos"> 890</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">real</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
</span><span id="L-891"><a href="#L-891"><span class="linenos"> 891</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">imag</span><span class="p">,</span> <span class="n">Obs</span><span class="p">):</span>
</span><span id="L-892"><a href="#L-892"><span class="linenos"> 892</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">imag</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
</span><span id="L-893"><a href="#L-893"><span class="linenos"> 893</span></a>
</span><span id="L-894"><a href="#L-894"><span class="linenos"> 894</span></a> <span class="k">def</span> <span class="nf">is_zero</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="L-895"><a href="#L-895"><span class="linenos"> 895</span></a> <span class="sd">&quot;&quot;&quot;Checks whether both real and imaginary part are zero within machine precision.&quot;&quot;&quot;</span>
</span><span id="L-895"><a href="#L-895"><span class="linenos"> 895</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks whether both real and imaginary part are zero within machine precision.&quot;&quot;&quot;</span>
</span><span id="L-896"><a href="#L-896"><span class="linenos"> 896</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">real</span> <span class="o">==</span> <span class="mf">0.0</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">imag</span> <span class="o">==</span> <span class="mf">0.0</span>
</span><span id="L-897"><a href="#L-897"><span class="linenos"> 897</span></a>
</span><span id="L-898"><a href="#L-898"><span class="linenos"> 898</span></a> <span class="k">def</span> <span class="nf">conjugate</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@ -1183,7 +1183,7 @@
</span><span id="L-979"><a href="#L-979"><span class="linenos"> 979</span></a>
</span><span id="L-980"><a href="#L-980"><span class="linenos"> 980</span></a>
</span><span id="L-981"><a href="#L-981"><span class="linenos"> 981</span></a><span class="k">def</span> <span class="nf">_format_uncertainty</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">dvalue</span><span class="p">):</span>
</span><span id="L-982"><a href="#L-982"><span class="linenos"> 982</span></a> <span class="sd">&quot;&quot;&quot;Creates a string of a value and its error in paranthesis notation, e.g., 13.02(45)&quot;&quot;&quot;</span>
</span><span id="L-982"><a href="#L-982"><span class="linenos"> 982</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Creates a string of a value and its error in paranthesis notation, e.g., 13.02(45)&quot;&quot;&quot;</span>
</span><span id="L-983"><a href="#L-983"><span class="linenos"> 983</span></a> <span class="k">if</span> <span class="n">dvalue</span> <span class="o">==</span> <span class="mf">0.0</span><span class="p">:</span>
</span><span id="L-984"><a href="#L-984"><span class="linenos"> 984</span></a> <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
</span><span id="L-985"><a href="#L-985"><span class="linenos"> 985</span></a> <span class="n">fexp</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">floor</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">log10</span><span class="p">(</span><span class="n">dvalue</span><span class="p">))</span>
@ -1196,7 +1196,7 @@
</span><span id="L-992"><a href="#L-992"><span class="linenos"> 992</span></a>
</span><span id="L-993"><a href="#L-993"><span class="linenos"> 993</span></a>
</span><span id="L-994"><a href="#L-994"><span class="linenos"> 994</span></a><span class="k">def</span> <span class="nf">_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><span id="L-995"><a href="#L-995"><span class="linenos"> 995</span></a> <span class="sd">&quot;&quot;&quot;Expand deltas defined on idx to a regular, contiguous range, where holes are filled by 0.</span>
</span><span id="L-995"><a href="#L-995"><span class="linenos"> 995</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Expand deltas defined on idx to a regular, contiguous range, where holes are filled by 0.</span>
</span><span id="L-996"><a href="#L-996"><span class="linenos"> 996</span></a><span class="sd"> If idx is of type range, the deltas are not changed</span>
</span><span id="L-997"><a href="#L-997"><span class="linenos"> 997</span></a>
</span><span id="L-998"><a href="#L-998"><span class="linenos"> 998</span></a><span class="sd"> Parameters</span>
@ -1218,7 +1218,7 @@
</span><span id="L-1014"><a href="#L-1014"><span class="linenos">1014</span></a>
</span><span id="L-1015"><a href="#L-1015"><span class="linenos">1015</span></a>
</span><span id="L-1016"><a href="#L-1016"><span class="linenos">1016</span></a><span class="k">def</span> <span class="nf">_merge_idx</span><span class="p">(</span><span class="n">idl</span><span class="p">):</span>
</span><span id="L-1017"><a href="#L-1017"><span class="linenos">1017</span></a> <span class="sd">&quot;&quot;&quot;Returns the union of all lists in idl as sorted list</span>
</span><span id="L-1017"><a href="#L-1017"><span class="linenos">1017</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns the union of all lists in idl as sorted list</span>
</span><span id="L-1018"><a href="#L-1018"><span class="linenos">1018</span></a>
</span><span id="L-1019"><a href="#L-1019"><span class="linenos">1019</span></a><span class="sd"> Parameters</span>
</span><span id="L-1020"><a href="#L-1020"><span class="linenos">1020</span></a><span class="sd"> ----------</span>
@ -1245,7 +1245,7 @@
</span><span id="L-1041"><a href="#L-1041"><span class="linenos">1041</span></a>
</span><span id="L-1042"><a href="#L-1042"><span class="linenos">1042</span></a>
</span><span id="L-1043"><a href="#L-1043"><span class="linenos">1043</span></a><span class="k">def</span> <span class="nf">_intersection_idx</span><span class="p">(</span><span class="n">idl</span><span class="p">):</span>
</span><span id="L-1044"><a href="#L-1044"><span class="linenos">1044</span></a> <span class="sd">&quot;&quot;&quot;Returns the intersection of all lists in idl as sorted list</span>
</span><span id="L-1044"><a href="#L-1044"><span class="linenos">1044</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns the intersection of all lists in idl as sorted list</span>
</span><span id="L-1045"><a href="#L-1045"><span class="linenos">1045</span></a>
</span><span id="L-1046"><a href="#L-1046"><span class="linenos">1046</span></a><span class="sd"> Parameters</span>
</span><span id="L-1047"><a href="#L-1047"><span class="linenos">1047</span></a><span class="sd"> ----------</span>
@ -1254,7 +1254,7 @@
</span><span id="L-1050"><a href="#L-1050"><span class="linenos">1050</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1051"><a href="#L-1051"><span class="linenos">1051</span></a>
</span><span id="L-1052"><a href="#L-1052"><span class="linenos">1052</span></a> <span class="k">def</span> <span class="nf">_lcm</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">):</span>
</span><span id="L-1053"><a href="#L-1053"><span class="linenos">1053</span></a> <span class="sd">&quot;&quot;&quot;Returns the lowest common multiple of args.</span>
</span><span id="L-1053"><a href="#L-1053"><span class="linenos">1053</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns the lowest common multiple of args.</span>
</span><span id="L-1054"><a href="#L-1054"><span class="linenos">1054</span></a>
</span><span id="L-1055"><a href="#L-1055"><span class="linenos">1055</span></a><span class="sd"> From python 3.9 onwards the math library contains an lcm function.&quot;&quot;&quot;</span>
</span><span id="L-1056"><a href="#L-1056"><span class="linenos">1056</span></a> <span class="k">return</span> <span class="n">reduce</span><span class="p">(</span><span class="k">lambda</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">:</span> <span class="n">a</span> <span class="o">*</span> <span class="n">b</span> <span class="o">//</span> <span class="n">gcd</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">),</span> <span class="n">args</span><span class="p">)</span>
@ -1278,7 +1278,7 @@
</span><span id="L-1074"><a href="#L-1074"><span class="linenos">1074</span></a>
</span><span id="L-1075"><a href="#L-1075"><span class="linenos">1075</span></a>
</span><span id="L-1076"><a href="#L-1076"><span class="linenos">1076</span></a><span class="k">def</span> <span class="nf">_expand_deltas_for_merge</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_idx</span><span class="p">):</span>
</span><span id="L-1077"><a href="#L-1077"><span class="linenos">1077</span></a> <span class="sd">&quot;&quot;&quot;Expand deltas defined on idx to the list of configs that is defined by new_idx.</span>
</span><span id="L-1077"><a href="#L-1077"><span class="linenos">1077</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Expand deltas defined on idx to the list of configs that is defined by new_idx.</span>
</span><span id="L-1078"><a href="#L-1078"><span class="linenos">1078</span></a><span class="sd"> New, empty entries are filled by 0. If idx and new_idx are of type range, the smallest</span>
</span><span id="L-1079"><a href="#L-1079"><span class="linenos">1079</span></a><span class="sd"> common divisor of the step sizes is used as new step size.</span>
</span><span id="L-1080"><a href="#L-1080"><span class="linenos">1080</span></a>
@ -1305,7 +1305,7 @@
</span><span id="L-1101"><a href="#L-1101"><span class="linenos">1101</span></a>
</span><span id="L-1102"><a href="#L-1102"><span class="linenos">1102</span></a>
</span><span id="L-1103"><a href="#L-1103"><span class="linenos">1103</span></a><span class="k">def</span> <span class="nf">_filter_zeroes</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">eps</span><span class="o">=</span><span class="n">Obs</span><span class="o">.</span><span class="n">filter_eps</span><span class="p">):</span>
</span><span id="L-1104"><a href="#L-1104"><span class="linenos">1104</span></a> <span class="sd">&quot;&quot;&quot;Filter out all configurations with vanishing fluctuation such that they do not</span>
</span><span id="L-1104"><a href="#L-1104"><span class="linenos">1104</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Filter out all configurations with vanishing fluctuation such that they do not</span>
</span><span id="L-1105"><a href="#L-1105"><span class="linenos">1105</span></a><span class="sd"> contribute to the error estimate anymore. Returns the new deltas and</span>
</span><span id="L-1106"><a href="#L-1106"><span class="linenos">1106</span></a><span class="sd"> idx according to the filtering.</span>
</span><span id="L-1107"><a href="#L-1107"><span class="linenos">1107</span></a><span class="sd"> A fluctuation is considered to be vanishing, if it is smaller than eps times</span>
@ -1334,7 +1334,7 @@
</span><span id="L-1130"><a href="#L-1130"><span class="linenos">1130</span></a>
</span><span id="L-1131"><a href="#L-1131"><span class="linenos">1131</span></a>
</span><span id="L-1132"><a href="#L-1132"><span class="linenos">1132</span></a><span class="k">def</span> <span class="nf">derived_observable</span><span class="p">(</span><span class="n">func</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">array_mode</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><span id="L-1133"><a href="#L-1133"><span class="linenos">1133</span></a> <span class="sd">&quot;&quot;&quot;Construct a derived Obs according to func(data, **kwargs) using automatic differentiation.</span>
</span><span id="L-1133"><a href="#L-1133"><span class="linenos">1133</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Construct a derived Obs according to func(data, **kwargs) using automatic differentiation.</span>
</span><span id="L-1134"><a href="#L-1134"><span class="linenos">1134</span></a>
</span><span id="L-1135"><a href="#L-1135"><span class="linenos">1135</span></a><span class="sd"> Parameters</span>
</span><span id="L-1136"><a href="#L-1136"><span class="linenos">1136</span></a><span class="sd"> ----------</span>
@ -1514,7 +1514,7 @@
</span><span id="L-1310"><a href="#L-1310"><span class="linenos">1310</span></a>
</span><span id="L-1311"><a href="#L-1311"><span class="linenos">1311</span></a>
</span><span id="L-1312"><a href="#L-1312"><span class="linenos">1312</span></a><span class="k">def</span> <span class="nf">_reduce_deltas</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="n">idx_old</span><span class="p">,</span> <span class="n">idx_new</span><span class="p">):</span>
</span><span id="L-1313"><a href="#L-1313"><span class="linenos">1313</span></a> <span class="sd">&quot;&quot;&quot;Extract deltas defined on idx_old on all configs of idx_new.</span>
</span><span id="L-1313"><a href="#L-1313"><span class="linenos">1313</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Extract deltas defined on idx_old on all configs of idx_new.</span>
</span><span id="L-1314"><a href="#L-1314"><span class="linenos">1314</span></a>
</span><span id="L-1315"><a href="#L-1315"><span class="linenos">1315</span></a><span class="sd"> Assumes, that idx_old and idx_new are correctly defined idl, i.e., they</span>
</span><span id="L-1316"><a href="#L-1316"><span class="linenos">1316</span></a><span class="sd"> are ordered in an ascending order.</span>
@ -1548,7 +1548,7 @@
</span><span id="L-1344"><a href="#L-1344"><span class="linenos">1344</span></a>
</span><span id="L-1345"><a href="#L-1345"><span class="linenos">1345</span></a>
</span><span id="L-1346"><a href="#L-1346"><span class="linenos">1346</span></a><span class="k">def</span> <span class="nf">reweight</span><span class="p">(</span><span class="n">weight</span><span class="p">,</span> <span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-1347"><a href="#L-1347"><span class="linenos">1347</span></a> <span class="sd">&quot;&quot;&quot;Reweight a list of observables.</span>
</span><span id="L-1347"><a href="#L-1347"><span class="linenos">1347</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Reweight a list of observables.</span>
</span><span id="L-1348"><a href="#L-1348"><span class="linenos">1348</span></a>
</span><span id="L-1349"><a href="#L-1349"><span class="linenos">1349</span></a><span class="sd"> Parameters</span>
</span><span id="L-1350"><a href="#L-1350"><span class="linenos">1350</span></a><span class="sd"> ----------</span>
@ -1591,7 +1591,7 @@
</span><span id="L-1387"><a href="#L-1387"><span class="linenos">1387</span></a>
</span><span id="L-1388"><a href="#L-1388"><span class="linenos">1388</span></a>
</span><span id="L-1389"><a href="#L-1389"><span class="linenos">1389</span></a><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><span id="L-1390"><a href="#L-1390"><span class="linenos">1390</span></a> <span class="sd">&quot;&quot;&quot;Correlate two observables.</span>
</span><span id="L-1390"><a href="#L-1390"><span class="linenos">1390</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Correlate two observables.</span>
</span><span id="L-1391"><a href="#L-1391"><span class="linenos">1391</span></a>
</span><span id="L-1392"><a href="#L-1392"><span class="linenos">1392</span></a><span class="sd"> Parameters</span>
</span><span id="L-1393"><a href="#L-1393"><span class="linenos">1393</span></a><span class="sd"> ----------</span>
@ -1608,7 +1608,7 @@
</span><span id="L-1404"><a href="#L-1404"><span class="linenos">1404</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1405"><a href="#L-1405"><span class="linenos">1405</span></a>
</span><span id="L-1406"><a href="#L-1406"><span class="linenos">1406</span></a> <span class="k">if</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">obs_a</span><span class="o">.</span><span class="n">names</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">obs_b</span><span class="o">.</span><span class="n">names</span><span class="p">):</span>
</span><span id="L-1407"><a href="#L-1407"><span class="linenos">1407</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Ensembles do not fit </span><span class="si">{</span><span class="nb">set</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">obs_a</span><span class="o">.</span><span class="n">names</span><span class="p">))</span> <span class="o">^</span> <span class="nb">set</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">obs_b</span><span class="o">.</span><span class="n">names</span><span class="p">))</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
</span><span id="L-1407"><a href="#L-1407"><span class="linenos">1407</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Ensembles do not fit </span><span class="si">{</span><span class="nb">set</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">obs_a</span><span class="o">.</span><span class="n">names</span><span class="p">))</span><span class="w"> </span><span class="o">^</span><span class="w"> </span><span class="nb">set</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">obs_b</span><span class="o">.</span><span class="n">names</span><span class="p">))</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
</span><span id="L-1408"><a href="#L-1408"><span class="linenos">1408</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">obs_a</span><span class="o">.</span><span class="n">cov_names</span><span class="p">)</span> <span class="ow">or</span> <span class="nb">len</span><span class="p">(</span><span class="n">obs_b</span><span class="o">.</span><span class="n">cov_names</span><span class="p">):</span>
</span><span id="L-1409"><a href="#L-1409"><span class="linenos">1409</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Error: Not possible to correlate Obs that contain covobs!&#39;</span><span class="p">)</span>
</span><span id="L-1410"><a href="#L-1410"><span class="linenos">1410</span></a> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">obs_a</span><span class="o">.</span><span class="n">names</span><span class="p">:</span>
@ -1635,7 +1635,7 @@
</span><span id="L-1431"><a href="#L-1431"><span class="linenos">1431</span></a>
</span><span id="L-1432"><a href="#L-1432"><span class="linenos">1432</span></a>
</span><span id="L-1433"><a href="#L-1433"><span class="linenos">1433</span></a><span class="k">def</span> <span class="nf">covariance</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="n">visualize</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">correlation</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">smooth</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><span id="L-1434"><a href="#L-1434"><span class="linenos">1434</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Calculates the error covariance matrix of a set of observables.</span>
</span><span id="L-1434"><a href="#L-1434"><span class="linenos">1434</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Calculates the error covariance matrix of a set of observables.</span>
</span><span id="L-1435"><a href="#L-1435"><span class="linenos">1435</span></a>
</span><span id="L-1436"><a href="#L-1436"><span class="linenos">1436</span></a><span class="sd"> WARNING: This function should be used with care, especially for observables with support on multiple</span>
</span><span id="L-1437"><a href="#L-1437"><span class="linenos">1437</span></a><span class="sd"> ensembles with differing autocorrelations. See the notes below for details.</span>
@ -1705,7 +1705,7 @@
</span><span id="L-1501"><a href="#L-1501"><span class="linenos">1501</span></a>
</span><span id="L-1502"><a href="#L-1502"><span class="linenos">1502</span></a>
</span><span id="L-1503"><a href="#L-1503"><span class="linenos">1503</span></a><span class="k">def</span> <span class="nf">_smooth_eigenvalues</span><span class="p">(</span><span class="n">corr</span><span class="p">,</span> <span class="n">E</span><span class="p">):</span>
</span><span id="L-1504"><a href="#L-1504"><span class="linenos">1504</span></a> <span class="sd">&quot;&quot;&quot;Eigenvalue smoothing as described in hep-lat/9412087</span>
</span><span id="L-1504"><a href="#L-1504"><span class="linenos">1504</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Eigenvalue smoothing as described in hep-lat/9412087</span>
</span><span id="L-1505"><a href="#L-1505"><span class="linenos">1505</span></a>
</span><span id="L-1506"><a href="#L-1506"><span class="linenos">1506</span></a><span class="sd"> corr : np.ndarray</span>
</span><span id="L-1507"><a href="#L-1507"><span class="linenos">1507</span></a><span class="sd"> correlation matrix</span>
@ -1713,7 +1713,7 @@
</span><span id="L-1509"><a href="#L-1509"><span class="linenos">1509</span></a><span class="sd"> Number of eigenvalues to be left substantially unchanged</span>
</span><span id="L-1510"><a href="#L-1510"><span class="linenos">1510</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1511"><a href="#L-1511"><span class="linenos">1511</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="mi">2</span> <span class="o">&lt;</span> <span class="n">E</span> <span class="o">&lt;</span> <span class="n">corr</span><span class="o">.</span><span class="n">shape</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><span id="L-1512"><a href="#L-1512"><span class="linenos">1512</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;&#39;E&#39; has to be between 2 and the dimension of the correlation matrix minus 1 (</span><span class="si">{</span><span class="n">corr</span><span class="o">.</span><span class="n">shape</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="si">}</span><span class="s2">).&quot;</span><span class="p">)</span>
</span><span id="L-1512"><a href="#L-1512"><span class="linenos">1512</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;&#39;E&#39; has to be between 2 and the dimension of the correlation matrix minus 1 (</span><span class="si">{</span><span class="n">corr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="si">}</span><span class="s2">).&quot;</span><span class="p">)</span>
</span><span id="L-1513"><a href="#L-1513"><span class="linenos">1513</span></a> <span class="n">vals</span><span class="p">,</span> <span class="n">vec</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eigh</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span>
</span><span id="L-1514"><a href="#L-1514"><span class="linenos">1514</span></a> <span class="n">lambda_min</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">vals</span><span class="p">[:</span><span class="o">-</span><span class="n">E</span><span class="p">])</span>
</span><span id="L-1515"><a href="#L-1515"><span class="linenos">1515</span></a> <span class="n">vals</span><span class="p">[</span><span class="n">vals</span> <span class="o">&lt;</span> <span class="n">lambda_min</span><span class="p">]</span> <span class="o">=</span> <span class="n">lambda_min</span>
@ -1722,7 +1722,7 @@
</span><span id="L-1518"><a href="#L-1518"><span class="linenos">1518</span></a>
</span><span id="L-1519"><a href="#L-1519"><span class="linenos">1519</span></a>
</span><span id="L-1520"><a href="#L-1520"><span class="linenos">1520</span></a><span class="k">def</span> <span class="nf">_covariance_element</span><span class="p">(</span><span class="n">obs1</span><span class="p">,</span> <span class="n">obs2</span><span class="p">):</span>
</span><span id="L-1521"><a href="#L-1521"><span class="linenos">1521</span></a> <span class="sd">&quot;&quot;&quot;Estimates the covariance of two Obs objects, neglecting autocorrelations.&quot;&quot;&quot;</span>
</span><span id="L-1521"><a href="#L-1521"><span class="linenos">1521</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Estimates the covariance of two Obs objects, neglecting autocorrelations.&quot;&quot;&quot;</span>
</span><span id="L-1522"><a href="#L-1522"><span class="linenos">1522</span></a>
</span><span id="L-1523"><a href="#L-1523"><span class="linenos">1523</span></a> <span class="k">def</span> <span class="nf">calc_gamma</span><span class="p">(</span><span class="n">deltas1</span><span class="p">,</span> <span class="n">deltas2</span><span class="p">,</span> <span class="n">idx1</span><span class="p">,</span> <span class="n">idx2</span><span class="p">,</span> <span class="n">new_idx</span><span class="p">):</span>
</span><span id="L-1524"><a href="#L-1524"><span class="linenos">1524</span></a> <span class="n">deltas1</span> <span class="o">=</span> <span class="n">_reduce_deltas</span><span class="p">(</span><span class="n">deltas1</span><span class="p">,</span> <span class="n">idx1</span><span class="p">,</span> <span class="n">new_idx</span><span class="p">)</span>
@ -1782,7 +1782,7 @@
</span><span id="L-1578"><a href="#L-1578"><span class="linenos">1578</span></a>
</span><span id="L-1579"><a href="#L-1579"><span class="linenos">1579</span></a>
</span><span id="L-1580"><a href="#L-1580"><span class="linenos">1580</span></a><span class="k">def</span> <span class="nf">import_jackknife</span><span class="p">(</span><span class="n">jacks</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-1581"><a href="#L-1581"><span class="linenos">1581</span></a> <span class="sd">&quot;&quot;&quot;Imports jackknife samples and returns an Obs</span>
</span><span id="L-1581"><a href="#L-1581"><span class="linenos">1581</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Imports jackknife samples and returns an Obs</span>
</span><span id="L-1582"><a href="#L-1582"><span class="linenos">1582</span></a>
</span><span id="L-1583"><a href="#L-1583"><span class="linenos">1583</span></a><span class="sd"> Parameters</span>
</span><span id="L-1584"><a href="#L-1584"><span class="linenos">1584</span></a><span class="sd"> ----------</span>
@ -1802,7 +1802,7 @@
</span><span id="L-1598"><a href="#L-1598"><span class="linenos">1598</span></a>
</span><span id="L-1599"><a href="#L-1599"><span class="linenos">1599</span></a>
</span><span id="L-1600"><a href="#L-1600"><span class="linenos">1600</span></a><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><span id="L-1601"><a href="#L-1601"><span class="linenos">1601</span></a> <span class="sd">&quot;&quot;&quot;Combine all observables in list_of_obs into one new observable</span>
</span><span id="L-1601"><a href="#L-1601"><span class="linenos">1601</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Combine all observables in list_of_obs into one new observable</span>
</span><span id="L-1602"><a href="#L-1602"><span class="linenos">1602</span></a>
</span><span id="L-1603"><a href="#L-1603"><span class="linenos">1603</span></a><span class="sd"> Parameters</span>
</span><span id="L-1604"><a href="#L-1604"><span class="linenos">1604</span></a><span class="sd"> ----------</span>
@ -1833,7 +1833,7 @@
</span><span id="L-1629"><a href="#L-1629"><span class="linenos">1629</span></a>
</span><span id="L-1630"><a href="#L-1630"><span class="linenos">1630</span></a>
</span><span id="L-1631"><a href="#L-1631"><span class="linenos">1631</span></a><span class="k">def</span> <span class="nf">cov_Obs</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">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="L-1632"><a href="#L-1632"><span class="linenos">1632</span></a> <span class="sd">&quot;&quot;&quot;Create an Obs based on mean(s) and a covariance matrix</span>
</span><span id="L-1632"><a href="#L-1632"><span class="linenos">1632</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Create an Obs based on mean(s) and a covariance matrix</span>
</span><span id="L-1633"><a href="#L-1633"><span class="linenos">1633</span></a>
</span><span id="L-1634"><a href="#L-1634"><span class="linenos">1634</span></a><span class="sd"> Parameters</span>
</span><span id="L-1635"><a href="#L-1635"><span class="linenos">1635</span></a><span class="sd"> ----------</span>
@ -1848,7 +1848,7 @@
</span><span id="L-1644"><a href="#L-1644"><span class="linenos">1644</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1645"><a href="#L-1645"><span class="linenos">1645</span></a>
</span><span id="L-1646"><a href="#L-1646"><span class="linenos">1646</span></a> <span class="k">def</span> <span class="nf">covobs_to_obs</span><span class="p">(</span><span class="n">co</span><span class="p">):</span>
</span><span id="L-1647"><a href="#L-1647"><span class="linenos">1647</span></a> <span class="sd">&quot;&quot;&quot;Make an Obs out of a Covobs</span>
</span><span id="L-1647"><a href="#L-1647"><span class="linenos">1647</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Make an Obs out of a Covobs</span>
</span><span id="L-1648"><a href="#L-1648"><span class="linenos">1648</span></a>
</span><span id="L-1649"><a href="#L-1649"><span class="linenos">1649</span></a><span class="sd"> Parameters</span>
</span><span id="L-1650"><a href="#L-1650"><span class="linenos">1650</span></a><span class="sd"> ----------</span>
@ -1889,7 +1889,7 @@
</div>
<a class="headerlink" href="#Obs"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Obs-20"><a href="#Obs-20"><span class="linenos"> 20</span></a><span class="k">class</span> <span class="nc">Obs</span><span class="p">:</span>
</span><span id="Obs-21"><a href="#Obs-21"><span class="linenos"> 21</span></a> <span class="sd">&quot;&quot;&quot;Class for a general observable.</span>
</span><span id="Obs-21"><a href="#Obs-21"><span class="linenos"> 21</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Class for a general observable.</span>
</span><span id="Obs-22"><a href="#Obs-22"><span class="linenos"> 22</span></a>
</span><span id="Obs-23"><a href="#Obs-23"><span class="linenos"> 23</span></a><span class="sd"> Instances of Obs are the basic objects of a pyerrors error analysis.</span>
</span><span id="Obs-24"><a href="#Obs-24"><span class="linenos"> 24</span></a><span class="sd"> They are initialized with a list which contains arrays of samples for</span>
@ -1932,7 +1932,7 @@
</span><span id="Obs-61"><a href="#Obs-61"><span class="linenos"> 61</span></a> <span class="n">filter_eps</span> <span class="o">=</span> <span class="mf">1e-10</span>
</span><span id="Obs-62"><a href="#Obs-62"><span class="linenos"> 62</span></a>
</span><span id="Obs-63"><a href="#Obs-63"><span class="linenos"> 63</span></a> <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="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="Obs-64"><a href="#Obs-64"><span class="linenos"> 64</span></a> <span class="sd">&quot;&quot;&quot; Initialize Obs object.</span>
</span><span id="Obs-64"><a href="#Obs-64"><span class="linenos"> 64</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Initialize Obs object.</span>
</span><span id="Obs-65"><a href="#Obs-65"><span class="linenos"> 65</span></a>
</span><span id="Obs-66"><a href="#Obs-66"><span class="linenos"> 66</span></a><span class="sd"> Parameters</span>
</span><span id="Obs-67"><a href="#Obs-67"><span class="linenos"> 67</span></a><span class="sd"> ----------</span>
@ -2047,7 +2047,7 @@
</span><span id="Obs-176"><a href="#Obs-176"><span class="linenos">176</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_covobs</span>
</span><span id="Obs-177"><a href="#Obs-177"><span class="linenos">177</span></a>
</span><span id="Obs-178"><a href="#Obs-178"><span class="linenos">178</span></a> <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><span id="Obs-179"><a href="#Obs-179"><span class="linenos">179</span></a> <span class="sd">&quot;&quot;&quot;Estimate the error and related properties of the Obs.</span>
</span><span id="Obs-179"><a href="#Obs-179"><span class="linenos">179</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Estimate the error and related properties of the Obs.</span>
</span><span id="Obs-180"><a href="#Obs-180"><span class="linenos">180</span></a>
</span><span id="Obs-181"><a href="#Obs-181"><span class="linenos">181</span></a><span class="sd"> Parameters</span>
</span><span id="Obs-182"><a href="#Obs-182"><span class="linenos">182</span></a><span class="sd"> ----------</span>
@ -2222,7 +2222,7 @@
</span><span id="Obs-351"><a href="#Obs-351"><span class="linenos">351</span></a> <span class="k">return</span>
</span><span id="Obs-352"><a href="#Obs-352"><span class="linenos">352</span></a>
</span><span id="Obs-353"><a href="#Obs-353"><span class="linenos">353</span></a> <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><span id="Obs-354"><a href="#Obs-354"><span class="linenos">354</span></a> <span class="sd">&quot;&quot;&quot;Calculate Gamma_{AA} from the deltas, which are defined on idx.</span>
</span><span id="Obs-354"><a href="#Obs-354"><span class="linenos">354</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Calculate Gamma_{AA} from the deltas, which are defined on idx.</span>
</span><span id="Obs-355"><a href="#Obs-355"><span class="linenos">355</span></a><span class="sd"> idx is assumed to be a contiguous range (possibly with a stepsize != 1)</span>
</span><span id="Obs-356"><a href="#Obs-356"><span class="linenos">356</span></a>
</span><span id="Obs-357"><a href="#Obs-357"><span class="linenos">357</span></a><span class="sd"> Parameters</span>
@ -2255,7 +2255,7 @@
</span><span id="Obs-384"><a href="#Obs-384"><span class="linenos">384</span></a> <span class="k">return</span> <span class="n">gamma</span>
</span><span id="Obs-385"><a href="#Obs-385"><span class="linenos">385</span></a>
</span><span id="Obs-386"><a href="#Obs-386"><span class="linenos">386</span></a> <span class="k">def</span> <span class="nf">details</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ens_content</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="Obs-387"><a href="#Obs-387"><span class="linenos">387</span></a> <span class="sd">&quot;&quot;&quot;Output detailed properties of the Obs.</span>
</span><span id="Obs-387"><a href="#Obs-387"><span class="linenos">387</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Output detailed properties of the Obs.</span>
</span><span id="Obs-388"><a href="#Obs-388"><span class="linenos">388</span></a>
</span><span id="Obs-389"><a href="#Obs-389"><span class="linenos">389</span></a><span class="sd"> Parameters</span>
</span><span id="Obs-390"><a href="#Obs-390"><span class="linenos">390</span></a><span class="sd"> ----------</span>
@ -2327,7 +2327,7 @@
</span><span id="Obs-456"><a href="#Obs-456"><span class="linenos">456</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">my_string_list</span><span class="p">))</span>
</span><span id="Obs-457"><a href="#Obs-457"><span class="linenos">457</span></a>
</span><span id="Obs-458"><a href="#Obs-458"><span class="linenos">458</span></a> <span class="k">def</span> <span class="nf">reweight</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">weight</span><span class="p">):</span>
</span><span id="Obs-459"><a href="#Obs-459"><span class="linenos">459</span></a> <span class="sd">&quot;&quot;&quot;Reweight the obs with given rewighting factors.</span>
</span><span id="Obs-459"><a href="#Obs-459"><span class="linenos">459</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Reweight the obs with given rewighting factors.</span>
</span><span id="Obs-460"><a href="#Obs-460"><span class="linenos">460</span></a>
</span><span id="Obs-461"><a href="#Obs-461"><span class="linenos">461</span></a><span class="sd"> Parameters</span>
</span><span id="Obs-462"><a href="#Obs-462"><span class="linenos">462</span></a><span class="sd"> ----------</span>
@ -2342,7 +2342,7 @@
</span><span id="Obs-471"><a href="#Obs-471"><span class="linenos">471</span></a> <span class="k">return</span> <span class="n">reweight</span><span class="p">(</span><span class="n">weight</span><span class="p">,</span> <span class="p">[</span><span class="bp">self</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="Obs-472"><a href="#Obs-472"><span class="linenos">472</span></a>
</span><span id="Obs-473"><a href="#Obs-473"><span class="linenos">473</span></a> <span class="k">def</span> <span class="nf">is_zero_within_error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sigma</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
</span><span id="Obs-474"><a href="#Obs-474"><span class="linenos">474</span></a> <span class="sd">&quot;&quot;&quot;Checks whether the observable is zero within &#39;sigma&#39; standard errors.</span>
</span><span id="Obs-474"><a href="#Obs-474"><span class="linenos">474</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks whether the observable is zero within &#39;sigma&#39; standard errors.</span>
</span><span id="Obs-475"><a href="#Obs-475"><span class="linenos">475</span></a>
</span><span id="Obs-476"><a href="#Obs-476"><span class="linenos">476</span></a><span class="sd"> Parameters</span>
</span><span id="Obs-477"><a href="#Obs-477"><span class="linenos">477</span></a><span class="sd"> ----------</span>
@ -2354,7 +2354,7 @@
</span><span id="Obs-483"><a href="#Obs-483"><span class="linenos">483</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_zero</span><span class="p">()</span> <span class="ow">or</span> <span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">value</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="n">sigma</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dvalue</span>
</span><span id="Obs-484"><a href="#Obs-484"><span class="linenos">484</span></a>
</span><span id="Obs-485"><a href="#Obs-485"><span class="linenos">485</span></a> <span class="k">def</span> <span class="nf">is_zero</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">atol</span><span class="o">=</span><span class="mf">1e-10</span><span class="p">):</span>
</span><span id="Obs-486"><a href="#Obs-486"><span class="linenos">486</span></a> <span class="sd">&quot;&quot;&quot;Checks whether the observable is zero within a given tolerance.</span>
</span><span id="Obs-486"><a href="#Obs-486"><span class="linenos">486</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks whether the observable is zero within a given tolerance.</span>
</span><span id="Obs-487"><a href="#Obs-487"><span class="linenos">487</span></a>
</span><span id="Obs-488"><a href="#Obs-488"><span class="linenos">488</span></a><span class="sd"> Parameters</span>
</span><span id="Obs-489"><a href="#Obs-489"><span class="linenos">489</span></a><span class="sd"> ----------</span>
@ -2364,7 +2364,7 @@
</span><span id="Obs-493"><a href="#Obs-493"><span class="linenos">493</span></a> <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">isclose</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="mf">1e-14</span><span class="p">,</span> <span class="n">atol</span><span class="p">)</span> <span class="ow">and</span> <span class="nb">all</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">allclose</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">delta</span><span class="p">,</span> <span class="mf">1e-14</span><span class="p">,</span> <span class="n">atol</span><span class="p">)</span> <span class="k">for</span> <span class="n">delta</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">deltas</span><span class="o">.</span><span class="n">values</span><span class="p">())</span> <span class="ow">and</span> <span class="nb">all</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">allclose</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">delta</span><span class="o">.</span><span class="n">errsq</span><span class="p">(),</span> <span class="mf">1e-14</span><span class="p">,</span> <span class="n">atol</span><span class="p">)</span> <span class="k">for</span> <span class="n">delta</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">covobs</span><span class="o">.</span><span class="n">values</span><span class="p">())</span>
</span><span id="Obs-494"><a href="#Obs-494"><span class="linenos">494</span></a>
</span><span id="Obs-495"><a href="#Obs-495"><span class="linenos">495</span></a> <span class="k">def</span> <span class="nf">plot_tauint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">save</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="Obs-496"><a href="#Obs-496"><span class="linenos">496</span></a> <span class="sd">&quot;&quot;&quot;Plot integrated autocorrelation time for each ensemble.</span>
</span><span id="Obs-496"><a href="#Obs-496"><span class="linenos">496</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot integrated autocorrelation time for each ensemble.</span>
</span><span id="Obs-497"><a href="#Obs-497"><span class="linenos">497</span></a>
</span><span id="Obs-498"><a href="#Obs-498"><span class="linenos">498</span></a><span class="sd"> Parameters</span>
</span><span id="Obs-499"><a href="#Obs-499"><span class="linenos">499</span></a><span class="sd"> ----------</span>
@ -2404,7 +2404,7 @@
</span><span id="Obs-533"><a href="#Obs-533"><span class="linenos">533</span></a> <span class="n">fig</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">save</span> <span class="o">+</span> <span class="s2">&quot;_&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
</span><span id="Obs-534"><a href="#Obs-534"><span class="linenos">534</span></a>
</span><span id="Obs-535"><a href="#Obs-535"><span class="linenos">535</span></a> <span class="k">def</span> <span class="nf">plot_rho</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">save</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="Obs-536"><a href="#Obs-536"><span class="linenos">536</span></a> <span class="sd">&quot;&quot;&quot;Plot normalized autocorrelation function time for each ensemble.</span>
</span><span id="Obs-536"><a href="#Obs-536"><span class="linenos">536</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot normalized autocorrelation function time for each ensemble.</span>
</span><span id="Obs-537"><a href="#Obs-537"><span class="linenos">537</span></a>
</span><span id="Obs-538"><a href="#Obs-538"><span class="linenos">538</span></a><span class="sd"> Parameters</span>
</span><span id="Obs-539"><a href="#Obs-539"><span class="linenos">539</span></a><span class="sd"> ----------</span>
@ -2435,7 +2435,7 @@
</span><span id="Obs-564"><a href="#Obs-564"><span class="linenos">564</span></a> <span class="n">fig</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">save</span> <span class="o">+</span> <span class="s2">&quot;_&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
</span><span id="Obs-565"><a href="#Obs-565"><span class="linenos">565</span></a>
</span><span id="Obs-566"><a href="#Obs-566"><span class="linenos">566</span></a> <span class="k">def</span> <span class="nf">plot_rep_dist</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Obs-567"><a href="#Obs-567"><span class="linenos">567</span></a> <span class="sd">&quot;&quot;&quot;Plot replica distribution for each ensemble with more than one replicum.&quot;&quot;&quot;</span>
</span><span id="Obs-567"><a href="#Obs-567"><span class="linenos">567</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot replica distribution for each ensemble with more than one replicum.&quot;&quot;&quot;</span>
</span><span id="Obs-568"><a href="#Obs-568"><span class="linenos">568</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;e_dvalue&#39;</span><span class="p">):</span>
</span><span id="Obs-569"><a href="#Obs-569"><span class="linenos">569</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Run the gamma method first.&#39;</span><span class="p">)</span>
</span><span id="Obs-570"><a href="#Obs-570"><span class="linenos">570</span></a> <span class="k">for</span> <span class="n">e</span><span class="p">,</span> <span class="n">e_name</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mc_names</span><span class="p">):</span>
@ -2457,7 +2457,7 @@
</span><span id="Obs-586"><a href="#Obs-586"><span class="linenos">586</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
</span><span id="Obs-587"><a href="#Obs-587"><span class="linenos">587</span></a>
</span><span id="Obs-588"><a href="#Obs-588"><span class="linenos">588</span></a> <span class="k">def</span> <span class="nf">plot_history</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">expand</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="Obs-589"><a href="#Obs-589"><span class="linenos">589</span></a> <span class="sd">&quot;&quot;&quot;Plot derived Monte Carlo history for each ensemble</span>
</span><span id="Obs-589"><a href="#Obs-589"><span class="linenos">589</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot derived Monte Carlo history for each ensemble</span>
</span><span id="Obs-590"><a href="#Obs-590"><span class="linenos">590</span></a>
</span><span id="Obs-591"><a href="#Obs-591"><span class="linenos">591</span></a><span class="sd"> Parameters</span>
</span><span id="Obs-592"><a href="#Obs-592"><span class="linenos">592</span></a><span class="sd"> ----------</span>
@ -2489,7 +2489,7 @@
</span><span id="Obs-618"><a href="#Obs-618"><span class="linenos">618</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
</span><span id="Obs-619"><a href="#Obs-619"><span class="linenos">619</span></a>
</span><span id="Obs-620"><a href="#Obs-620"><span class="linenos">620</span></a> <span class="k">def</span> <span class="nf">plot_piechart</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">save</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="Obs-621"><a href="#Obs-621"><span class="linenos">621</span></a> <span class="sd">&quot;&quot;&quot;Plot piechart which shows the fractional contribution of each</span>
</span><span id="Obs-621"><a href="#Obs-621"><span class="linenos">621</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot piechart which shows the fractional contribution of each</span>
</span><span id="Obs-622"><a href="#Obs-622"><span class="linenos">622</span></a><span class="sd"> ensemble to the error and returns a dictionary containing the fractions.</span>
</span><span id="Obs-623"><a href="#Obs-623"><span class="linenos">623</span></a>
</span><span id="Obs-624"><a href="#Obs-624"><span class="linenos">624</span></a><span class="sd"> Parameters</span>
@ -2513,7 +2513,7 @@
</span><span id="Obs-642"><a href="#Obs-642"><span class="linenos">642</span></a> <span class="k">return</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">e_names</span><span class="p">,</span> <span class="n">sizes</span><span class="p">))</span>
</span><span id="Obs-643"><a href="#Obs-643"><span class="linenos">643</span></a>
</span><span id="Obs-644"><a href="#Obs-644"><span class="linenos">644</span></a> <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="n">datatype</span><span class="o">=</span><span class="s2">&quot;json.gz&quot;</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="Obs-645"><a href="#Obs-645"><span class="linenos">645</span></a> <span class="sd">&quot;&quot;&quot;Dump the Obs to a file &#39;name&#39; of chosen format.</span>
</span><span id="Obs-645"><a href="#Obs-645"><span class="linenos">645</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Dump the Obs to a file &#39;name&#39; of chosen format.</span>
</span><span id="Obs-646"><a href="#Obs-646"><span class="linenos">646</span></a>
</span><span id="Obs-647"><a href="#Obs-647"><span class="linenos">647</span></a><span class="sd"> Parameters</span>
</span><span id="Obs-648"><a href="#Obs-648"><span class="linenos">648</span></a><span class="sd"> ----------</span>
@ -2542,7 +2542,7 @@
</span><span id="Obs-671"><a href="#Obs-671"><span class="linenos">671</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unknown datatype &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">datatype</span><span class="p">))</span>
</span><span id="Obs-672"><a href="#Obs-672"><span class="linenos">672</span></a>
</span><span id="Obs-673"><a href="#Obs-673"><span class="linenos">673</span></a> <span class="k">def</span> <span class="nf">export_jackknife</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Obs-674"><a href="#Obs-674"><span class="linenos">674</span></a> <span class="sd">&quot;&quot;&quot;Export jackknife samples from the Obs</span>
</span><span id="Obs-674"><a href="#Obs-674"><span class="linenos">674</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Export jackknife samples from the Obs</span>
</span><span id="Obs-675"><a href="#Obs-675"><span class="linenos">675</span></a>
</span><span id="Obs-676"><a href="#Obs-676"><span class="linenos">676</span></a><span class="sd"> Returns</span>
</span><span id="Obs-677"><a href="#Obs-677"><span class="linenos">677</span></a><span class="sd"> -------</span>
@ -2783,7 +2783,7 @@ this overwrites the standard value for that ensemble.</li>
</div>
<a class="headerlink" href="#Obs.__init__"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Obs.__init__-63"><a href="#Obs.__init__-63"><span class="linenos"> 63</span></a> <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="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="Obs.__init__-64"><a href="#Obs.__init__-64"><span class="linenos"> 64</span></a> <span class="sd">&quot;&quot;&quot; Initialize Obs object.</span>
</span><span id="Obs.__init__-64"><a href="#Obs.__init__-64"><span class="linenos"> 64</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; Initialize Obs object.</span>
</span><span id="Obs.__init__-65"><a href="#Obs.__init__-65"><span class="linenos"> 65</span></a>
</span><span id="Obs.__init__-66"><a href="#Obs.__init__-66"><span class="linenos"> 66</span></a><span class="sd"> Parameters</span>
</span><span id="Obs.__init__-67"><a href="#Obs.__init__-67"><span class="linenos"> 67</span></a><span class="sd"> ----------</span>
@ -2894,7 +2894,7 @@ list of ranges or lists on which the samples are defined</li>
</div>
<a class="headerlink" href="#Obs.gamma_method"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Obs.gamma_method-178"><a href="#Obs.gamma_method-178"><span class="linenos">178</span></a> <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><span id="Obs.gamma_method-179"><a href="#Obs.gamma_method-179"><span class="linenos">179</span></a> <span class="sd">&quot;&quot;&quot;Estimate the error and related properties of the Obs.</span>
</span><span id="Obs.gamma_method-179"><a href="#Obs.gamma_method-179"><span class="linenos">179</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Estimate the error and related properties of the Obs.</span>
</span><span id="Obs.gamma_method-180"><a href="#Obs.gamma_method-180"><span class="linenos">180</span></a>
</span><span id="Obs.gamma_method-181"><a href="#Obs.gamma_method-181"><span class="linenos">181</span></a><span class="sd"> Parameters</span>
</span><span id="Obs.gamma_method-182"><a href="#Obs.gamma_method-182"><span class="linenos">182</span></a><span class="sd"> ----------</span>
@ -3106,7 +3106,7 @@ of the autocorrelation function (default True)</li>
</div>
<a class="headerlink" href="#Obs.details"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Obs.details-386"><a href="#Obs.details-386"><span class="linenos">386</span></a> <span class="k">def</span> <span class="nf">details</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ens_content</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="Obs.details-387"><a href="#Obs.details-387"><span class="linenos">387</span></a> <span class="sd">&quot;&quot;&quot;Output detailed properties of the Obs.</span>
</span><span id="Obs.details-387"><a href="#Obs.details-387"><span class="linenos">387</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Output detailed properties of the Obs.</span>
</span><span id="Obs.details-388"><a href="#Obs.details-388"><span class="linenos">388</span></a>
</span><span id="Obs.details-389"><a href="#Obs.details-389"><span class="linenos">389</span></a><span class="sd"> Parameters</span>
</span><span id="Obs.details-390"><a href="#Obs.details-390"><span class="linenos">390</span></a><span class="sd"> ----------</span>
@ -3203,7 +3203,7 @@ print details about the ensembles and replica if true.</li>
</div>
<a class="headerlink" href="#Obs.reweight"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Obs.reweight-458"><a href="#Obs.reweight-458"><span class="linenos">458</span></a> <span class="k">def</span> <span class="nf">reweight</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">weight</span><span class="p">):</span>
</span><span id="Obs.reweight-459"><a href="#Obs.reweight-459"><span class="linenos">459</span></a> <span class="sd">&quot;&quot;&quot;Reweight the obs with given rewighting factors.</span>
</span><span id="Obs.reweight-459"><a href="#Obs.reweight-459"><span class="linenos">459</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Reweight the obs with given rewighting factors.</span>
</span><span id="Obs.reweight-460"><a href="#Obs.reweight-460"><span class="linenos">460</span></a>
</span><span id="Obs.reweight-461"><a href="#Obs.reweight-461"><span class="linenos">461</span></a><span class="sd"> Parameters</span>
</span><span id="Obs.reweight-462"><a href="#Obs.reweight-462"><span class="linenos">462</span></a><span class="sd"> ----------</span>
@ -3248,7 +3248,7 @@ on the configurations in obs[i].idl. Default False.</li>
</div>
<a class="headerlink" href="#Obs.is_zero_within_error"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Obs.is_zero_within_error-473"><a href="#Obs.is_zero_within_error-473"><span class="linenos">473</span></a> <span class="k">def</span> <span class="nf">is_zero_within_error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sigma</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
</span><span id="Obs.is_zero_within_error-474"><a href="#Obs.is_zero_within_error-474"><span class="linenos">474</span></a> <span class="sd">&quot;&quot;&quot;Checks whether the observable is zero within &#39;sigma&#39; standard errors.</span>
</span><span id="Obs.is_zero_within_error-474"><a href="#Obs.is_zero_within_error-474"><span class="linenos">474</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks whether the observable is zero within &#39;sigma&#39; standard errors.</span>
</span><span id="Obs.is_zero_within_error-475"><a href="#Obs.is_zero_within_error-475"><span class="linenos">475</span></a>
</span><span id="Obs.is_zero_within_error-476"><a href="#Obs.is_zero_within_error-476"><span class="linenos">476</span></a><span class="sd"> Parameters</span>
</span><span id="Obs.is_zero_within_error-477"><a href="#Obs.is_zero_within_error-477"><span class="linenos">477</span></a><span class="sd"> ----------</span>
@ -3286,7 +3286,7 @@ Number of standard errors used for the check.</li>
</div>
<a class="headerlink" href="#Obs.is_zero"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Obs.is_zero-485"><a href="#Obs.is_zero-485"><span class="linenos">485</span></a> <span class="k">def</span> <span class="nf">is_zero</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">atol</span><span class="o">=</span><span class="mf">1e-10</span><span class="p">):</span>
</span><span id="Obs.is_zero-486"><a href="#Obs.is_zero-486"><span class="linenos">486</span></a> <span class="sd">&quot;&quot;&quot;Checks whether the observable is zero within a given tolerance.</span>
</span><span id="Obs.is_zero-486"><a href="#Obs.is_zero-486"><span class="linenos">486</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks whether the observable is zero within a given tolerance.</span>
</span><span id="Obs.is_zero-487"><a href="#Obs.is_zero-487"><span class="linenos">487</span></a>
</span><span id="Obs.is_zero-488"><a href="#Obs.is_zero-488"><span class="linenos">488</span></a><span class="sd"> Parameters</span>
</span><span id="Obs.is_zero-489"><a href="#Obs.is_zero-489"><span class="linenos">489</span></a><span class="sd"> ----------</span>
@ -3321,7 +3321,7 @@ Absolute tolerance (for details see numpy documentation).</li>
</div>
<a class="headerlink" href="#Obs.plot_tauint"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Obs.plot_tauint-495"><a href="#Obs.plot_tauint-495"><span class="linenos">495</span></a> <span class="k">def</span> <span class="nf">plot_tauint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">save</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="Obs.plot_tauint-496"><a href="#Obs.plot_tauint-496"><span class="linenos">496</span></a> <span class="sd">&quot;&quot;&quot;Plot integrated autocorrelation time for each ensemble.</span>
</span><span id="Obs.plot_tauint-496"><a href="#Obs.plot_tauint-496"><span class="linenos">496</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot integrated autocorrelation time for each ensemble.</span>
</span><span id="Obs.plot_tauint-497"><a href="#Obs.plot_tauint-497"><span class="linenos">497</span></a>
</span><span id="Obs.plot_tauint-498"><a href="#Obs.plot_tauint-498"><span class="linenos">498</span></a><span class="sd"> Parameters</span>
</span><span id="Obs.plot_tauint-499"><a href="#Obs.plot_tauint-499"><span class="linenos">499</span></a><span class="sd"> ----------</span>
@ -3386,7 +3386,7 @@ saves the figure to a file named 'save' if.</li>
</div>
<a class="headerlink" href="#Obs.plot_rho"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Obs.plot_rho-535"><a href="#Obs.plot_rho-535"><span class="linenos">535</span></a> <span class="k">def</span> <span class="nf">plot_rho</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">save</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="Obs.plot_rho-536"><a href="#Obs.plot_rho-536"><span class="linenos">536</span></a> <span class="sd">&quot;&quot;&quot;Plot normalized autocorrelation function time for each ensemble.</span>
</span><span id="Obs.plot_rho-536"><a href="#Obs.plot_rho-536"><span class="linenos">536</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot normalized autocorrelation function time for each ensemble.</span>
</span><span id="Obs.plot_rho-537"><a href="#Obs.plot_rho-537"><span class="linenos">537</span></a>
</span><span id="Obs.plot_rho-538"><a href="#Obs.plot_rho-538"><span class="linenos">538</span></a><span class="sd"> Parameters</span>
</span><span id="Obs.plot_rho-539"><a href="#Obs.plot_rho-539"><span class="linenos">539</span></a><span class="sd"> ----------</span>
@ -3442,7 +3442,7 @@ saves the figure to a file named 'save' if.</li>
</div>
<a class="headerlink" href="#Obs.plot_rep_dist"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Obs.plot_rep_dist-566"><a href="#Obs.plot_rep_dist-566"><span class="linenos">566</span></a> <span class="k">def</span> <span class="nf">plot_rep_dist</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Obs.plot_rep_dist-567"><a href="#Obs.plot_rep_dist-567"><span class="linenos">567</span></a> <span class="sd">&quot;&quot;&quot;Plot replica distribution for each ensemble with more than one replicum.&quot;&quot;&quot;</span>
</span><span id="Obs.plot_rep_dist-567"><a href="#Obs.plot_rep_dist-567"><span class="linenos">567</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot replica distribution for each ensemble with more than one replicum.&quot;&quot;&quot;</span>
</span><span id="Obs.plot_rep_dist-568"><a href="#Obs.plot_rep_dist-568"><span class="linenos">568</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;e_dvalue&#39;</span><span class="p">):</span>
</span><span id="Obs.plot_rep_dist-569"><a href="#Obs.plot_rep_dist-569"><span class="linenos">569</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Run the gamma method first.&#39;</span><span class="p">)</span>
</span><span id="Obs.plot_rep_dist-570"><a href="#Obs.plot_rep_dist-570"><span class="linenos">570</span></a> <span class="k">for</span> <span class="n">e</span><span class="p">,</span> <span class="n">e_name</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mc_names</span><span class="p">):</span>
@ -3482,7 +3482,7 @@ saves the figure to a file named 'save' if.</li>
</div>
<a class="headerlink" href="#Obs.plot_history"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Obs.plot_history-588"><a href="#Obs.plot_history-588"><span class="linenos">588</span></a> <span class="k">def</span> <span class="nf">plot_history</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">expand</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span><span id="Obs.plot_history-589"><a href="#Obs.plot_history-589"><span class="linenos">589</span></a> <span class="sd">&quot;&quot;&quot;Plot derived Monte Carlo history for each ensemble</span>
</span><span id="Obs.plot_history-589"><a href="#Obs.plot_history-589"><span class="linenos">589</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot derived Monte Carlo history for each ensemble</span>
</span><span id="Obs.plot_history-590"><a href="#Obs.plot_history-590"><span class="linenos">590</span></a>
</span><span id="Obs.plot_history-591"><a href="#Obs.plot_history-591"><span class="linenos">591</span></a><span class="sd"> Parameters</span>
</span><span id="Obs.plot_history-592"><a href="#Obs.plot_history-592"><span class="linenos">592</span></a><span class="sd"> ----------</span>
@ -3539,7 +3539,7 @@ show expanded history for irregular Monte Carlo chains (default: True).</li>
</div>
<a class="headerlink" href="#Obs.plot_piechart"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Obs.plot_piechart-620"><a href="#Obs.plot_piechart-620"><span class="linenos">620</span></a> <span class="k">def</span> <span class="nf">plot_piechart</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">save</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="Obs.plot_piechart-621"><a href="#Obs.plot_piechart-621"><span class="linenos">621</span></a> <span class="sd">&quot;&quot;&quot;Plot piechart which shows the fractional contribution of each</span>
</span><span id="Obs.plot_piechart-621"><a href="#Obs.plot_piechart-621"><span class="linenos">621</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Plot piechart which shows the fractional contribution of each</span>
</span><span id="Obs.plot_piechart-622"><a href="#Obs.plot_piechart-622"><span class="linenos">622</span></a><span class="sd"> ensemble to the error and returns a dictionary containing the fractions.</span>
</span><span id="Obs.plot_piechart-623"><a href="#Obs.plot_piechart-623"><span class="linenos">623</span></a>
</span><span id="Obs.plot_piechart-624"><a href="#Obs.plot_piechart-624"><span class="linenos">624</span></a><span class="sd"> Parameters</span>
@ -3589,7 +3589,7 @@ saves the figure to a file named 'save' if.</li>
</div>
<a class="headerlink" href="#Obs.dump"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Obs.dump-644"><a href="#Obs.dump-644"><span class="linenos">644</span></a> <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="n">datatype</span><span class="o">=</span><span class="s2">&quot;json.gz&quot;</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="Obs.dump-645"><a href="#Obs.dump-645"><span class="linenos">645</span></a> <span class="sd">&quot;&quot;&quot;Dump the Obs to a file &#39;name&#39; of chosen format.</span>
</span><span id="Obs.dump-645"><a href="#Obs.dump-645"><span class="linenos">645</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Dump the Obs to a file &#39;name&#39; of chosen format.</span>
</span><span id="Obs.dump-646"><a href="#Obs.dump-646"><span class="linenos">646</span></a>
</span><span id="Obs.dump-647"><a href="#Obs.dump-647"><span class="linenos">647</span></a><span class="sd"> Parameters</span>
</span><span id="Obs.dump-648"><a href="#Obs.dump-648"><span class="linenos">648</span></a><span class="sd"> ----------</span>
@ -3650,7 +3650,7 @@ specifies a custom path for the file (default '.')</li>
</div>
<a class="headerlink" href="#Obs.export_jackknife"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Obs.export_jackknife-673"><a href="#Obs.export_jackknife-673"><span class="linenos">673</span></a> <span class="k">def</span> <span class="nf">export_jackknife</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="Obs.export_jackknife-674"><a href="#Obs.export_jackknife-674"><span class="linenos">674</span></a> <span class="sd">&quot;&quot;&quot;Export jackknife samples from the Obs</span>
</span><span id="Obs.export_jackknife-674"><a href="#Obs.export_jackknife-674"><span class="linenos">674</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Export jackknife samples from the Obs</span>
</span><span id="Obs.export_jackknife-675"><a href="#Obs.export_jackknife-675"><span class="linenos">675</span></a>
</span><span id="Obs.export_jackknife-676"><a href="#Obs.export_jackknife-676"><span class="linenos">676</span></a><span class="sd"> Returns</span>
</span><span id="Obs.export_jackknife-677"><a href="#Obs.export_jackknife-677"><span class="linenos">677</span></a><span class="sd"> -------</span>
@ -3991,7 +3991,7 @@ should agree with samples from a full jackknife analysis up to O(1/N).</li>
</div>
<a class="headerlink" href="#CObs"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="CObs-871"><a href="#CObs-871"><span class="linenos">871</span></a><span class="k">class</span> <span class="nc">CObs</span><span class="p">:</span>
</span><span id="CObs-872"><a href="#CObs-872"><span class="linenos">872</span></a> <span class="sd">&quot;&quot;&quot;Class for a complex valued observable.&quot;&quot;&quot;</span>
</span><span id="CObs-872"><a href="#CObs-872"><span class="linenos">872</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Class for a complex valued observable.&quot;&quot;&quot;</span>
</span><span id="CObs-873"><a href="#CObs-873"><span class="linenos">873</span></a> <span class="vm">__slots__</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;_real&#39;</span><span class="p">,</span> <span class="s1">&#39;_imag&#39;</span><span class="p">,</span> <span class="s1">&#39;tag&#39;</span><span class="p">]</span>
</span><span id="CObs-874"><a href="#CObs-874"><span class="linenos">874</span></a>
</span><span id="CObs-875"><a href="#CObs-875"><span class="linenos">875</span></a> <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">real</span><span class="p">,</span> <span class="n">imag</span><span class="o">=</span><span class="mf">0.0</span><span class="p">):</span>
@ -4008,14 +4008,14 @@ should agree with samples from a full jackknife analysis up to O(1/N).</li>
</span><span id="CObs-886"><a href="#CObs-886"><span class="linenos">886</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_imag</span>
</span><span id="CObs-887"><a href="#CObs-887"><span class="linenos">887</span></a>
</span><span id="CObs-888"><a href="#CObs-888"><span class="linenos">888</span></a> <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><span id="CObs-889"><a href="#CObs-889"><span class="linenos">889</span></a> <span class="sd">&quot;&quot;&quot;Executes the gamma_method for the real and the imaginary part.&quot;&quot;&quot;</span>
</span><span id="CObs-889"><a href="#CObs-889"><span class="linenos">889</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Executes the gamma_method for the real and the imaginary part.&quot;&quot;&quot;</span>
</span><span id="CObs-890"><a href="#CObs-890"><span class="linenos">890</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">real</span><span class="p">,</span> <span class="n">Obs</span><span class="p">):</span>
</span><span id="CObs-891"><a href="#CObs-891"><span class="linenos">891</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">real</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
</span><span id="CObs-892"><a href="#CObs-892"><span class="linenos">892</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">imag</span><span class="p">,</span> <span class="n">Obs</span><span class="p">):</span>
</span><span id="CObs-893"><a href="#CObs-893"><span class="linenos">893</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">imag</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
</span><span id="CObs-894"><a href="#CObs-894"><span class="linenos">894</span></a>
</span><span id="CObs-895"><a href="#CObs-895"><span class="linenos">895</span></a> <span class="k">def</span> <span class="nf">is_zero</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="CObs-896"><a href="#CObs-896"><span class="linenos">896</span></a> <span class="sd">&quot;&quot;&quot;Checks whether both real and imaginary part are zero within machine precision.&quot;&quot;&quot;</span>
</span><span id="CObs-896"><a href="#CObs-896"><span class="linenos">896</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks whether both real and imaginary part are zero within machine precision.&quot;&quot;&quot;</span>
</span><span id="CObs-897"><a href="#CObs-897"><span class="linenos">897</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">real</span> <span class="o">==</span> <span class="mf">0.0</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">imag</span> <span class="o">==</span> <span class="mf">0.0</span>
</span><span id="CObs-898"><a href="#CObs-898"><span class="linenos">898</span></a>
</span><span id="CObs-899"><a href="#CObs-899"><span class="linenos">899</span></a> <span class="k">def</span> <span class="nf">conjugate</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@ -4138,7 +4138,7 @@ should agree with samples from a full jackknife analysis up to O(1/N).</li>
</div>
<a class="headerlink" href="#CObs.gamma_method"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="CObs.gamma_method-888"><a href="#CObs.gamma_method-888"><span class="linenos">888</span></a> <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><span id="CObs.gamma_method-889"><a href="#CObs.gamma_method-889"><span class="linenos">889</span></a> <span class="sd">&quot;&quot;&quot;Executes the gamma_method for the real and the imaginary part.&quot;&quot;&quot;</span>
</span><span id="CObs.gamma_method-889"><a href="#CObs.gamma_method-889"><span class="linenos">889</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Executes the gamma_method for the real and the imaginary part.&quot;&quot;&quot;</span>
</span><span id="CObs.gamma_method-890"><a href="#CObs.gamma_method-890"><span class="linenos">890</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">real</span><span class="p">,</span> <span class="n">Obs</span><span class="p">):</span>
</span><span id="CObs.gamma_method-891"><a href="#CObs.gamma_method-891"><span class="linenos">891</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">real</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
</span><span id="CObs.gamma_method-892"><a href="#CObs.gamma_method-892"><span class="linenos">892</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">imag</span><span class="p">,</span> <span class="n">Obs</span><span class="p">):</span>
@ -4163,7 +4163,7 @@ should agree with samples from a full jackknife analysis up to O(1/N).</li>
</div>
<a class="headerlink" href="#CObs.is_zero"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="CObs.is_zero-895"><a href="#CObs.is_zero-895"><span class="linenos">895</span></a> <span class="k">def</span> <span class="nf">is_zero</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="CObs.is_zero-896"><a href="#CObs.is_zero-896"><span class="linenos">896</span></a> <span class="sd">&quot;&quot;&quot;Checks whether both real and imaginary part are zero within machine precision.&quot;&quot;&quot;</span>
</span><span id="CObs.is_zero-896"><a href="#CObs.is_zero-896"><span class="linenos">896</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Checks whether both real and imaginary part are zero within machine precision.&quot;&quot;&quot;</span>
</span><span id="CObs.is_zero-897"><a href="#CObs.is_zero-897"><span class="linenos">897</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">real</span> <span class="o">==</span> <span class="mf">0.0</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">imag</span> <span class="o">==</span> <span class="mf">0.0</span>
</span></pre></div>
@ -4205,7 +4205,7 @@ should agree with samples from a full jackknife analysis up to O(1/N).</li>
</div>
<a class="headerlink" href="#derived_observable"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="derived_observable-1133"><a href="#derived_observable-1133"><span class="linenos">1133</span></a><span class="k">def</span> <span class="nf">derived_observable</span><span class="p">(</span><span class="n">func</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">array_mode</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><span id="derived_observable-1134"><a href="#derived_observable-1134"><span class="linenos">1134</span></a> <span class="sd">&quot;&quot;&quot;Construct a derived Obs according to func(data, **kwargs) using automatic differentiation.</span>
</span><span id="derived_observable-1134"><a href="#derived_observable-1134"><span class="linenos">1134</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Construct a derived Obs according to func(data, **kwargs) using automatic differentiation.</span>
</span><span id="derived_observable-1135"><a href="#derived_observable-1135"><span class="linenos">1135</span></a>
</span><span id="derived_observable-1136"><a href="#derived_observable-1136"><span class="linenos">1136</span></a><span class="sd"> Parameters</span>
</span><span id="derived_observable-1137"><a href="#derived_observable-1137"><span class="linenos">1137</span></a><span class="sd"> ----------</span>
@ -4429,7 +4429,7 @@ functions. For the ratio of two observables one can e.g. use</p>
</div>
<a class="headerlink" href="#reweight"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="reweight-1347"><a href="#reweight-1347"><span class="linenos">1347</span></a><span class="k">def</span> <span class="nf">reweight</span><span class="p">(</span><span class="n">weight</span><span class="p">,</span> <span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="reweight-1348"><a href="#reweight-1348"><span class="linenos">1348</span></a> <span class="sd">&quot;&quot;&quot;Reweight a list of observables.</span>
</span><span id="reweight-1348"><a href="#reweight-1348"><span class="linenos">1348</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Reweight a list of observables.</span>
</span><span id="reweight-1349"><a href="#reweight-1349"><span class="linenos">1349</span></a>
</span><span id="reweight-1350"><a href="#reweight-1350"><span class="linenos">1350</span></a><span class="sd"> Parameters</span>
</span><span id="reweight-1351"><a href="#reweight-1351"><span class="linenos">1351</span></a><span class="sd"> ----------</span>
@ -4503,7 +4503,7 @@ on the configurations in obs[i].idl. Default False.</li>
</div>
<a class="headerlink" href="#correlate"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="correlate-1390"><a href="#correlate-1390"><span class="linenos">1390</span></a><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><span id="correlate-1391"><a href="#correlate-1391"><span class="linenos">1391</span></a> <span class="sd">&quot;&quot;&quot;Correlate two observables.</span>
</span><span id="correlate-1391"><a href="#correlate-1391"><span class="linenos">1391</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Correlate two observables.</span>
</span><span id="correlate-1392"><a href="#correlate-1392"><span class="linenos">1392</span></a>
</span><span id="correlate-1393"><a href="#correlate-1393"><span class="linenos">1393</span></a><span class="sd"> Parameters</span>
</span><span id="correlate-1394"><a href="#correlate-1394"><span class="linenos">1394</span></a><span class="sd"> ----------</span>
@ -4520,7 +4520,7 @@ on the configurations in obs[i].idl. Default False.</li>
</span><span id="correlate-1405"><a href="#correlate-1405"><span class="linenos">1405</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="correlate-1406"><a href="#correlate-1406"><span class="linenos">1406</span></a>
</span><span id="correlate-1407"><a href="#correlate-1407"><span class="linenos">1407</span></a> <span class="k">if</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">obs_a</span><span class="o">.</span><span class="n">names</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">obs_b</span><span class="o">.</span><span class="n">names</span><span class="p">):</span>
</span><span id="correlate-1408"><a href="#correlate-1408"><span class="linenos">1408</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Ensembles do not fit </span><span class="si">{</span><span class="nb">set</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">obs_a</span><span class="o">.</span><span class="n">names</span><span class="p">))</span> <span class="o">^</span> <span class="nb">set</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">obs_b</span><span class="o">.</span><span class="n">names</span><span class="p">))</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
</span><span id="correlate-1408"><a href="#correlate-1408"><span class="linenos">1408</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Ensembles do not fit </span><span class="si">{</span><span class="nb">set</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">obs_a</span><span class="o">.</span><span class="n">names</span><span class="p">))</span><span class="w"> </span><span class="o">^</span><span class="w"> </span><span class="nb">set</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">obs_b</span><span class="o">.</span><span class="n">names</span><span class="p">))</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
</span><span id="correlate-1409"><a href="#correlate-1409"><span class="linenos">1409</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">obs_a</span><span class="o">.</span><span class="n">cov_names</span><span class="p">)</span> <span class="ow">or</span> <span class="nb">len</span><span class="p">(</span><span class="n">obs_b</span><span class="o">.</span><span class="n">cov_names</span><span class="p">):</span>
</span><span id="correlate-1410"><a href="#correlate-1410"><span class="linenos">1410</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Error: Not possible to correlate Obs that contain covobs!&#39;</span><span class="p">)</span>
</span><span id="correlate-1411"><a href="#correlate-1411"><span class="linenos">1411</span></a> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">obs_a</span><span class="o">.</span><span class="n">names</span><span class="p">:</span>
@ -4579,7 +4579,7 @@ Currently only works if ensembles are identical (this is not strictly necessary)
</div>
<a class="headerlink" href="#covariance"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="covariance-1434"><a href="#covariance-1434"><span class="linenos">1434</span></a><span class="k">def</span> <span class="nf">covariance</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="n">visualize</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">correlation</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">smooth</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><span id="covariance-1435"><a href="#covariance-1435"><span class="linenos">1435</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Calculates the error covariance matrix of a set of observables.</span>
</span><span id="covariance-1435"><a href="#covariance-1435"><span class="linenos">1435</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Calculates the error covariance matrix of a set of observables.</span>
</span><span id="covariance-1436"><a href="#covariance-1436"><span class="linenos">1436</span></a>
</span><span id="covariance-1437"><a href="#covariance-1437"><span class="linenos">1437</span></a><span class="sd"> WARNING: This function should be used with care, especially for observables with support on multiple</span>
</span><span id="covariance-1438"><a href="#covariance-1438"><span class="linenos">1438</span></a><span class="sd"> ensembles with differing autocorrelations. See the notes below for details.</span>
@ -4698,7 +4698,7 @@ This construction ensures that the estimated covariance matrix is positive semi-
</div>
<a class="headerlink" href="#import_jackknife"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="import_jackknife-1581"><a href="#import_jackknife-1581"><span class="linenos">1581</span></a><span class="k">def</span> <span class="nf">import_jackknife</span><span class="p">(</span><span class="n">jacks</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="import_jackknife-1582"><a href="#import_jackknife-1582"><span class="linenos">1582</span></a> <span class="sd">&quot;&quot;&quot;Imports jackknife samples and returns an Obs</span>
</span><span id="import_jackknife-1582"><a href="#import_jackknife-1582"><span class="linenos">1582</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Imports jackknife samples and returns an Obs</span>
</span><span id="import_jackknife-1583"><a href="#import_jackknife-1583"><span class="linenos">1583</span></a>
</span><span id="import_jackknife-1584"><a href="#import_jackknife-1584"><span class="linenos">1584</span></a><span class="sd"> Parameters</span>
</span><span id="import_jackknife-1585"><a href="#import_jackknife-1585"><span class="linenos">1585</span></a><span class="sd"> ----------</span>
@ -4745,7 +4745,7 @@ name of the ensemble the samples are defined on.</li>
</div>
<a class="headerlink" href="#merge_obs"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="merge_obs-1601"><a href="#merge_obs-1601"><span class="linenos">1601</span></a><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><span id="merge_obs-1602"><a href="#merge_obs-1602"><span class="linenos">1602</span></a> <span class="sd">&quot;&quot;&quot;Combine all observables in list_of_obs into one new observable</span>
</span><span id="merge_obs-1602"><a href="#merge_obs-1602"><span class="linenos">1602</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Combine all observables in list_of_obs into one new observable</span>
</span><span id="merge_obs-1603"><a href="#merge_obs-1603"><span class="linenos">1603</span></a>
</span><span id="merge_obs-1604"><a href="#merge_obs-1604"><span class="linenos">1604</span></a><span class="sd"> Parameters</span>
</span><span id="merge_obs-1605"><a href="#merge_obs-1605"><span class="linenos">1605</span></a><span class="sd"> ----------</span>
@ -4804,7 +4804,7 @@ list of the Obs object to be combined</li>
</div>
<a class="headerlink" href="#cov_Obs"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="cov_Obs-1632"><a href="#cov_Obs-1632"><span class="linenos">1632</span></a><span class="k">def</span> <span class="nf">cov_Obs</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">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
</span><span id="cov_Obs-1633"><a href="#cov_Obs-1633"><span class="linenos">1633</span></a> <span class="sd">&quot;&quot;&quot;Create an Obs based on mean(s) and a covariance matrix</span>
</span><span id="cov_Obs-1633"><a href="#cov_Obs-1633"><span class="linenos">1633</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Create an Obs based on mean(s) and a covariance matrix</span>
</span><span id="cov_Obs-1634"><a href="#cov_Obs-1634"><span class="linenos">1634</span></a>
</span><span id="cov_Obs-1635"><a href="#cov_Obs-1635"><span class="linenos">1635</span></a><span class="sd"> Parameters</span>
</span><span id="cov_Obs-1636"><a href="#cov_Obs-1636"><span class="linenos">1636</span></a><span class="sd"> ----------</span>
@ -4819,7 +4819,7 @@ list of the Obs object to be combined</li>
</span><span id="cov_Obs-1645"><a href="#cov_Obs-1645"><span class="linenos">1645</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="cov_Obs-1646"><a href="#cov_Obs-1646"><span class="linenos">1646</span></a>
</span><span id="cov_Obs-1647"><a href="#cov_Obs-1647"><span class="linenos">1647</span></a> <span class="k">def</span> <span class="nf">covobs_to_obs</span><span class="p">(</span><span class="n">co</span><span class="p">):</span>
</span><span id="cov_Obs-1648"><a href="#cov_Obs-1648"><span class="linenos">1648</span></a> <span class="sd">&quot;&quot;&quot;Make an Obs out of a Covobs</span>
</span><span id="cov_Obs-1648"><a href="#cov_Obs-1648"><span class="linenos">1648</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Make an Obs out of a Covobs</span>
</span><span id="cov_Obs-1649"><a href="#cov_Obs-1649"><span class="linenos">1649</span></a>
</span><span id="cov_Obs-1650"><a href="#cov_Obs-1650"><span class="linenos">1650</span></a><span class="sd"> Parameters</span>
</span><span id="cov_Obs-1651"><a href="#cov_Obs-1651"><span class="linenos">1651</span></a><span class="sd"> ----------</span>

View file

@ -83,7 +83,7 @@
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a>
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a>
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="k">def</span> <span class="nf">find_root</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">guess</span><span class="o">=</span><span class="mf">1.0</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Finds the root of the function func(x, d) where d is an `Obs`.</span>
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Finds the root of the function func(x, d) where d is an `Obs`.</span>
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a>
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a><span class="sd"> Parameters</span>
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a><span class="sd"> -----------------</span>
@ -133,7 +133,7 @@
</div>
<a class="headerlink" href="#find_root"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="find_root-8"><a href="#find_root-8"><span class="linenos"> 8</span></a><span class="k">def</span> <span class="nf">find_root</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">guess</span><span class="o">=</span><span class="mf">1.0</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span><span id="find_root-9"><a href="#find_root-9"><span class="linenos"> 9</span></a> <span class="sa">r</span><span class="sd">&#39;&#39;&#39;Finds the root of the function func(x, d) where d is an `Obs`.</span>
</span><span id="find_root-9"><a href="#find_root-9"><span class="linenos"> 9</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">&#39;&#39;&#39;Finds the root of the function func(x, d) where d is an `Obs`.</span>
</span><span id="find_root-10"><a href="#find_root-10"><span class="linenos">10</span></a>
</span><span id="find_root-11"><a href="#find_root-11"><span class="linenos">11</span></a><span class="sd"> Parameters</span>
</span><span id="find_root-12"><a href="#find_root-12"><span class="linenos">12</span></a><span class="sd"> -----------------</span>