mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-03-16 07:10:24 +01:00
Documentation updated
This commit is contained in:
parent
3e4598152d
commit
0db8f51460
4 changed files with 101 additions and 73 deletions
|
@ -298,7 +298,7 @@ Make sure to check the autocorrelation time with e.g. <code><a href="pyerrors/ob
|
|||
|
||||
<p>In case the correlation functions are not defined on the outermost timeslices, for example because of fixed boundary conditions, a padding can be introduced.</p>
|
||||
|
||||
<div class="codehilite"><pre><span></span><code><span class="n">my_corr</span> <span class="o">=</span> <span class="n">pe</span><span class="o">.</span><span class="n">Corr</span><span class="p">([</span><span class="n">obs_0</span><span class="p">,</span> <span class="n">obs_1</span><span class="p">,</span> <span class="n">obs_2</span><span class="p">,</span> <span class="n">obs_3</span><span class="p">],</span> <span class="n">padding_front</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||||
<div class="codehilite"><pre><span></span><code><span class="n">my_corr</span> <span class="o">=</span> <span class="n">pe</span><span class="o">.</span><span class="n">Corr</span><span class="p">([</span><span class="n">obs_0</span><span class="p">,</span> <span class="n">obs_1</span><span class="p">,</span> <span class="n">obs_2</span><span class="p">,</span> <span class="n">obs_3</span><span class="p">],</span> <span class="n">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">my_corr</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="n">x0</span><span class="o">/</span><span class="n">a</span> <span class="n">Corr</span><span class="p">(</span><span class="n">x0</span><span class="o">/</span><span class="n">a</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="o">------------------</span>
|
||||
|
@ -597,7 +597,7 @@ See <code><a href="pyerrors/obs.html#Obs.export_jackknife">pyerrors.obs.Obs.expo
|
|||
<span class="sd">```</span>
|
||||
<span class="sd">In case the correlation functions are not defined on the outermost timeslices, for example because of fixed boundary conditions, a padding can be introduced.</span>
|
||||
<span class="sd">```python</span>
|
||||
<span class="sd">my_corr = pe.Corr([obs_0, obs_1, obs_2, obs_3], padding_front=1, padding_back=1)</span>
|
||||
<span class="sd">my_corr = pe.Corr([obs_0, obs_1, obs_2, obs_3], padding=[1, 1])</span>
|
||||
<span class="sd">print(my_corr)</span>
|
||||
<span class="sd">> x0/a Corr(x0/a)</span>
|
||||
<span class="sd">> ------------------</span>
|
||||
|
|
|
@ -216,46 +216,50 @@
|
|||
<span class="sd"> to iterate over all timeslices for every operation. This is especially true, when dealing with smearing matrices.</span>
|
||||
|
||||
<span class="sd"> The correlator can have two types of content: An Obs at every timeslice OR a GEVP</span>
|
||||
<span class="sd"> smearing matrix at every timeslice. Other dependency (eg. spacial) are not supported.</span>
|
||||
<span class="sd"> smearing matrix at every timeslice. Other dependency (eg. spatial) are not supported.</span>
|
||||
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data_input</span><span class="p">,</span> <span class="n">padding_front</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">padding_back</span><span class="o">=</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 class="c1"># All data_input should be a list of things at different timeslices. This needs to be verified</span>
|
||||
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">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 class="sd">""" Initialize a Corr object.</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> data_input : list</span>
|
||||
<span class="sd"> list of Obs or list of arrays of Obs.</span>
|
||||
<span class="sd"> padding : list, optional</span>
|
||||
<span class="sd"> List with two entries where the first labels the padding</span>
|
||||
<span class="sd"> at the front of the correlator and the second the padding</span>
|
||||
<span class="sd"> at the back.</span>
|
||||
<span class="sd"> prange : list, optional</span>
|
||||
<span class="sd"> List containing the first and last timeslice of the plateau</span>
|
||||
<span class="sd"> region indentified for this correlator.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">data_input</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
|
||||
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">'Corr__init__ expects a list of timeslices.'</span><span class="p">)</span>
|
||||
<span class="c1"># data_input can have multiple shapes. The simplest one is a list of Obs.</span>
|
||||
<span class="c1"># We check, if this is the case</span>
|
||||
<span class="k">if</span> <span class="nb">all</span><span class="p">([</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data_input</span><span class="p">]):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">=</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">item</span><span class="p">])</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data_input</span><span class="p">]</span>
|
||||
<span class="c1"># Wrapping the Obs in an array ensures that the data structure is consistent with smearing matrices.</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="c1"># number of smearings</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="c1"># data_input in the form [np.array(Obs,NxN)]</span>
|
||||
<span class="k">elif</span> <span class="nb">all</span><span class="p">([</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">)</span> <span class="ow">or</span> <span class="n">item</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data_input</span><span class="p">])</span> <span class="ow">and</span> <span class="nb">any</span><span class="p">([</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">)</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data_input</span><span class="p">]):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">=</span> <span class="n">data_input</span>
|
||||
|
||||
<span class="n">noNull</span> <span class="o">=</span> <span class="p">[</span><span class="n">a</span> <span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">a</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">)]</span> <span class="c1"># To check if the matrices are correct for all undefined elements</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">=</span> <span class="n">noNull</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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="c1"># The checks are now identical to the case above</span>
|
||||
<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="ow">and</span> <span class="n">noNull</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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="n">noNull</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Smearing matrices are not NxN"</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="ow">not</span> <span class="nb">all</span><span class="p">([</span><span class="n">item</span><span class="o">.</span><span class="n">shape</span> <span class="o">==</span> <span class="n">noNull</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">noNull</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Items in data_input are not of identical shape."</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">noNull</span><span class="p">))</span>
|
||||
<span class="k">else</span><span class="p">:</span> <span class="c1"># In case its a list of something else.</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"data_input contains item of wrong type"</span><span class="p">)</span>
|
||||
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
|
||||
<span class="c1"># We now apply some padding to our list. In case that our list represents a correlator of length T but is not defined at every value.</span>
|
||||
<span class="c1"># An undefined timeslice is represented by the None object</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">=</span> <span class="p">[</span><span class="kc">None</span><span class="p">]</span> <span class="o">*</span> <span class="n">padding_front</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">+</span> <span class="p">[</span><span class="kc">None</span><span class="p">]</span> <span class="o">*</span> <span class="n">padding_back</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">=</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="c1"># for convenience: will be used a lot</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">=</span> <span class="p">[</span><span class="kc">None</span><span class="p">]</span> <span class="o">*</span> <span class="n">padding</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">+</span> <span class="p">[</span><span class="kc">None</span><span class="p">]</span> <span class="o">*</span> <span class="n">padding</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">=</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="c1"># The attribute "range" [start,end] marks a range of two timeslices.</span>
|
||||
<span class="c1"># This is useful for keeping track of plateaus and fitranges.</span>
|
||||
<span class="c1"># The range can be inherited from other Corrs, if the operation should not alter a chosen range eg. multiplication with a constant.</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">prange</span> <span class="o">=</span> <span class="n">prange</span>
|
||||
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">()</span>
|
||||
|
@ -528,7 +532,7 @@
|
|||
<span class="n">newcontent</span><span class="o">.</span><span class="n">append</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">t</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span><span class="p">])</span>
|
||||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Derivative is undefined at all timeslices"</span><span class="p">)</span>
|
||||
<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">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||||
<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">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="n">symmetric</span><span class="p">:</span>
|
||||
<span class="n">newcontent</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<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="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">-</span> <span class="mi">1</span><span class="p">):</span>
|
||||
|
@ -538,7 +542,7 @@
|
|||
<span class="n">newcontent</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mf">0.5</span> <span class="o">*</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">t</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]))</span>
|
||||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Derivative is undefined at all timeslices'</span><span class="p">)</span>
|
||||
<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">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">padding_front</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||||
<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">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
|
||||
|
||||
<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="sd">"""Return the second derivative of the correlator with respect to x0."""</span>
|
||||
|
@ -550,7 +554,7 @@
|
|||
<span class="n">newcontent</span><span class="o">.</span><span class="n">append</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">t</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span><span class="p">]</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]))</span>
|
||||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Derivative is undefined at all timeslices"</span><span class="p">)</span>
|
||||
<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">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">padding_front</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||||
<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">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
|
||||
|
||||
<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">'log'</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="sd">"""Returns the effective mass of the correlator as correlator object</span>
|
||||
|
@ -578,7 +582,7 @@
|
|||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'m_eff is undefined at all timeslices'</span><span class="p">)</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">,</span> <span class="n">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</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">1</span><span class="p">]))</span>
|
||||
|
||||
<span class="k">elif</span> <span class="n">variant</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'periodic'</span><span class="p">,</span> <span class="s1">'cosh'</span><span class="p">,</span> <span class="s1">'sinh'</span><span class="p">]:</span>
|
||||
<span class="k">if</span> <span class="n">variant</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'periodic'</span><span class="p">,</span> <span class="s1">'cosh'</span><span class="p">]:</span>
|
||||
|
@ -601,7 +605,7 @@
|
|||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'m_eff is undefined at all timeslices'</span><span class="p">)</span>
|
||||
|
||||
<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">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||||
<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">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
|
||||
|
||||
<span class="k">elif</span> <span class="n">variant</span> <span class="o">==</span> <span class="s1">'arccosh'</span><span class="p">:</span>
|
||||
<span class="n">newcontent</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -612,7 +616,7 @@
|
|||
<span class="n">newcontent</span><span class="o">.</span><span class="n">append</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">t</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span> <span class="o">-</span> <span class="mi">1</span><span class="p">])</span> <span class="o">/</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span><span class="p">]))</span>
|
||||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"m_eff is undefined at all timeslices"</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">arccosh</span><span class="p">(</span><span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">,</span> <span class="n">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">padding_front</span><span class="o">=</span><span class="mi">1</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">arccosh</span><span class="p">(</span><span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">]))</span>
|
||||
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Unknown variant.'</span><span class="p">)</span>
|
||||
|
@ -1027,46 +1031,50 @@
|
|||
<span class="sd"> to iterate over all timeslices for every operation. This is especially true, when dealing with smearing matrices.</span>
|
||||
|
||||
<span class="sd"> The correlator can have two types of content: An Obs at every timeslice OR a GEVP</span>
|
||||
<span class="sd"> smearing matrix at every timeslice. Other dependency (eg. spacial) are not supported.</span>
|
||||
<span class="sd"> smearing matrix at every timeslice. Other dependency (eg. spatial) are not supported.</span>
|
||||
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data_input</span><span class="p">,</span> <span class="n">padding_front</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">padding_back</span><span class="o">=</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 class="c1"># All data_input should be a list of things at different timeslices. This needs to be verified</span>
|
||||
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">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 class="sd">""" Initialize a Corr object.</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> data_input : list</span>
|
||||
<span class="sd"> list of Obs or list of arrays of Obs.</span>
|
||||
<span class="sd"> padding : list, optional</span>
|
||||
<span class="sd"> List with two entries where the first labels the padding</span>
|
||||
<span class="sd"> at the front of the correlator and the second the padding</span>
|
||||
<span class="sd"> at the back.</span>
|
||||
<span class="sd"> prange : list, optional</span>
|
||||
<span class="sd"> List containing the first and last timeslice of the plateau</span>
|
||||
<span class="sd"> region indentified for this correlator.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">data_input</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
|
||||
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">'Corr__init__ expects a list of timeslices.'</span><span class="p">)</span>
|
||||
<span class="c1"># data_input can have multiple shapes. The simplest one is a list of Obs.</span>
|
||||
<span class="c1"># We check, if this is the case</span>
|
||||
<span class="k">if</span> <span class="nb">all</span><span class="p">([</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data_input</span><span class="p">]):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">=</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">item</span><span class="p">])</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data_input</span><span class="p">]</span>
|
||||
<span class="c1"># Wrapping the Obs in an array ensures that the data structure is consistent with smearing matrices.</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="c1"># number of smearings</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="c1"># data_input in the form [np.array(Obs,NxN)]</span>
|
||||
<span class="k">elif</span> <span class="nb">all</span><span class="p">([</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">)</span> <span class="ow">or</span> <span class="n">item</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data_input</span><span class="p">])</span> <span class="ow">and</span> <span class="nb">any</span><span class="p">([</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">)</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data_input</span><span class="p">]):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">=</span> <span class="n">data_input</span>
|
||||
|
||||
<span class="n">noNull</span> <span class="o">=</span> <span class="p">[</span><span class="n">a</span> <span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">a</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">)]</span> <span class="c1"># To check if the matrices are correct for all undefined elements</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">=</span> <span class="n">noNull</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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="c1"># The checks are now identical to the case above</span>
|
||||
<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="ow">and</span> <span class="n">noNull</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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="n">noNull</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Smearing matrices are not NxN"</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="ow">not</span> <span class="nb">all</span><span class="p">([</span><span class="n">item</span><span class="o">.</span><span class="n">shape</span> <span class="o">==</span> <span class="n">noNull</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">noNull</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Items in data_input are not of identical shape."</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">noNull</span><span class="p">))</span>
|
||||
<span class="k">else</span><span class="p">:</span> <span class="c1"># In case its a list of something else.</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"data_input contains item of wrong type"</span><span class="p">)</span>
|
||||
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
|
||||
<span class="c1"># We now apply some padding to our list. In case that our list represents a correlator of length T but is not defined at every value.</span>
|
||||
<span class="c1"># An undefined timeslice is represented by the None object</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">=</span> <span class="p">[</span><span class="kc">None</span><span class="p">]</span> <span class="o">*</span> <span class="n">padding_front</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">+</span> <span class="p">[</span><span class="kc">None</span><span class="p">]</span> <span class="o">*</span> <span class="n">padding_back</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">=</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="c1"># for convenience: will be used a lot</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">=</span> <span class="p">[</span><span class="kc">None</span><span class="p">]</span> <span class="o">*</span> <span class="n">padding</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">+</span> <span class="p">[</span><span class="kc">None</span><span class="p">]</span> <span class="o">*</span> <span class="n">padding</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">=</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="c1"># The attribute "range" [start,end] marks a range of two timeslices.</span>
|
||||
<span class="c1"># This is useful for keeping track of plateaus and fitranges.</span>
|
||||
<span class="c1"># The range can be inherited from other Corrs, if the operation should not alter a chosen range eg. multiplication with a constant.</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">prange</span> <span class="o">=</span> <span class="n">prange</span>
|
||||
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">()</span>
|
||||
|
@ -1339,7 +1347,7 @@
|
|||
<span class="n">newcontent</span><span class="o">.</span><span class="n">append</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">t</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span><span class="p">])</span>
|
||||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Derivative is undefined at all timeslices"</span><span class="p">)</span>
|
||||
<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">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||||
<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">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="n">symmetric</span><span class="p">:</span>
|
||||
<span class="n">newcontent</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<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="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">-</span> <span class="mi">1</span><span class="p">):</span>
|
||||
|
@ -1349,7 +1357,7 @@
|
|||
<span class="n">newcontent</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mf">0.5</span> <span class="o">*</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">t</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]))</span>
|
||||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Derivative is undefined at all timeslices'</span><span class="p">)</span>
|
||||
<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">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">padding_front</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||||
<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">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
|
||||
|
||||
<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="sd">"""Return the second derivative of the correlator with respect to x0."""</span>
|
||||
|
@ -1361,7 +1369,7 @@
|
|||
<span class="n">newcontent</span><span class="o">.</span><span class="n">append</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">t</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span><span class="p">]</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]))</span>
|
||||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Derivative is undefined at all timeslices"</span><span class="p">)</span>
|
||||
<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">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">padding_front</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||||
<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">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
|
||||
|
||||
<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">'log'</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="sd">"""Returns the effective mass of the correlator as correlator object</span>
|
||||
|
@ -1389,7 +1397,7 @@
|
|||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'m_eff is undefined at all timeslices'</span><span class="p">)</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">,</span> <span class="n">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</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">1</span><span class="p">]))</span>
|
||||
|
||||
<span class="k">elif</span> <span class="n">variant</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'periodic'</span><span class="p">,</span> <span class="s1">'cosh'</span><span class="p">,</span> <span class="s1">'sinh'</span><span class="p">]:</span>
|
||||
<span class="k">if</span> <span class="n">variant</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'periodic'</span><span class="p">,</span> <span class="s1">'cosh'</span><span class="p">]:</span>
|
||||
|
@ -1412,7 +1420,7 @@
|
|||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'m_eff is undefined at all timeslices'</span><span class="p">)</span>
|
||||
|
||||
<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">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||||
<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">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
|
||||
|
||||
<span class="k">elif</span> <span class="n">variant</span> <span class="o">==</span> <span class="s1">'arccosh'</span><span class="p">:</span>
|
||||
<span class="n">newcontent</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -1423,7 +1431,7 @@
|
|||
<span class="n">newcontent</span><span class="o">.</span><span class="n">append</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">t</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span> <span class="o">-</span> <span class="mi">1</span><span class="p">])</span> <span class="o">/</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span><span class="p">]))</span>
|
||||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"m_eff is undefined at all timeslices"</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">arccosh</span><span class="p">(</span><span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">,</span> <span class="n">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">padding_front</span><span class="o">=</span><span class="mi">1</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">arccosh</span><span class="p">(</span><span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">]))</span>
|
||||
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Unknown variant.'</span><span class="p">)</span>
|
||||
|
@ -1825,7 +1833,7 @@ One often wants to add or multiply correlators of the same length at every times
|
|||
to iterate over all timeslices for every operation. This is especially true, when dealing with smearing matrices.</p>
|
||||
|
||||
<p>The correlator can have two types of content: An Obs at every timeslice OR a GEVP
|
||||
smearing matrix at every timeslice. Other dependency (eg. spacial) are not supported.</p>
|
||||
smearing matrix at every timeslice. Other dependency (eg. spatial) are not supported.</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -1833,47 +1841,51 @@ smearing matrix at every timeslice. Other dependency (eg. spacial) are not suppo
|
|||
<div class="attr function"><a class="headerlink" href="#Corr.__init__">#  </a>
|
||||
|
||||
|
||||
<span class="name">Corr</span><span class="signature">(data_input, padding_front=0, padding_back=0, prange=None)</span>
|
||||
<span class="name">Corr</span><span class="signature">(data_input, padding=[0, 0], prange=None)</span>
|
||||
</div>
|
||||
|
||||
<details>
|
||||
<summary>View Source</summary>
|
||||
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data_input</span><span class="p">,</span> <span class="n">padding_front</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">padding_back</span><span class="o">=</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 class="c1"># All data_input should be a list of things at different timeslices. This needs to be verified</span>
|
||||
<div class="codehilite"><pre><span></span> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">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 class="sd">""" Initialize a Corr object.</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
<span class="sd"> ----------</span>
|
||||
<span class="sd"> data_input : list</span>
|
||||
<span class="sd"> list of Obs or list of arrays of Obs.</span>
|
||||
<span class="sd"> padding : list, optional</span>
|
||||
<span class="sd"> List with two entries where the first labels the padding</span>
|
||||
<span class="sd"> at the front of the correlator and the second the padding</span>
|
||||
<span class="sd"> at the back.</span>
|
||||
<span class="sd"> prange : list, optional</span>
|
||||
<span class="sd"> List containing the first and last timeslice of the plateau</span>
|
||||
<span class="sd"> region indentified for this correlator.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">data_input</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
|
||||
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">'Corr__init__ expects a list of timeslices.'</span><span class="p">)</span>
|
||||
<span class="c1"># data_input can have multiple shapes. The simplest one is a list of Obs.</span>
|
||||
<span class="c1"># We check, if this is the case</span>
|
||||
<span class="k">if</span> <span class="nb">all</span><span class="p">([</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data_input</span><span class="p">]):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">=</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">item</span><span class="p">])</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data_input</span><span class="p">]</span>
|
||||
<span class="c1"># Wrapping the Obs in an array ensures that the data structure is consistent with smearing matrices.</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="c1"># number of smearings</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="c1"># data_input in the form [np.array(Obs,NxN)]</span>
|
||||
<span class="k">elif</span> <span class="nb">all</span><span class="p">([</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">)</span> <span class="ow">or</span> <span class="n">item</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data_input</span><span class="p">])</span> <span class="ow">and</span> <span class="nb">any</span><span class="p">([</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">)</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data_input</span><span class="p">]):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">=</span> <span class="n">data_input</span>
|
||||
|
||||
<span class="n">noNull</span> <span class="o">=</span> <span class="p">[</span><span class="n">a</span> <span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">a</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">)]</span> <span class="c1"># To check if the matrices are correct for all undefined elements</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">N</span> <span class="o">=</span> <span class="n">noNull</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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="c1"># The checks are now identical to the case above</span>
|
||||
<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="ow">and</span> <span class="n">noNull</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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="n">noNull</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Smearing matrices are not NxN"</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="ow">not</span> <span class="nb">all</span><span class="p">([</span><span class="n">item</span><span class="o">.</span><span class="n">shape</span> <span class="o">==</span> <span class="n">noNull</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">noNull</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Items in data_input are not of identical shape."</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">noNull</span><span class="p">))</span>
|
||||
<span class="k">else</span><span class="p">:</span> <span class="c1"># In case its a list of something else.</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"data_input contains item of wrong type"</span><span class="p">)</span>
|
||||
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
|
||||
<span class="c1"># We now apply some padding to our list. In case that our list represents a correlator of length T but is not defined at every value.</span>
|
||||
<span class="c1"># An undefined timeslice is represented by the None object</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">=</span> <span class="p">[</span><span class="kc">None</span><span class="p">]</span> <span class="o">*</span> <span class="n">padding_front</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">+</span> <span class="p">[</span><span class="kc">None</span><span class="p">]</span> <span class="o">*</span> <span class="n">padding_back</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">=</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="c1"># for convenience: will be used a lot</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">=</span> <span class="p">[</span><span class="kc">None</span><span class="p">]</span> <span class="o">*</span> <span class="n">padding</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span> <span class="o">+</span> <span class="p">[</span><span class="kc">None</span><span class="p">]</span> <span class="o">*</span> <span class="n">padding</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">=</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="c1"># The attribute "range" [start,end] marks a range of two timeslices.</span>
|
||||
<span class="c1"># This is useful for keeping track of plateaus and fitranges.</span>
|
||||
<span class="c1"># The range can be inherited from other Corrs, if the operation should not alter a chosen range eg. multiplication with a constant.</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">prange</span> <span class="o">=</span> <span class="n">prange</span>
|
||||
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">()</span>
|
||||
|
@ -1881,7 +1893,23 @@ smearing matrix at every timeslice. Other dependency (eg. spacial) are not suppo
|
|||
|
||||
</details>
|
||||
|
||||
|
||||
<div class="docstring"><p>Initialize a Corr object.</p>
|
||||
|
||||
<h6 id="parameters">Parameters</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>data_input</strong> (list):
|
||||
list of Obs or list of arrays of Obs.</li>
|
||||
<li><strong>padding</strong> (list, optional):
|
||||
List with two entries where the first labels the padding
|
||||
at the front of the correlator and the second the padding
|
||||
at the back.</li>
|
||||
<li><strong>prange</strong> (list, optional):
|
||||
List containing the first and last timeslice of the plateau
|
||||
region indentified for this correlator.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Corr.reweighted" class="classattr">
|
||||
|
@ -2438,7 +2466,7 @@ Parity quantum number of the correlator, can be +1 or -1</li>
|
|||
<span class="n">newcontent</span><span class="o">.</span><span class="n">append</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">t</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span><span class="p">])</span>
|
||||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Derivative is undefined at all timeslices"</span><span class="p">)</span>
|
||||
<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">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||||
<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">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="n">symmetric</span><span class="p">:</span>
|
||||
<span class="n">newcontent</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<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="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">T</span> <span class="o">-</span> <span class="mi">1</span><span class="p">):</span>
|
||||
|
@ -2448,7 +2476,7 @@ Parity quantum number of the correlator, can be +1 or -1</li>
|
|||
<span class="n">newcontent</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mf">0.5</span> <span class="o">*</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">t</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]))</span>
|
||||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Derivative is undefined at all timeslices'</span><span class="p">)</span>
|
||||
<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">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">padding_front</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||||
<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">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
|
||||
</pre></div>
|
||||
|
||||
</details>
|
||||
|
@ -2485,7 +2513,7 @@ decides whether symmetric of simple finite differences are used. Default: True</
|
|||
<span class="n">newcontent</span><span class="o">.</span><span class="n">append</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">t</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span><span class="p">]</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]))</span>
|
||||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Derivative is undefined at all timeslices"</span><span class="p">)</span>
|
||||
<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">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">padding_front</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||||
<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">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
|
||||
</pre></div>
|
||||
|
||||
</details>
|
||||
|
@ -2531,7 +2559,7 @@ decides whether symmetric of simple finite differences are used. Default: True</
|
|||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'m_eff is undefined at all timeslices'</span><span class="p">)</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">,</span> <span class="n">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</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">1</span><span class="p">]))</span>
|
||||
|
||||
<span class="k">elif</span> <span class="n">variant</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'periodic'</span><span class="p">,</span> <span class="s1">'cosh'</span><span class="p">,</span> <span class="s1">'sinh'</span><span class="p">]:</span>
|
||||
<span class="k">if</span> <span class="n">variant</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'periodic'</span><span class="p">,</span> <span class="s1">'cosh'</span><span class="p">]:</span>
|
||||
|
@ -2554,7 +2582,7 @@ decides whether symmetric of simple finite differences are used. Default: True</
|
|||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'m_eff is undefined at all timeslices'</span><span class="p">)</span>
|
||||
|
||||
<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">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||||
<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">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span>
|
||||
|
||||
<span class="k">elif</span> <span class="n">variant</span> <span class="o">==</span> <span class="s1">'arccosh'</span><span class="p">:</span>
|
||||
<span class="n">newcontent</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -2565,7 +2593,7 @@ decides whether symmetric of simple finite differences are used. Default: True</
|
|||
<span class="n">newcontent</span><span class="o">.</span><span class="n">append</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">t</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span> <span class="o">-</span> <span class="mi">1</span><span class="p">])</span> <span class="o">/</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">t</span><span class="p">]))</span>
|
||||
<span class="k">if</span><span class="p">(</span><span class="nb">all</span><span class="p">([</span><span class="n">x</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">newcontent</span><span class="p">])):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"m_eff is undefined at all timeslices"</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">arccosh</span><span class="p">(</span><span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">,</span> <span class="n">padding_back</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">padding_front</span><span class="o">=</span><span class="mi">1</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">arccosh</span><span class="p">(</span><span class="n">Corr</span><span class="p">(</span><span class="n">newcontent</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">]))</span>
|
||||
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Unknown variant.'</span><span class="p">)</span>
|
||||
|
|
|
@ -482,7 +482,7 @@
|
|||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">tmp_o</span><span class="p">[</span><span class="s1">'tag'</span><span class="p">])</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="k">del</span> <span class="n">tmp_o</span><span class="p">[</span><span class="s1">'tag'</span><span class="p">]</span>
|
||||
<span class="n">dat</span> <span class="o">=</span> <span class="n">get_Array_from_dict</span><span class="p">(</span><span class="n">tmp_o</span><span class="p">)</span>
|
||||
<span class="n">my_corr</span> <span class="o">=</span> <span class="n">Corr</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="n">dat</span><span class="p">),</span> <span class="n">padding_front</span><span class="o">=</span><span class="n">padding_front</span><span class="p">,</span> <span class="n">padding_back</span><span class="o">=</span><span class="n">padding_back</span><span class="p">)</span>
|
||||
<span class="n">my_corr</span> <span class="o">=</span> <span class="n">Corr</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="n">dat</span><span class="p">),</span> <span class="n">padding</span><span class="o">=</span><span class="p">[</span><span class="n">padding_front</span><span class="p">,</span> <span class="n">padding_back</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="n">corr_tag</span> <span class="o">!=</span> <span class="s1">'None'</span><span class="p">:</span>
|
||||
<span class="n">my_corr</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">corr_tag</span>
|
||||
<span class="k">return</span> <span class="n">my_corr</span>
|
||||
|
@ -1040,7 +1040,7 @@ If True, the output is a gzipped json. If False, the output is a json file.</li>
|
|||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">tmp_o</span><span class="p">[</span><span class="s1">'tag'</span><span class="p">])</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="k">del</span> <span class="n">tmp_o</span><span class="p">[</span><span class="s1">'tag'</span><span class="p">]</span>
|
||||
<span class="n">dat</span> <span class="o">=</span> <span class="n">get_Array_from_dict</span><span class="p">(</span><span class="n">tmp_o</span><span class="p">)</span>
|
||||
<span class="n">my_corr</span> <span class="o">=</span> <span class="n">Corr</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="n">dat</span><span class="p">),</span> <span class="n">padding_front</span><span class="o">=</span><span class="n">padding_front</span><span class="p">,</span> <span class="n">padding_back</span><span class="o">=</span><span class="n">padding_back</span><span class="p">)</span>
|
||||
<span class="n">my_corr</span> <span class="o">=</span> <span class="n">Corr</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="n">dat</span><span class="p">),</span> <span class="n">padding</span><span class="o">=</span><span class="p">[</span><span class="n">padding_front</span><span class="p">,</span> <span class="n">padding_back</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="n">corr_tag</span> <span class="o">!=</span> <span class="s1">'None'</span><span class="p">:</span>
|
||||
<span class="n">my_corr</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">corr_tag</span>
|
||||
<span class="k">return</span> <span class="n">my_corr</span>
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue