mirror of
https://github.com/fjosw/pyerrors.git
synced 2026-08-04 11:31:21 +02:00
Documentation updated
This commit is contained in:
parent
0baf0a4981
commit
8ff6c1df4d
22 changed files with 23221 additions and 23027 deletions
|
|
@ -1151,19 +1151,18 @@ The following entries are optional:</li>
|
||||||
</span><span id="L-477"><a href="#L-477"><span class="linenos">477</span></a>
|
</span><span id="L-477"><a href="#L-477"><span class="linenos">477</span></a>
|
||||||
</span><span id="L-478"><a href="#L-478"><span class="linenos">478</span></a><span class="sd">Julia I/O routines for the json.gz format, compatible with [ADerrors.jl](https://gitlab.ift.uam-csic.es/alberto/aderrors.jl), can be found [here](https://github.com/fjosw/ADjson.jl).</span>
|
</span><span id="L-478"><a href="#L-478"><span class="linenos">478</span></a><span class="sd">Julia I/O routines for the json.gz format, compatible with [ADerrors.jl](https://gitlab.ift.uam-csic.es/alberto/aderrors.jl), can be found [here](https://github.com/fjosw/ADjson.jl).</span>
|
||||||
</span><span id="L-479"><a href="#L-479"><span class="linenos">479</span></a><span class="sd">'''</span>
|
</span><span id="L-479"><a href="#L-479"><span class="linenos">479</span></a><span class="sd">'''</span>
|
||||||
</span><span id="L-480"><a href="#L-480"><span class="linenos">480</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.obs</span><span class="w"> </span><span class="kn">import</span> <span class="o">*</span>
|
</span><span id="L-480"><a href="#L-480"><span class="linenos">480</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">dirac</span> <span class="k">as</span> <span class="n">dirac</span>
|
||||||
</span><span id="L-481"><a href="#L-481"><span class="linenos">481</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.correlators</span><span class="w"> </span><span class="kn">import</span> <span class="o">*</span>
|
</span><span id="L-481"><a href="#L-481"><span class="linenos">481</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="nb">input</span> <span class="k">as</span> <span class="nb">input</span>
|
||||||
</span><span id="L-482"><a href="#L-482"><span class="linenos">482</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.fits</span><span class="w"> </span><span class="kn">import</span> <span class="o">*</span>
|
</span><span id="L-482"><a href="#L-482"><span class="linenos">482</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">integrate</span> <span class="k">as</span> <span class="n">integrate</span>
|
||||||
</span><span id="L-483"><a href="#L-483"><span class="linenos">483</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.misc</span><span class="w"> </span><span class="kn">import</span> <span class="o">*</span>
|
</span><span id="L-483"><a href="#L-483"><span class="linenos">483</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">linalg</span> <span class="k">as</span> <span class="n">linalg</span>
|
||||||
</span><span id="L-484"><a href="#L-484"><span class="linenos">484</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">dirac</span> <span class="k">as</span> <span class="n">dirac</span>
|
</span><span id="L-484"><a href="#L-484"><span class="linenos">484</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">mpm</span> <span class="k">as</span> <span class="n">mpm</span>
|
||||||
</span><span id="L-485"><a href="#L-485"><span class="linenos">485</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="nb">input</span> <span class="k">as</span> <span class="nb">input</span>
|
</span><span id="L-485"><a href="#L-485"><span class="linenos">485</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">roots</span> <span class="k">as</span> <span class="n">roots</span>
|
||||||
</span><span id="L-486"><a href="#L-486"><span class="linenos">486</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">linalg</span> <span class="k">as</span> <span class="n">linalg</span>
|
</span><span id="L-486"><a href="#L-486"><span class="linenos">486</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">special</span> <span class="k">as</span> <span class="n">special</span>
|
||||||
</span><span id="L-487"><a href="#L-487"><span class="linenos">487</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">mpm</span> <span class="k">as</span> <span class="n">mpm</span>
|
</span><span id="L-487"><a href="#L-487"><span class="linenos">487</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.correlators</span><span class="w"> </span><span class="kn">import</span> <span class="o">*</span>
|
||||||
</span><span id="L-488"><a href="#L-488"><span class="linenos">488</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">roots</span> <span class="k">as</span> <span class="n">roots</span>
|
</span><span id="L-488"><a href="#L-488"><span class="linenos">488</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.fits</span><span class="w"> </span><span class="kn">import</span> <span class="o">*</span>
|
||||||
</span><span id="L-489"><a href="#L-489"><span class="linenos">489</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">integrate</span> <span class="k">as</span> <span class="n">integrate</span>
|
</span><span id="L-489"><a href="#L-489"><span class="linenos">489</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.misc</span><span class="w"> </span><span class="kn">import</span> <span class="o">*</span>
|
||||||
</span><span id="L-490"><a href="#L-490"><span class="linenos">490</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">special</span> <span class="k">as</span> <span class="n">special</span>
|
</span><span id="L-490"><a href="#L-490"><span class="linenos">490</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.obs</span><span class="w"> </span><span class="kn">import</span> <span class="o">*</span>
|
||||||
</span><span id="L-491"><a href="#L-491"><span class="linenos">491</span></a>
|
</span><span id="L-491"><a href="#L-491"><span class="linenos">491</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.version</span><span class="w"> </span><span class="kn">import</span> <span class="n">__version__</span> <span class="k">as</span> <span class="n">__version__</span>
|
||||||
</span><span id="L-492"><a href="#L-492"><span class="linenos">492</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.version</span><span class="w"> </span><span class="kn">import</span> <span class="n">__version__</span> <span class="k">as</span> <span class="n">__version__</span>
|
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -131,7 +131,7 @@
|
||||||
</span><span id="L-32"><a href="#L-32"><span class="linenos"> 32</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Have to specify position of cov-element belonging to mean!'</span><span class="p">)</span>
|
</span><span id="L-32"><a href="#L-32"><span class="linenos"> 32</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Have to specify position of cov-element belonging to mean!'</span><span class="p">)</span>
|
||||||
</span><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-34"><a href="#L-34"><span class="linenos"> 34</span></a> <span class="k">if</span> <span class="n">pos</span> <span class="o">></span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">:</span>
|
</span><span id="L-34"><a href="#L-34"><span class="linenos"> 34</span></a> <span class="k">if</span> <span class="n">pos</span> <span class="o">></span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">:</span>
|
||||||
</span><span id="L-35"><a href="#L-35"><span class="linenos"> 35</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'pos </span><span class="si">%d</span><span class="s1"> too large for covariance matrix with dimension </span><span class="si">%d</span><span class="s1">x</span><span class="si">%d</span><span class="s1">!'</span> <span class="o">%</span> <span class="p">(</span><span class="n">pos</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">))</span>
|
</span><span id="L-35"><a href="#L-35"><span class="linenos"> 35</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s1">'pos </span><span class="si">{</span><span class="n">pos</span><span class="si">}</span><span class="s1"> too large for covariance matrix with dimension </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="si">}</span><span class="s1">x</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="si">}</span><span class="s1">!'</span><span class="p">)</span>
|
||||||
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span>
|
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span>
|
||||||
</span><span id="L-37"><a href="#L-37"><span class="linenos"> 37</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span><span class="p">[</span><span class="n">pos</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1.</span>
|
</span><span id="L-37"><a href="#L-37"><span class="linenos"> 37</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span><span class="p">[</span><span class="n">pos</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1.</span>
|
||||||
</span><span id="L-38"><a href="#L-38"><span class="linenos"> 38</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-38"><a href="#L-38"><span class="linenos"> 38</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
|
|
@ -171,7 +171,7 @@
|
||||||
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">):</span>
|
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">):</span>
|
||||||
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">i</span><span class="p">):</span>
|
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">i</span><span class="p">):</span>
|
||||||
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cov</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="bp">self</span><span class="o">.</span><span class="n">_cov</span><span class="p">[</span><span class="n">j</span><span class="p">][</span><span class="n">i</span><span class="p">]:</span>
|
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cov</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="bp">self</span><span class="o">.</span><span class="n">_cov</span><span class="p">[</span><span class="n">j</span><span class="p">][</span><span class="n">i</span><span class="p">]:</span>
|
||||||
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Covariance matrix is non-symmetric for (</span><span class="si">%d</span><span class="s1">, </span><span class="si">%d</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">))</span>
|
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s1">'Covariance matrix is non-symmetric for (</span><span class="si">{</span><span class="n">i</span><span class="si">}</span><span class="s1">, </span><span class="si">{</span><span class="n">j</span><span class="si">}</span><span class="s1">)'</span><span class="p">)</span>
|
||||||
</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a>
|
</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a>
|
||||||
</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a> <span class="n">evals</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">eigvalsh</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_cov</span><span class="p">)</span>
|
</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a> <span class="n">evals</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">eigvalsh</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_cov</span><span class="p">)</span>
|
||||||
</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a> <span class="k">for</span> <span class="n">ev</span> <span class="ow">in</span> <span class="n">evals</span><span class="p">:</span>
|
</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a> <span class="k">for</span> <span class="n">ev</span> <span class="ow">in</span> <span class="n">evals</span><span class="p">:</span>
|
||||||
|
|
@ -247,7 +247,7 @@
|
||||||
</span><span id="Covobs-33"><a href="#Covobs-33"><span class="linenos"> 33</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Have to specify position of cov-element belonging to mean!'</span><span class="p">)</span>
|
</span><span id="Covobs-33"><a href="#Covobs-33"><span class="linenos"> 33</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Have to specify position of cov-element belonging to mean!'</span><span class="p">)</span>
|
||||||
</span><span id="Covobs-34"><a href="#Covobs-34"><span class="linenos"> 34</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="Covobs-34"><a href="#Covobs-34"><span class="linenos"> 34</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="Covobs-35"><a href="#Covobs-35"><span class="linenos"> 35</span></a> <span class="k">if</span> <span class="n">pos</span> <span class="o">></span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">:</span>
|
</span><span id="Covobs-35"><a href="#Covobs-35"><span class="linenos"> 35</span></a> <span class="k">if</span> <span class="n">pos</span> <span class="o">></span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">:</span>
|
||||||
</span><span id="Covobs-36"><a href="#Covobs-36"><span class="linenos"> 36</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'pos </span><span class="si">%d</span><span class="s1"> too large for covariance matrix with dimension </span><span class="si">%d</span><span class="s1">x</span><span class="si">%d</span><span class="s1">!'</span> <span class="o">%</span> <span class="p">(</span><span class="n">pos</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">))</span>
|
</span><span id="Covobs-36"><a href="#Covobs-36"><span class="linenos"> 36</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s1">'pos </span><span class="si">{</span><span class="n">pos</span><span class="si">}</span><span class="s1"> too large for covariance matrix with dimension </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="si">}</span><span class="s1">x</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="si">}</span><span class="s1">!'</span><span class="p">)</span>
|
||||||
</span><span id="Covobs-37"><a href="#Covobs-37"><span class="linenos"> 37</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span>
|
</span><span id="Covobs-37"><a href="#Covobs-37"><span class="linenos"> 37</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span>
|
||||||
</span><span id="Covobs-38"><a href="#Covobs-38"><span class="linenos"> 38</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span><span class="p">[</span><span class="n">pos</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1.</span>
|
</span><span id="Covobs-38"><a href="#Covobs-38"><span class="linenos"> 38</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span><span class="p">[</span><span class="n">pos</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1.</span>
|
||||||
</span><span id="Covobs-39"><a href="#Covobs-39"><span class="linenos"> 39</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="Covobs-39"><a href="#Covobs-39"><span class="linenos"> 39</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
|
|
@ -287,7 +287,7 @@
|
||||||
</span><span id="Covobs-73"><a href="#Covobs-73"><span class="linenos"> 73</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">):</span>
|
</span><span id="Covobs-73"><a href="#Covobs-73"><span class="linenos"> 73</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">):</span>
|
||||||
</span><span id="Covobs-74"><a href="#Covobs-74"><span class="linenos"> 74</span></a> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">i</span><span class="p">):</span>
|
</span><span id="Covobs-74"><a href="#Covobs-74"><span class="linenos"> 74</span></a> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">i</span><span class="p">):</span>
|
||||||
</span><span id="Covobs-75"><a href="#Covobs-75"><span class="linenos"> 75</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cov</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="bp">self</span><span class="o">.</span><span class="n">_cov</span><span class="p">[</span><span class="n">j</span><span class="p">][</span><span class="n">i</span><span class="p">]:</span>
|
</span><span id="Covobs-75"><a href="#Covobs-75"><span class="linenos"> 75</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cov</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="bp">self</span><span class="o">.</span><span class="n">_cov</span><span class="p">[</span><span class="n">j</span><span class="p">][</span><span class="n">i</span><span class="p">]:</span>
|
||||||
</span><span id="Covobs-76"><a href="#Covobs-76"><span class="linenos"> 76</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Covariance matrix is non-symmetric for (</span><span class="si">%d</span><span class="s1">, </span><span class="si">%d</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">))</span>
|
</span><span id="Covobs-76"><a href="#Covobs-76"><span class="linenos"> 76</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s1">'Covariance matrix is non-symmetric for (</span><span class="si">{</span><span class="n">i</span><span class="si">}</span><span class="s1">, </span><span class="si">{</span><span class="n">j</span><span class="si">}</span><span class="s1">)'</span><span class="p">)</span>
|
||||||
</span><span id="Covobs-77"><a href="#Covobs-77"><span class="linenos"> 77</span></a>
|
</span><span id="Covobs-77"><a href="#Covobs-77"><span class="linenos"> 77</span></a>
|
||||||
</span><span id="Covobs-78"><a href="#Covobs-78"><span class="linenos"> 78</span></a> <span class="n">evals</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">eigvalsh</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_cov</span><span class="p">)</span>
|
</span><span id="Covobs-78"><a href="#Covobs-78"><span class="linenos"> 78</span></a> <span class="n">evals</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">eigvalsh</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_cov</span><span class="p">)</span>
|
||||||
</span><span id="Covobs-79"><a href="#Covobs-79"><span class="linenos"> 79</span></a> <span class="k">for</span> <span class="n">ev</span> <span class="ow">in</span> <span class="n">evals</span><span class="p">:</span>
|
</span><span id="Covobs-79"><a href="#Covobs-79"><span class="linenos"> 79</span></a> <span class="k">for</span> <span class="n">ev</span> <span class="ow">in</span> <span class="n">evals</span><span class="p">:</span>
|
||||||
|
|
@ -361,7 +361,7 @@
|
||||||
</span><span id="Covobs.__init__-33"><a href="#Covobs.__init__-33"><span class="linenos">33</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Have to specify position of cov-element belonging to mean!'</span><span class="p">)</span>
|
</span><span id="Covobs.__init__-33"><a href="#Covobs.__init__-33"><span class="linenos">33</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Have to specify position of cov-element belonging to mean!'</span><span class="p">)</span>
|
||||||
</span><span id="Covobs.__init__-34"><a href="#Covobs.__init__-34"><span class="linenos">34</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="Covobs.__init__-34"><a href="#Covobs.__init__-34"><span class="linenos">34</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="Covobs.__init__-35"><a href="#Covobs.__init__-35"><span class="linenos">35</span></a> <span class="k">if</span> <span class="n">pos</span> <span class="o">></span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">:</span>
|
</span><span id="Covobs.__init__-35"><a href="#Covobs.__init__-35"><span class="linenos">35</span></a> <span class="k">if</span> <span class="n">pos</span> <span class="o">></span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">:</span>
|
||||||
</span><span id="Covobs.__init__-36"><a href="#Covobs.__init__-36"><span class="linenos">36</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'pos </span><span class="si">%d</span><span class="s1"> too large for covariance matrix with dimension </span><span class="si">%d</span><span class="s1">x</span><span class="si">%d</span><span class="s1">!'</span> <span class="o">%</span> <span class="p">(</span><span class="n">pos</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">))</span>
|
</span><span id="Covobs.__init__-36"><a href="#Covobs.__init__-36"><span class="linenos">36</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s1">'pos </span><span class="si">{</span><span class="n">pos</span><span class="si">}</span><span class="s1"> too large for covariance matrix with dimension </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="si">}</span><span class="s1">x</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="si">}</span><span class="s1">!'</span><span class="p">)</span>
|
||||||
</span><span id="Covobs.__init__-37"><a href="#Covobs.__init__-37"><span class="linenos">37</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span>
|
</span><span id="Covobs.__init__-37"><a href="#Covobs.__init__-37"><span class="linenos">37</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="bp">self</span><span class="o">.</span><span class="n">N</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span>
|
||||||
</span><span id="Covobs.__init__-38"><a href="#Covobs.__init__-38"><span class="linenos">38</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span><span class="p">[</span><span class="n">pos</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1.</span>
|
</span><span id="Covobs.__init__-38"><a href="#Covobs.__init__-38"><span class="linenos">38</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span><span class="p">[</span><span class="n">pos</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1.</span>
|
||||||
</span><span id="Covobs.__init__-39"><a href="#Covobs.__init__-39"><span class="linenos">39</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="Covobs.__init__-39"><a href="#Covobs.__init__-39"><span class="linenos">39</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
|
|
|
||||||
|
|
@ -105,100 +105,99 @@
|
||||||
|
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
||||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a>
|
</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-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="n">gammaX</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
||||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="n">gammaX</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a> <span class="p">[[</span><span class="mi">0</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="mi">1</span><span class="n">j</span><span class="p">],</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="mi">1</span><span class="n">j</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</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="n">j</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="p">[</span><span class="o">-</span><span class="mi">1</span><span class="n">j</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="mi">0</span><span class="p">]],</span>
|
||||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a> <span class="p">[[</span><span class="mi">0</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="mi">1</span><span class="n">j</span><span class="p">],</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="mi">1</span><span class="n">j</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</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="n">j</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="p">[</span><span class="o">-</span><span class="mi">1</span><span class="n">j</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="mi">0</span><span class="p">]],</span>
|
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a> <span class="n">dtype</span><span class="o">=</span><span class="nb">complex</span><span class="p">)</span>
|
||||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a> <span class="n">dtype</span><span class="o">=</span><span class="nb">complex</span><span class="p">)</span>
|
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="n">gammaY</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
||||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="n">gammaY</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a> <span class="p">[[</span><span class="mi">0</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="o">-</span><span class="mi">1</span><span class="p">],</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="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="p">[</span><span class="o">-</span><span class="mi">1</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="mi">0</span><span class="p">]],</span>
|
||||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a> <span class="p">[[</span><span class="mi">0</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="o">-</span><span class="mi">1</span><span class="p">],</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="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="p">[</span><span class="o">-</span><span class="mi">1</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="mi">0</span><span class="p">]],</span>
|
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a> <span class="n">dtype</span><span class="o">=</span><span class="nb">complex</span><span class="p">)</span>
|
||||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a> <span class="n">dtype</span><span class="o">=</span><span class="nb">complex</span><span class="p">)</span>
|
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="n">gammaZ</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
||||||
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a><span class="n">gammaZ</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a> <span class="p">[[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="n">j</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="n">j</span><span class="p">],</span> <span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="n">j</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="mi">0</span><span class="p">],</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="n">j</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">]],</span>
|
||||||
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a> <span class="p">[[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="n">j</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="n">j</span><span class="p">],</span> <span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="n">j</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="mi">0</span><span class="p">],</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="n">j</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">]],</span>
|
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a> <span class="n">dtype</span><span class="o">=</span><span class="nb">complex</span><span class="p">)</span>
|
||||||
</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a> <span class="n">dtype</span><span class="o">=</span><span class="nb">complex</span><span class="p">)</span>
|
</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a><span class="n">gammaT</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
||||||
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a><span class="n">gammaT</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a> <span class="p">[[</span><span class="mi">0</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="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="p">[</span><span class="mi">1</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="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">]],</span>
|
||||||
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a> <span class="p">[[</span><span class="mi">0</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="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="p">[</span><span class="mi">1</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="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">]],</span>
|
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a> <span class="n">dtype</span><span class="o">=</span><span class="nb">complex</span><span class="p">)</span>
|
||||||
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a> <span class="n">dtype</span><span class="o">=</span><span class="nb">complex</span><span class="p">)</span>
|
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a><span class="n">gamma</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">gammaX</span><span class="p">,</span> <span class="n">gammaY</span><span class="p">,</span> <span class="n">gammaZ</span><span class="p">,</span> <span class="n">gammaT</span><span class="p">])</span>
|
||||||
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a><span class="n">gamma</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">gammaX</span><span class="p">,</span> <span class="n">gammaY</span><span class="p">,</span> <span class="n">gammaZ</span><span class="p">,</span> <span class="n">gammaT</span><span class="p">])</span>
|
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a><span class="n">gamma5</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
||||||
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a><span class="n">gamma5</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a> <span class="p">[[</span><span class="mi">1</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="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</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="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</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="p">[[</span><span class="mi">1</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="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</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="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</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="n">dtype</span><span class="o">=</span><span class="nb">complex</span><span class="p">)</span>
|
||||||
</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a> <span class="n">dtype</span><span class="o">=</span><span class="nb">complex</span><span class="p">)</span>
|
</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a><span class="n">identity</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
||||||
</span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a><span class="n">identity</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
</span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a> <span class="p">[[</span><span class="mi">1</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="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</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="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">]],</span>
|
||||||
</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a> <span class="p">[[</span><span class="mi">1</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="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</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="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</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="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">]],</span>
|
</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a> <span class="n">dtype</span><span class="o">=</span><span class="nb">complex</span><span class="p">)</span>
|
||||||
</span><span id="L-22"><a href="#L-22"><span class="linenos">22</span></a> <span class="n">dtype</span><span class="o">=</span><span class="nb">complex</span><span class="p">)</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><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-24"><a href="#L-24"><span class="linenos">24</span></a><span class="k">def</span><span class="w"> </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-25"><a href="#L-25"><span class="linenos">25</span></a><span class="k">def</span><span class="w"> </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-25"><a href="#L-25"><span class="linenos">25</span></a><span class="w"> </span><span class="sd">"""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">"""Rank-3 epsilon tensor</span>
|
</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a>
|
||||||
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a>
|
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a><span class="sd"> Based on https://codegolf.stackexchange.com/a/160375</span>
|
||||||
</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-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><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a><span class="sd"> Returns</span>
|
</span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a><span class="sd"> -------</span>
|
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a><span class="sd"> elem : int</span>
|
||||||
</span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a><span class="sd"> elem : int</span>
|
</span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a><span class="sd"> Element (i,j,k) of the epsilon tensor of rank 3</span>
|
||||||
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a><span class="sd"> Element (i,j,k) of the epsilon tensor of rank 3</span>
|
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a><span class="sd"> """</span>
|
</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</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-35"><a href="#L-35"><span class="linenos">35</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</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-35"><a href="#L-35"><span class="linenos">35</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</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="mi">2</span><span class="p">))):</span>
|
||||||
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</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="mi">2</span><span class="p">))):</span>
|
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Unexpected input"</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-37"><a href="#L-37"><span class="linenos">37</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Unexpected input"</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-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><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span>
|
||||||
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</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><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><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a><span class="k">def</span><span class="w"> </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-42"><a href="#L-42"><span class="linenos">42</span></a><span class="k">def</span><span class="w"> </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-42"><a href="#L-42"><span class="linenos">42</span></a><span class="w"> </span><span class="sd">"""Rank-4 epsilon tensor</span>
|
||||||
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a><span class="w"> </span><span class="sd">"""Rank-4 epsilon tensor</span>
|
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a>
|
||||||
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a>
|
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a><span class="sd"> Extension of https://codegolf.stackexchange.com/a/160375</span>
|
||||||
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a><span class="sd"> Extension of https://codegolf.stackexchange.com/a/160375</span>
|
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a>
|
||||||
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a>
|
</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><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a><span class="sd"> Returns</span>
|
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a><span class="sd"> -------</span>
|
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a><span class="sd"> elem : int</span>
|
||||||
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a><span class="sd"> elem : int</span>
|
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a><span class="sd"> Element (i,j,k,o) of the epsilon tensor of rank 4</span>
|
||||||
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a><span class="sd"> Element (i,j,k,o) of the epsilon tensor of rank 4</span>
|
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a><span class="sd"> """</span>
|
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</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-53"><a href="#L-53"><span class="linenos">53</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</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-53"><a href="#L-53"><span class="linenos">53</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</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="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))):</span>
|
||||||
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</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="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))):</span>
|
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Unexpected input"</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-55"><a href="#L-55"><span class="linenos">55</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Unexpected input"</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-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><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">o</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">/</span> <span class="mi">12</span>
|
||||||
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">o</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">/</span> <span class="mi">12</span>
|
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a>
|
||||||
</span><span id="L-58"><a href="#L-58"><span class="linenos">58</span></a>
|
</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><span id="L-59"><a href="#L-59"><span class="linenos">59</span></a><span class="k">def</span><span class="w"> </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-60"><a href="#L-60"><span class="linenos">60</span></a><span class="k">def</span><span class="w"> </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-60"><a href="#L-60"><span class="linenos">60</span></a><span class="w"> </span><span class="sd">"""Returns gamma matrix in Grid labeling."""</span>
|
||||||
</span><span id="L-61"><a href="#L-61"><span class="linenos">61</span></a><span class="w"> </span><span class="sd">"""Returns gamma matrix in Grid labeling."""</span>
|
</span><span id="L-61"><a href="#L-61"><span class="linenos">61</span></a> <span class="k">if</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'Identity'</span><span class="p">:</span>
|
||||||
</span><span id="L-62"><a href="#L-62"><span class="linenos">62</span></a> <span class="k">if</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'Identity'</span><span class="p">:</span>
|
</span><span id="L-62"><a href="#L-62"><span class="linenos">62</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">identity</span>
|
||||||
</span><span id="L-63"><a href="#L-63"><span class="linenos">63</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">identity</span>
|
</span><span id="L-63"><a href="#L-63"><span class="linenos">63</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'Gamma5'</span><span class="p">:</span>
|
||||||
</span><span id="L-64"><a href="#L-64"><span class="linenos">64</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'Gamma5'</span><span class="p">:</span>
|
</span><span id="L-64"><a href="#L-64"><span class="linenos">64</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma5</span>
|
||||||
</span><span id="L-65"><a href="#L-65"><span class="linenos">65</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma5</span>
|
</span><span id="L-65"><a href="#L-65"><span class="linenos">65</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaX'</span><span class="p">:</span>
|
||||||
</span><span id="L-66"><a href="#L-66"><span class="linenos">66</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaX'</span><span class="p">:</span>
|
</span><span id="L-66"><a href="#L-66"><span class="linenos">66</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||||
</span><span id="L-67"><a href="#L-67"><span class="linenos">67</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
</span><span id="L-67"><a href="#L-67"><span class="linenos">67</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaY'</span><span class="p">:</span>
|
||||||
</span><span id="L-68"><a href="#L-68"><span class="linenos">68</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaY'</span><span class="p">:</span>
|
</span><span id="L-68"><a href="#L-68"><span class="linenos">68</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||||
</span><span id="L-69"><a href="#L-69"><span class="linenos">69</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
</span><span id="L-69"><a href="#L-69"><span class="linenos">69</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaZ'</span><span class="p">:</span>
|
||||||
</span><span id="L-70"><a href="#L-70"><span class="linenos">70</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaZ'</span><span class="p">:</span>
|
</span><span id="L-70"><a href="#L-70"><span class="linenos">70</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
|
||||||
</span><span id="L-71"><a href="#L-71"><span class="linenos">71</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
|
</span><span id="L-71"><a href="#L-71"><span class="linenos">71</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaT'</span><span class="p">:</span>
|
||||||
</span><span id="L-72"><a href="#L-72"><span class="linenos">72</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaT'</span><span class="p">:</span>
|
</span><span id="L-72"><a href="#L-72"><span class="linenos">72</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
|
||||||
</span><span id="L-73"><a href="#L-73"><span class="linenos">73</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
|
</span><span id="L-73"><a href="#L-73"><span class="linenos">73</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaXGamma5'</span><span class="p">:</span>
|
||||||
</span><span id="L-74"><a href="#L-74"><span class="linenos">74</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaXGamma5'</span><span class="p">:</span>
|
</span><span id="L-74"><a href="#L-74"><span class="linenos">74</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
||||||
</span><span id="L-75"><a href="#L-75"><span class="linenos">75</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
</span><span id="L-75"><a href="#L-75"><span class="linenos">75</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaYGamma5'</span><span class="p">:</span>
|
||||||
</span><span id="L-76"><a href="#L-76"><span class="linenos">76</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaYGamma5'</span><span class="p">:</span>
|
</span><span id="L-76"><a href="#L-76"><span class="linenos">76</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
||||||
</span><span id="L-77"><a href="#L-77"><span class="linenos">77</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
</span><span id="L-77"><a href="#L-77"><span class="linenos">77</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaZGamma5'</span><span class="p">:</span>
|
||||||
</span><span id="L-78"><a href="#L-78"><span class="linenos">78</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaZGamma5'</span><span class="p">:</span>
|
</span><span id="L-78"><a href="#L-78"><span class="linenos">78</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
||||||
</span><span id="L-79"><a href="#L-79"><span class="linenos">79</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
</span><span id="L-79"><a href="#L-79"><span class="linenos">79</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaTGamma5'</span><span class="p">:</span>
|
||||||
</span><span id="L-80"><a href="#L-80"><span class="linenos">80</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaTGamma5'</span><span class="p">:</span>
|
</span><span id="L-80"><a href="#L-80"><span class="linenos">80</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
||||||
</span><span id="L-81"><a href="#L-81"><span class="linenos">81</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
</span><span id="L-81"><a href="#L-81"><span class="linenos">81</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaXT'</span><span class="p">:</span>
|
||||||
</span><span id="L-82"><a href="#L-82"><span class="linenos">82</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaXT'</span><span class="p">:</span>
|
</span><span id="L-82"><a href="#L-82"><span class="linenos">82</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="L-83"><a href="#L-83"><span class="linenos">83</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="L-83"><a href="#L-83"><span class="linenos">83</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaXY'</span><span class="p">:</span>
|
||||||
</span><span id="L-84"><a href="#L-84"><span class="linenos">84</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaXY'</span><span class="p">:</span>
|
</span><span id="L-84"><a href="#L-84"><span class="linenos">84</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="L-85"><a href="#L-85"><span class="linenos">85</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="L-85"><a href="#L-85"><span class="linenos">85</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaXZ'</span><span class="p">:</span>
|
||||||
</span><span id="L-86"><a href="#L-86"><span class="linenos">86</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaXZ'</span><span class="p">:</span>
|
</span><span id="L-86"><a href="#L-86"><span class="linenos">86</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="L-87"><a href="#L-87"><span class="linenos">87</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="L-87"><a href="#L-87"><span class="linenos">87</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaYT'</span><span class="p">:</span>
|
||||||
</span><span id="L-88"><a href="#L-88"><span class="linenos">88</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaYT'</span><span class="p">:</span>
|
</span><span id="L-88"><a href="#L-88"><span class="linenos">88</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
||||||
</span><span id="L-89"><a href="#L-89"><span class="linenos">89</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
</span><span id="L-89"><a href="#L-89"><span class="linenos">89</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaYZ'</span><span class="p">:</span>
|
||||||
</span><span id="L-90"><a href="#L-90"><span class="linenos">90</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaYZ'</span><span class="p">:</span>
|
</span><span id="L-90"><a href="#L-90"><span class="linenos">90</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
||||||
</span><span id="L-91"><a href="#L-91"><span class="linenos">91</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
</span><span id="L-91"><a href="#L-91"><span class="linenos">91</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaZT'</span><span class="p">:</span>
|
||||||
</span><span id="L-92"><a href="#L-92"><span class="linenos">92</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaZT'</span><span class="p">:</span>
|
</span><span id="L-92"><a href="#L-92"><span class="linenos">92</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
|
||||||
</span><span id="L-93"><a href="#L-93"><span class="linenos">93</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
|
</span><span id="L-93"><a href="#L-93"><span class="linenos">93</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-94"><a href="#L-94"><span class="linenos">94</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-94"><a href="#L-94"><span class="linenos">94</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'Unkown gamma structure'</span><span class="p">,</span> <span class="n">gamma_tag</span><span class="p">)</span>
|
||||||
</span><span id="L-95"><a href="#L-95"><span class="linenos">95</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'Unkown gamma structure'</span><span class="p">,</span> <span class="n">gamma_tag</span><span class="p">)</span>
|
</span><span id="L-95"><a href="#L-95"><span class="linenos">95</span></a> <span class="k">return</span> <span class="n">g</span>
|
||||||
</span><span id="L-96"><a href="#L-96"><span class="linenos">96</span></a> <span class="k">return</span> <span class="n">g</span>
|
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -341,21 +340,21 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#epsilon_tensor"></a>
|
<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="w"> </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>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="epsilon_tensor-25"><a href="#epsilon_tensor-25"><span class="linenos">25</span></a><span class="k">def</span><span class="w"> </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="w"> </span><span class="sd">"""Rank-3 epsilon tensor</span>
|
</span><span id="epsilon_tensor-26"><a href="#epsilon_tensor-26"><span class="linenos">26</span></a><span class="w"> </span><span class="sd">"""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-27"><a href="#epsilon_tensor-27"><span class="linenos">27</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-28"><a href="#epsilon_tensor-28"><span class="linenos">28</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><span id="epsilon_tensor-29"><a href="#epsilon_tensor-29"><span class="linenos">29</span></a>
|
||||||
</span><span id="epsilon_tensor-31"><a href="#epsilon_tensor-31"><span class="linenos">31</span></a><span class="sd"> Returns</span>
|
</span><span id="epsilon_tensor-30"><a href="#epsilon_tensor-30"><span class="linenos">30</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="epsilon_tensor-32"><a href="#epsilon_tensor-32"><span class="linenos">32</span></a><span class="sd"> -------</span>
|
</span><span id="epsilon_tensor-31"><a href="#epsilon_tensor-31"><span class="linenos">31</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="epsilon_tensor-33"><a href="#epsilon_tensor-33"><span class="linenos">33</span></a><span class="sd"> elem : int</span>
|
</span><span id="epsilon_tensor-32"><a href="#epsilon_tensor-32"><span class="linenos">32</span></a><span class="sd"> elem : int</span>
|
||||||
</span><span id="epsilon_tensor-34"><a href="#epsilon_tensor-34"><span class="linenos">34</span></a><span class="sd"> Element (i,j,k) of the epsilon tensor of rank 3</span>
|
</span><span id="epsilon_tensor-33"><a href="#epsilon_tensor-33"><span class="linenos">33</span></a><span class="sd"> Element (i,j,k) of the epsilon tensor of rank 3</span>
|
||||||
</span><span id="epsilon_tensor-35"><a href="#epsilon_tensor-35"><span class="linenos">35</span></a><span class="sd"> """</span>
|
</span><span id="epsilon_tensor-34"><a href="#epsilon_tensor-34"><span class="linenos">34</span></a><span class="sd"> """</span>
|
||||||
</span><span id="epsilon_tensor-36"><a href="#epsilon_tensor-36"><span class="linenos">36</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</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-35"><a href="#epsilon_tensor-35"><span class="linenos">35</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</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-37"><a href="#epsilon_tensor-37"><span class="linenos">37</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</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="mi">2</span><span class="p">))):</span>
|
</span><span id="epsilon_tensor-36"><a href="#epsilon_tensor-36"><span class="linenos">36</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</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="mi">2</span><span class="p">))):</span>
|
||||||
</span><span id="epsilon_tensor-38"><a href="#epsilon_tensor-38"><span class="linenos">38</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Unexpected input"</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-37"><a href="#epsilon_tensor-37"><span class="linenos">37</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Unexpected input"</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-39"><a href="#epsilon_tensor-39"><span class="linenos">39</span></a>
|
</span><span id="epsilon_tensor-38"><a href="#epsilon_tensor-38"><span class="linenos">38</span></a>
|
||||||
</span><span id="epsilon_tensor-40"><a href="#epsilon_tensor-40"><span class="linenos">40</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span>
|
</span><span id="epsilon_tensor-39"><a href="#epsilon_tensor-39"><span class="linenos">39</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -384,22 +383,22 @@ Element (i,j,k) of the epsilon tensor of rank 3</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#epsilon_tensor_rank4"></a>
|
<a class="headerlink" href="#epsilon_tensor_rank4"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="epsilon_tensor_rank4-43"><a href="#epsilon_tensor_rank4-43"><span class="linenos">43</span></a><span class="k">def</span><span class="w"> </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>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="epsilon_tensor_rank4-42"><a href="#epsilon_tensor_rank4-42"><span class="linenos">42</span></a><span class="k">def</span><span class="w"> </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-44"><a href="#epsilon_tensor_rank4-44"><span class="linenos">44</span></a><span class="w"> </span><span class="sd">"""Rank-4 epsilon tensor</span>
|
</span><span id="epsilon_tensor_rank4-43"><a href="#epsilon_tensor_rank4-43"><span class="linenos">43</span></a><span class="w"> </span><span class="sd">"""Rank-4 epsilon tensor</span>
|
||||||
</span><span id="epsilon_tensor_rank4-45"><a href="#epsilon_tensor_rank4-45"><span class="linenos">45</span></a>
|
</span><span id="epsilon_tensor_rank4-44"><a href="#epsilon_tensor_rank4-44"><span class="linenos">44</span></a>
|
||||||
</span><span id="epsilon_tensor_rank4-46"><a href="#epsilon_tensor_rank4-46"><span class="linenos">46</span></a><span class="sd"> Extension of https://codegolf.stackexchange.com/a/160375</span>
|
</span><span id="epsilon_tensor_rank4-45"><a href="#epsilon_tensor_rank4-45"><span class="linenos">45</span></a><span class="sd"> Extension of https://codegolf.stackexchange.com/a/160375</span>
|
||||||
|
</span><span id="epsilon_tensor_rank4-46"><a href="#epsilon_tensor_rank4-46"><span class="linenos">46</span></a>
|
||||||
</span><span id="epsilon_tensor_rank4-47"><a href="#epsilon_tensor_rank4-47"><span class="linenos">47</span></a>
|
</span><span id="epsilon_tensor_rank4-47"><a href="#epsilon_tensor_rank4-47"><span class="linenos">47</span></a>
|
||||||
</span><span id="epsilon_tensor_rank4-48"><a href="#epsilon_tensor_rank4-48"><span class="linenos">48</span></a>
|
</span><span id="epsilon_tensor_rank4-48"><a href="#epsilon_tensor_rank4-48"><span class="linenos">48</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="epsilon_tensor_rank4-49"><a href="#epsilon_tensor_rank4-49"><span class="linenos">49</span></a><span class="sd"> Returns</span>
|
</span><span id="epsilon_tensor_rank4-49"><a href="#epsilon_tensor_rank4-49"><span class="linenos">49</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="epsilon_tensor_rank4-50"><a href="#epsilon_tensor_rank4-50"><span class="linenos">50</span></a><span class="sd"> -------</span>
|
</span><span id="epsilon_tensor_rank4-50"><a href="#epsilon_tensor_rank4-50"><span class="linenos">50</span></a><span class="sd"> elem : int</span>
|
||||||
</span><span id="epsilon_tensor_rank4-51"><a href="#epsilon_tensor_rank4-51"><span class="linenos">51</span></a><span class="sd"> elem : int</span>
|
</span><span id="epsilon_tensor_rank4-51"><a href="#epsilon_tensor_rank4-51"><span class="linenos">51</span></a><span class="sd"> Element (i,j,k,o) of the epsilon tensor of rank 4</span>
|
||||||
</span><span id="epsilon_tensor_rank4-52"><a href="#epsilon_tensor_rank4-52"><span class="linenos">52</span></a><span class="sd"> Element (i,j,k,o) of the epsilon tensor of rank 4</span>
|
</span><span id="epsilon_tensor_rank4-52"><a href="#epsilon_tensor_rank4-52"><span class="linenos">52</span></a><span class="sd"> """</span>
|
||||||
</span><span id="epsilon_tensor_rank4-53"><a href="#epsilon_tensor_rank4-53"><span class="linenos">53</span></a><span class="sd"> """</span>
|
</span><span id="epsilon_tensor_rank4-53"><a href="#epsilon_tensor_rank4-53"><span class="linenos">53</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</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-54"><a href="#epsilon_tensor_rank4-54"><span class="linenos">54</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</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-54"><a href="#epsilon_tensor_rank4-54"><span class="linenos">54</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</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="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))):</span>
|
||||||
</span><span id="epsilon_tensor_rank4-55"><a href="#epsilon_tensor_rank4-55"><span class="linenos">55</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o"><=</span> <span class="nb">set</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="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))):</span>
|
</span><span id="epsilon_tensor_rank4-55"><a href="#epsilon_tensor_rank4-55"><span class="linenos">55</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Unexpected input"</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-56"><a href="#epsilon_tensor_rank4-56"><span class="linenos">56</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Unexpected input"</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-56"><a href="#epsilon_tensor_rank4-56"><span class="linenos">56</span></a>
|
||||||
</span><span id="epsilon_tensor_rank4-57"><a href="#epsilon_tensor_rank4-57"><span class="linenos">57</span></a>
|
</span><span id="epsilon_tensor_rank4-57"><a href="#epsilon_tensor_rank4-57"><span class="linenos">57</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">o</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">/</span> <span class="mi">12</span>
|
||||||
</span><span id="epsilon_tensor_rank4-58"><a href="#epsilon_tensor_rank4-58"><span class="linenos">58</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">o</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">/</span> <span class="mi">12</span>
|
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -428,43 +427,43 @@ Element (i,j,k,o) of the epsilon tensor of rank 4</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Grid_gamma"></a>
|
<a class="headerlink" href="#Grid_gamma"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Grid_gamma-61"><a href="#Grid_gamma-61"><span class="linenos">61</span></a><span class="k">def</span><span class="w"> </span><span class="nf">Grid_gamma</span><span class="p">(</span><span class="n">gamma_tag</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Grid_gamma-60"><a href="#Grid_gamma-60"><span class="linenos">60</span></a><span class="k">def</span><span class="w"> </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-62"><a href="#Grid_gamma-62"><span class="linenos">62</span></a><span class="w"> </span><span class="sd">"""Returns gamma matrix in Grid labeling."""</span>
|
</span><span id="Grid_gamma-61"><a href="#Grid_gamma-61"><span class="linenos">61</span></a><span class="w"> </span><span class="sd">"""Returns gamma matrix in Grid labeling."""</span>
|
||||||
</span><span id="Grid_gamma-63"><a href="#Grid_gamma-63"><span class="linenos">63</span></a> <span class="k">if</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'Identity'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-62"><a href="#Grid_gamma-62"><span class="linenos">62</span></a> <span class="k">if</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'Identity'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-64"><a href="#Grid_gamma-64"><span class="linenos">64</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">identity</span>
|
</span><span id="Grid_gamma-63"><a href="#Grid_gamma-63"><span class="linenos">63</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">identity</span>
|
||||||
</span><span id="Grid_gamma-65"><a href="#Grid_gamma-65"><span class="linenos">65</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'Gamma5'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-64"><a href="#Grid_gamma-64"><span class="linenos">64</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'Gamma5'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-66"><a href="#Grid_gamma-66"><span class="linenos">66</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma5</span>
|
</span><span id="Grid_gamma-65"><a href="#Grid_gamma-65"><span class="linenos">65</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma5</span>
|
||||||
</span><span id="Grid_gamma-67"><a href="#Grid_gamma-67"><span class="linenos">67</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaX'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-66"><a href="#Grid_gamma-66"><span class="linenos">66</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaX'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-68"><a href="#Grid_gamma-68"><span class="linenos">68</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
</span><span id="Grid_gamma-67"><a href="#Grid_gamma-67"><span class="linenos">67</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||||
</span><span id="Grid_gamma-69"><a href="#Grid_gamma-69"><span class="linenos">69</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaY'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-68"><a href="#Grid_gamma-68"><span class="linenos">68</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaY'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-70"><a href="#Grid_gamma-70"><span class="linenos">70</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
</span><span id="Grid_gamma-69"><a href="#Grid_gamma-69"><span class="linenos">69</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||||
</span><span id="Grid_gamma-71"><a href="#Grid_gamma-71"><span class="linenos">71</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaZ'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-70"><a href="#Grid_gamma-70"><span class="linenos">70</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaZ'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-72"><a href="#Grid_gamma-72"><span class="linenos">72</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
|
</span><span id="Grid_gamma-71"><a href="#Grid_gamma-71"><span class="linenos">71</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
|
||||||
</span><span id="Grid_gamma-73"><a href="#Grid_gamma-73"><span class="linenos">73</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaT'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-72"><a href="#Grid_gamma-72"><span class="linenos">72</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaT'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-74"><a href="#Grid_gamma-74"><span class="linenos">74</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
|
</span><span id="Grid_gamma-73"><a href="#Grid_gamma-73"><span class="linenos">73</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
|
||||||
</span><span id="Grid_gamma-75"><a href="#Grid_gamma-75"><span class="linenos">75</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaXGamma5'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-74"><a href="#Grid_gamma-74"><span class="linenos">74</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaXGamma5'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-76"><a href="#Grid_gamma-76"><span class="linenos">76</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
</span><span id="Grid_gamma-75"><a href="#Grid_gamma-75"><span class="linenos">75</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
||||||
</span><span id="Grid_gamma-77"><a href="#Grid_gamma-77"><span class="linenos">77</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaYGamma5'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-76"><a href="#Grid_gamma-76"><span class="linenos">76</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaYGamma5'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-78"><a href="#Grid_gamma-78"><span class="linenos">78</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
</span><span id="Grid_gamma-77"><a href="#Grid_gamma-77"><span class="linenos">77</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
||||||
</span><span id="Grid_gamma-79"><a href="#Grid_gamma-79"><span class="linenos">79</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaZGamma5'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-78"><a href="#Grid_gamma-78"><span class="linenos">78</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaZGamma5'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-80"><a href="#Grid_gamma-80"><span class="linenos">80</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
</span><span id="Grid_gamma-79"><a href="#Grid_gamma-79"><span class="linenos">79</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
||||||
</span><span id="Grid_gamma-81"><a href="#Grid_gamma-81"><span class="linenos">81</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaTGamma5'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-80"><a href="#Grid_gamma-80"><span class="linenos">80</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'GammaTGamma5'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-82"><a href="#Grid_gamma-82"><span class="linenos">82</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
</span><span id="Grid_gamma-81"><a href="#Grid_gamma-81"><span class="linenos">81</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
|
||||||
</span><span id="Grid_gamma-83"><a href="#Grid_gamma-83"><span class="linenos">83</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaXT'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-82"><a href="#Grid_gamma-82"><span class="linenos">82</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaXT'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-84"><a href="#Grid_gamma-84"><span class="linenos">84</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="Grid_gamma-83"><a href="#Grid_gamma-83"><span class="linenos">83</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="Grid_gamma-85"><a href="#Grid_gamma-85"><span class="linenos">85</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaXY'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-84"><a href="#Grid_gamma-84"><span class="linenos">84</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaXY'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-86"><a href="#Grid_gamma-86"><span class="linenos">86</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="Grid_gamma-85"><a href="#Grid_gamma-85"><span class="linenos">85</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="Grid_gamma-87"><a href="#Grid_gamma-87"><span class="linenos">87</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaXZ'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-86"><a href="#Grid_gamma-86"><span class="linenos">86</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaXZ'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-88"><a href="#Grid_gamma-88"><span class="linenos">88</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="Grid_gamma-87"><a href="#Grid_gamma-87"><span class="linenos">87</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="Grid_gamma-89"><a href="#Grid_gamma-89"><span class="linenos">89</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaYT'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-88"><a href="#Grid_gamma-88"><span class="linenos">88</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaYT'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-90"><a href="#Grid_gamma-90"><span class="linenos">90</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
</span><span id="Grid_gamma-89"><a href="#Grid_gamma-89"><span class="linenos">89</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
||||||
</span><span id="Grid_gamma-91"><a href="#Grid_gamma-91"><span class="linenos">91</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaYZ'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-90"><a href="#Grid_gamma-90"><span class="linenos">90</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaYZ'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-92"><a href="#Grid_gamma-92"><span class="linenos">92</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
</span><span id="Grid_gamma-91"><a href="#Grid_gamma-91"><span class="linenos">91</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
||||||
</span><span id="Grid_gamma-93"><a href="#Grid_gamma-93"><span class="linenos">93</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaZT'</span><span class="p">:</span>
|
</span><span id="Grid_gamma-92"><a href="#Grid_gamma-92"><span class="linenos">92</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">'SigmaZT'</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-94"><a href="#Grid_gamma-94"><span class="linenos">94</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
|
</span><span id="Grid_gamma-93"><a href="#Grid_gamma-93"><span class="linenos">93</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
|
||||||
</span><span id="Grid_gamma-95"><a href="#Grid_gamma-95"><span class="linenos">95</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="Grid_gamma-94"><a href="#Grid_gamma-94"><span class="linenos">94</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="Grid_gamma-96"><a href="#Grid_gamma-96"><span class="linenos">96</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'Unkown gamma structure'</span><span class="p">,</span> <span class="n">gamma_tag</span><span class="p">)</span>
|
</span><span id="Grid_gamma-95"><a href="#Grid_gamma-95"><span class="linenos">95</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'Unkown gamma structure'</span><span class="p">,</span> <span class="n">gamma_tag</span><span class="p">)</span>
|
||||||
</span><span id="Grid_gamma-97"><a href="#Grid_gamma-97"><span class="linenos">97</span></a> <span class="k">return</span> <span class="n">g</span>
|
</span><span id="Grid_gamma-96"><a href="#Grid_gamma-96"><span class="linenos">96</span></a> <span class="k">return</span> <span class="n">g</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -79,224 +79,226 @@
|
||||||
|
|
||||||
<label class="view-source-button" for="mod-misc-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="mod-misc-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">os</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">fnmatch</span>
|
||||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">fnmatch</span>
|
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">os</span>
|
||||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">re</span>
|
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">re</span>
|
||||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">struct</span>
|
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">struct</span>
|
||||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">warnings</span>
|
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">warnings</span>
|
||||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span> <span class="c1"># Thinly-wrapped numpy</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="kn">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</span>
|
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</span>
|
||||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">matplotlib</span><span class="w"> </span><span class="kn">import</span> <span class="n">gridspec</span>
|
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span> <span class="c1"># Thinly-wrapped numpy</span>
|
||||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">..obs</span><span class="w"> </span><span class="kn">import</span> <span class="n">Obs</span>
|
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">matplotlib</span><span class="w"> </span><span class="kn">import</span> <span class="n">gridspec</span>
|
||||||
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">..fits</span><span class="w"> </span><span class="kn">import</span> <span class="n">fit_lin</span>
|
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a>
|
||||||
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a>
|
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">..fits</span><span class="w"> </span><span class="kn">import</span> <span class="n">fit_lin</span>
|
||||||
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a>
|
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">..obs</span><span class="w"> </span><span class="kn">import</span> <span class="n">Obs</span>
|
||||||
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a><span class="k">def</span><span class="w"> </span><span class="nf">fit_t0</span><span class="p">(</span><span class="n">t2E_dict</span><span class="p">,</span> <span class="n">fit_range</span><span class="p">,</span> <span class="n">plot_fit</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">observable</span><span class="o">=</span><span class="s1">'t0'</span><span class="p">):</span>
|
</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 class="w"> </span><span class="sd">"""Compute the root of (flow-based) data based on a dictionary that contains</span>
|
</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="sd"> the necessary information in key-value pairs a la (flow time: observable at flow time).</span>
|
</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a><span class="k">def</span><span class="w"> </span><span class="nf">fit_t0</span><span class="p">(</span><span class="n">t2E_dict</span><span class="p">,</span> <span class="n">fit_range</span><span class="p">,</span> <span class="n">plot_fit</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">observable</span><span class="o">=</span><span class="s1">'t0'</span><span class="p">):</span>
|
||||||
</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a>
|
</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a><span class="w"> </span><span class="sd">"""Compute the root of (flow-based) data based on a dictionary that contains</span>
|
||||||
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a><span class="sd"> It is assumed that the data is monotonically increasing and passes zero from below.</span>
|
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a><span class="sd"> the necessary information in key-value pairs a la (flow time: observable at flow time).</span>
|
||||||
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a><span class="sd"> No exception is thrown if this is not the case (several roots, no monotonic increase).</span>
|
</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="sd"> An exception is thrown if no root can be found in the data.</span>
|
</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a><span class="sd"> It is assumed that the data is monotonically increasing and passes zero from below.</span>
|
||||||
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a>
|
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a><span class="sd"> No exception is thrown if this is not the case (several roots, no monotonic increase).</span>
|
||||||
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a><span class="sd"> A linear fit in the vicinity of the root is performed to exctract the root from the</span>
|
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a><span class="sd"> An exception is thrown if no root can be found in the data.</span>
|
||||||
</span><span id="L-22"><a href="#L-22"><span class="linenos"> 22</span></a><span class="sd"> two fit parameters.</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><span id="L-23"><a href="#L-23"><span class="linenos"> 23</span></a><span class="sd"> A linear fit in the vicinity of the root is performed to exctract the root from the</span>
|
||||||
</span><span id="L-24"><a href="#L-24"><span class="linenos"> 24</span></a><span class="sd"> Parameters</span>
|
</span><span id="L-24"><a href="#L-24"><span class="linenos"> 24</span></a><span class="sd"> two fit parameters.</span>
|
||||||
</span><span id="L-25"><a href="#L-25"><span class="linenos"> 25</span></a><span class="sd"> ----------</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="sd"> t2E_dict : dict</span>
|
</span><span id="L-26"><a href="#L-26"><span class="linenos"> 26</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-27"><a href="#L-27"><span class="linenos"> 27</span></a><span class="sd"> Dictionary with pairs of (flow time: observable at flow time) where the flow times</span>
|
</span><span id="L-27"><a href="#L-27"><span class="linenos"> 27</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-28"><a href="#L-28"><span class="linenos"> 28</span></a><span class="sd"> are of type float and the observables of type Obs.</span>
|
</span><span id="L-28"><a href="#L-28"><span class="linenos"> 28</span></a><span class="sd"> t2E_dict : dict</span>
|
||||||
</span><span id="L-29"><a href="#L-29"><span class="linenos"> 29</span></a><span class="sd"> fit_range : int</span>
|
</span><span id="L-29"><a href="#L-29"><span class="linenos"> 29</span></a><span class="sd"> Dictionary with pairs of (flow time: observable at flow time) where the flow times</span>
|
||||||
</span><span id="L-30"><a href="#L-30"><span class="linenos"> 30</span></a><span class="sd"> Number of data points left and right of the zero</span>
|
</span><span id="L-30"><a href="#L-30"><span class="linenos"> 30</span></a><span class="sd"> are of type float and the observables of type Obs.</span>
|
||||||
</span><span id="L-31"><a href="#L-31"><span class="linenos"> 31</span></a><span class="sd"> crossing to be included in the linear fit.</span>
|
</span><span id="L-31"><a href="#L-31"><span class="linenos"> 31</span></a><span class="sd"> fit_range : int</span>
|
||||||
</span><span id="L-32"><a href="#L-32"><span class="linenos"> 32</span></a><span class="sd"> plot_fit : bool</span>
|
</span><span id="L-32"><a href="#L-32"><span class="linenos"> 32</span></a><span class="sd"> Number of data points left and right of the zero</span>
|
||||||
</span><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a><span class="sd"> If true, the fit for the extraction of t0 is shown together with the data. (Default: False)</span>
|
</span><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a><span class="sd"> crossing to be included in the linear fit.</span>
|
||||||
</span><span id="L-34"><a href="#L-34"><span class="linenos"> 34</span></a><span class="sd"> observable: str</span>
|
</span><span id="L-34"><a href="#L-34"><span class="linenos"> 34</span></a><span class="sd"> plot_fit : bool</span>
|
||||||
</span><span id="L-35"><a href="#L-35"><span class="linenos"> 35</span></a><span class="sd"> Keyword to identify the observable to print the correct ylabel (if plot_fit is True)</span>
|
</span><span id="L-35"><a href="#L-35"><span class="linenos"> 35</span></a><span class="sd"> If true, the fit for the extraction of t0 is shown together with the data. (Default: False)</span>
|
||||||
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a><span class="sd"> for the observables 't0' and 'w0'. No y label is printed otherwise. (Default: 't0')</span>
|
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a><span class="sd"> observable: str</span>
|
||||||
</span><span id="L-37"><a href="#L-37"><span class="linenos"> 37</span></a>
|
</span><span id="L-37"><a href="#L-37"><span class="linenos"> 37</span></a><span class="sd"> Keyword to identify the observable to print the correct ylabel (if plot_fit is True)</span>
|
||||||
</span><span id="L-38"><a href="#L-38"><span class="linenos"> 38</span></a><span class="sd"> Returns</span>
|
</span><span id="L-38"><a href="#L-38"><span class="linenos"> 38</span></a><span class="sd"> for the observables 't0' and 'w0'. No y label is printed otherwise. (Default: 't0')</span>
|
||||||
</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a><span class="sd"> -------</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"> root : Obs</span>
|
</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a><span class="sd"> The root of the data series.</span>
|
</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a><span class="sd"> """</span>
|
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a><span class="sd"> root : Obs</span>
|
||||||
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a>
|
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a><span class="sd"> The root of the data series.</span>
|
||||||
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a> <span class="n">zero_crossing</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">t2E_dict</span><span class="o">.</span><span class="n">values</span><span class="p">()])</span> <span class="o">></span> <span class="mf">0.0</span><span class="p">)</span>
|
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a>
|
||||||
</span><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a>
|
</span><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a> <span class="n">zero_crossing</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
||||||
</span><span id="L-47"><a href="#L-47"><span class="linenos"> 47</span></a> <span class="k">if</span> <span class="n">zero_crossing</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</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">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">t2E_dict</span><span class="o">.</span><span class="n">values</span><span class="p">()])</span> <span class="o">></span> <span class="mf">0.0</span><span class="p">)</span>
|
||||||
</span><span id="L-48"><a href="#L-48"><span class="linenos"> 48</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Desired flow time not in data'</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><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a> <span class="k">if</span> <span class="n">zero_crossing</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||||
</span><span id="L-50"><a href="#L-50"><span class="linenos"> 50</span></a> <span class="n">x</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span><span class="p">:</span>
|
</span><span id="L-50"><a href="#L-50"><span class="linenos"> 50</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Desired flow time not in data'</span><span class="p">)</span>
|
||||||
</span><span id="L-51"><a href="#L-51"><span class="linenos"> 51</span></a> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span><span class="p">]</span>
|
</span><span id="L-51"><a href="#L-51"><span class="linenos"> 51</span></a>
|
||||||
</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a> <span class="n">y</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">values</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span><span class="p">:</span>
|
</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a> <span class="n">x</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span><span class="p">:</span>
|
||||||
</span><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span><span class="p">]</span>
|
</span><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span><span class="p">]</span>
|
||||||
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</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="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">y</span><span class="p">]</span>
|
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a> <span class="n">y</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">values</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span><span class="p">:</span>
|
||||||
</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a>
|
</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span><span class="p">]</span>
|
||||||
</span><span id="L-56"><a href="#L-56"><span class="linenos"> 56</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="o"><</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">fit_range</span><span class="p">:</span>
|
</span><span id="L-56"><a href="#L-56"><span class="linenos"> 56</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="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">y</span><span class="p">]</span>
|
||||||
</span><span id="L-57"><a href="#L-57"><span class="linenos"> 57</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s1">'Fit range smaller than expected! Fitting from </span><span class="si">%1.2e</span><span class="s1"> to </span><span class="si">%1.2e</span><span class="s1">'</span> <span class="o">%</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">x</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span>
|
</span><span id="L-57"><a href="#L-57"><span class="linenos"> 57</span></a>
|
||||||
</span><span id="L-58"><a href="#L-58"><span class="linenos"> 58</span></a>
|
</span><span id="L-58"><a href="#L-58"><span class="linenos"> 58</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="o"><</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">fit_range</span><span class="p">:</span>
|
||||||
</span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a> <span class="n">fit_result</span> <span class="o">=</span> <span class="n">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><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="sa">f</span><span class="s1">'Fit range smaller than expected! Fitting from </span><span class="si">{</span><span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="si">:</span><span class="s1">1.2e</span><span class="si">}</span><span class="s1"> to </span><span class="si">{</span><span class="n">x</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="si">:</span><span class="s1">1.2e</span><span class="si">}</span><span class="s1">'</span><span class="p">,</span> <span class="n">stacklevel</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
|
||||||
</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a>
|
</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 class="k">if</span> <span class="n">plot_fit</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
</span><span id="L-61"><a href="#L-61"><span class="linenos"> 61</span></a> <span class="n">fit_result</span> <span class="o">=</span> <span class="n">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><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span>
|
</span><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a>
|
||||||
</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a> <span class="n">gs</span> <span class="o">=</span> <span class="n">gridspec</span><span class="o">.</span><span class="n">GridSpec</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">height_ratios</span><span class="o">=</span><span class="p">[</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="n">wspace</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">hspace</span><span class="o">=</span><span class="mf">0.0</span><span class="p">)</span>
|
</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a> <span class="k">if</span> <span class="n">plot_fit</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||||
</span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a> <span class="n">ax0</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="n">gs</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span>
|
||||||
</span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a> <span class="n">xmore</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span> <span class="o">-</span> <span class="mi">2</span><span class="p">:</span> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span>
|
</span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a> <span class="n">gs</span> <span class="o">=</span> <span class="n">gridspec</span><span class="o">.</span><span class="n">GridSpec</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">height_ratios</span><span class="o">=</span><span class="p">[</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="n">wspace</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">hspace</span><span class="o">=</span><span class="mf">0.0</span><span class="p">)</span>
|
||||||
</span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a> <span class="n">ymore</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">values</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span> <span class="o">-</span> <span class="mi">2</span><span class="p">:</span> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span>
|
</span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a> <span class="n">ax0</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="n">gs</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="L-67"><a href="#L-67"><span class="linenos"> 67</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="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">ymore</span><span class="p">]</span>
|
</span><span id="L-67"><a href="#L-67"><span class="linenos"> 67</span></a> <span class="n">xmore</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span> <span class="o">-</span> <span class="mi">2</span><span class="p">:</span> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span>
|
||||||
</span><span id="L-68"><a href="#L-68"><span class="linenos"> 68</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">errorbar</span><span class="p">(</span><span class="n">xmore</span><span class="p">,</span> <span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">ymore</span><span class="p">],</span> <span class="n">yerr</span><span class="o">=</span><span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">ymore</span><span class="p">],</span> <span class="n">fmt</span><span class="o">=</span><span class="s1">'x'</span><span class="p">)</span>
|
</span><span id="L-68"><a href="#L-68"><span class="linenos"> 68</span></a> <span class="n">ymore</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">values</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span> <span class="o">-</span> <span class="mi">2</span><span class="p">:</span> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span>
|
||||||
</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a> <span class="n">xplot</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">x</span><span class="p">))</span>
|
</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</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="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">ymore</span><span class="p">]</span>
|
||||||
</span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a> <span class="n">yplot</span> <span class="o">=</span> <span class="p">[</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">xi</span> <span class="k">for</span> <span class="n">xi</span> <span class="ow">in</span> <span class="n">xplot</span><span class="p">]</span>
|
</span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">errorbar</span><span class="p">(</span><span class="n">xmore</span><span class="p">,</span> <span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">ymore</span><span class="p">],</span> <span class="n">yerr</span><span class="o">=</span><span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">ymore</span><span class="p">],</span> <span class="n">fmt</span><span class="o">=</span><span class="s1">'x'</span><span class="p">)</span>
|
||||||
</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a> <span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">()</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">yplot</span><span class="p">]</span>
|
</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a> <span class="n">xplot</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">x</span><span class="p">))</span>
|
||||||
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">fill_between</span><span class="p">(</span><span class="n">xplot</span><span class="p">,</span> <span class="n">y1</span><span class="o">=</span><span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">value</span> <span class="o">-</span> <span class="n">yi</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">yplot</span><span class="p">],</span> <span class="n">y2</span><span class="o">=</span><span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">value</span> <span class="o">+</span> <span class="n">yi</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">yplot</span><span class="p">])</span>
|
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a> <span class="n">yplot</span> <span class="o">=</span> <span class="p">[</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">xi</span> <span class="k">for</span> <span class="n">xi</span> <span class="ow">in</span> <span class="n">xplot</span><span class="p">]</span>
|
||||||
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a> <span class="n">retval</span> <span class="o">=</span> <span class="p">(</span><span class="o">-</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">/</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a> <span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">()</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">yplot</span><span class="p">]</span>
|
||||||
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a> <span class="n">retval</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">()</span>
|
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">fill_between</span><span class="p">(</span><span class="n">xplot</span><span class="p">,</span> <span class="n">y1</span><span class="o">=</span><span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">value</span> <span class="o">-</span> <span class="n">yi</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">yplot</span><span class="p">],</span> <span class="n">y2</span><span class="o">=</span><span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">value</span> <span class="o">+</span> <span class="n">yi</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">yplot</span><span class="p">])</span>
|
||||||
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a> <span class="n">ylim</span> <span class="o">=</span> <span class="n">ax0</span><span class="o">.</span><span class="n">get_ylim</span><span class="p">()</span>
|
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a> <span class="n">retval</span> <span class="o">=</span> <span class="p">(</span><span class="o">-</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">/</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
||||||
</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">fill_betweenx</span><span class="p">(</span><span class="n">ylim</span><span class="p">,</span> <span class="n">x1</span><span class="o">=</span><span class="n">retval</span><span class="o">.</span><span class="n">value</span> <span class="o">-</span> <span class="n">retval</span><span class="o">.</span><span class="n">dvalue</span><span class="p">,</span> <span class="n">x2</span><span class="o">=</span><span class="n">retval</span><span class="o">.</span><span class="n">value</span> <span class="o">+</span> <span class="n">retval</span><span class="o">.</span><span class="n">dvalue</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'gray'</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.4</span><span class="p">)</span>
|
</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a> <span class="n">retval</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">()</span>
|
||||||
</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">set_ylim</span><span class="p">(</span><span class="n">ylim</span><span class="p">)</span>
|
</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a> <span class="n">ylim</span> <span class="o">=</span> <span class="n">ax0</span><span class="o">.</span><span class="n">get_ylim</span><span class="p">()</span>
|
||||||
</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a> <span class="k">if</span> <span class="n">observable</span> <span class="o">==</span> <span class="s1">'t0'</span><span class="p">:</span>
|
</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">fill_betweenx</span><span class="p">(</span><span class="n">ylim</span><span class="p">,</span> <span class="n">x1</span><span class="o">=</span><span class="n">retval</span><span class="o">.</span><span class="n">value</span> <span class="o">-</span> <span class="n">retval</span><span class="o">.</span><span class="n">dvalue</span><span class="p">,</span> <span class="n">x2</span><span class="o">=</span><span class="n">retval</span><span class="o">.</span><span class="n">value</span> <span class="o">+</span> <span class="n">retval</span><span class="o">.</span><span class="n">dvalue</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'gray'</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.4</span><span class="p">)</span>
|
||||||
</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$t^2 \langle E(t) \rangle - 0.3 $'</span><span class="p">)</span>
|
</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">set_ylim</span><span class="p">(</span><span class="n">ylim</span><span class="p">)</span>
|
||||||
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="k">elif</span> <span class="n">observable</span> <span class="o">==</span> <span class="s1">'w0'</span><span class="p">:</span>
|
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="k">if</span> <span class="n">observable</span> <span class="o">==</span> <span class="s1">'t0'</span><span class="p">:</span>
|
||||||
</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$t d(t^2 \langle E(t) \rangle)/dt - 0.3 $'</span><span class="p">)</span>
|
</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$t^2 \langle E(t) \rangle - 0.3 $'</span><span class="p">)</span>
|
||||||
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="n">xlim</span> <span class="o">=</span> <span class="n">ax0</span><span class="o">.</span><span class="n">get_xlim</span><span class="p">()</span>
|
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="k">elif</span> <span class="n">observable</span> <span class="o">==</span> <span class="s1">'w0'</span><span class="p">:</span>
|
||||||
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a>
|
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$t d(t^2 \langle E(t) \rangle)/dt - 0.3 $'</span><span class="p">)</span>
|
||||||
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a> <span class="n">fit_res</span> <span class="o">=</span> <span class="p">[</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">xi</span> <span class="k">for</span> <span class="n">xi</span> <span class="ow">in</span> <span class="n">x</span><span class="p">]</span>
|
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a> <span class="n">xlim</span> <span class="o">=</span> <span class="n">ax0</span><span class="o">.</span><span class="n">get_xlim</span><span class="p">()</span>
|
||||||
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a> <span class="n">residuals</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">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">y</span><span class="p">])</span> <span class="o">-</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">fit_res</span><span class="p">])</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">([</span><span class="n">o</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">y</span><span class="p">])</span>
|
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a>
|
||||||
</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a> <span class="n">ax1</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="n">gs</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a> <span class="n">fit_res</span> <span class="o">=</span> <span class="p">[</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">xi</span> <span class="k">for</span> <span class="n">xi</span> <span class="ow">in</span> <span class="n">x</span><span class="p">]</span>
|
||||||
</span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">residuals</span><span class="p">,</span> <span class="s1">'ko'</span><span class="p">,</span> <span class="n">ls</span><span class="o">=</span><span class="s1">'none'</span><span class="p">,</span> <span class="n">markersize</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
|
</span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</span></a> <span class="n">residuals</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">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">y</span><span class="p">])</span> <span class="o">-</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">fit_res</span><span class="p">])</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">([</span><span class="n">o</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">y</span><span class="p">])</span>
|
||||||
</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">tick_params</span><span class="p">(</span><span class="n">direction</span><span class="o">=</span><span class="s1">'out'</span><span class="p">)</span>
|
</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a> <span class="n">ax1</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="n">gs</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
||||||
</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">tick_params</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="s2">"x"</span><span class="p">,</span> <span class="n">bottom</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">top</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">labelbottom</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">residuals</span><span class="p">,</span> <span class="s1">'ko'</span><span class="p">,</span> <span class="n">ls</span><span class="o">=</span><span class="s1">'none'</span><span class="p">,</span> <span class="n">markersize</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
|
||||||
</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">axhline</span><span class="p">(</span><span class="n">y</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">ls</span><span class="o">=</span><span class="s1">'--'</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'k'</span><span class="p">)</span>
|
</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">tick_params</span><span class="p">(</span><span class="n">direction</span><span class="o">=</span><span class="s1">'out'</span><span class="p">)</span>
|
||||||
</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">fill_between</span><span class="p">(</span><span class="n">xlim</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.0</span><span class="p">,</span> <span class="mf">1.0</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.1</span><span class="p">,</span> <span class="n">facecolor</span><span class="o">=</span><span class="s1">'k'</span><span class="p">)</span>
|
</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">tick_params</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="s2">"x"</span><span class="p">,</span> <span class="n">bottom</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">top</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">labelbottom</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||||||
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">set_xlim</span><span class="p">(</span><span class="n">xlim</span><span class="p">)</span>
|
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">axhline</span><span class="p">(</span><span class="n">y</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">ls</span><span class="o">=</span><span class="s1">'--'</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'k'</span><span class="p">)</span>
|
||||||
</span><span id="L-93"><a href="#L-93"><span class="linenos"> 93</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">'Residuals'</span><span class="p">)</span>
|
</span><span id="L-93"><a href="#L-93"><span class="linenos"> 93</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">fill_between</span><span class="p">(</span><span class="n">xlim</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.0</span><span class="p">,</span> <span class="mf">1.0</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.1</span><span class="p">,</span> <span class="n">facecolor</span><span class="o">=</span><span class="s1">'k'</span><span class="p">)</span>
|
||||||
</span><span id="L-94"><a href="#L-94"><span class="linenos"> 94</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$t/a^2$'</span><span class="p">)</span>
|
</span><span id="L-94"><a href="#L-94"><span class="linenos"> 94</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">set_xlim</span><span class="p">(</span><span class="n">xlim</span><span class="p">)</span>
|
||||||
</span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a>
|
</span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">'Residuals'</span><span class="p">)</span>
|
||||||
</span><span id="L-96"><a href="#L-96"><span class="linenos"> 96</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
|
</span><span id="L-96"><a href="#L-96"><span class="linenos"> 96</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$t/a^2$'</span><span class="p">)</span>
|
||||||
</span><span id="L-97"><a href="#L-97"><span class="linenos"> 97</span></a> <span class="k">return</span> <span class="o">-</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">/</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
</span><span id="L-97"><a href="#L-97"><span class="linenos"> 97</span></a>
|
||||||
</span><span id="L-98"><a href="#L-98"><span class="linenos"> 98</span></a>
|
</span><span id="L-98"><a href="#L-98"><span class="linenos"> 98</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
|
||||||
</span><span id="L-99"><a href="#L-99"><span class="linenos"> 99</span></a>
|
</span><span id="L-99"><a href="#L-99"><span class="linenos"> 99</span></a> <span class="k">return</span> <span class="o">-</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">/</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||||
</span><span id="L-100"><a href="#L-100"><span class="linenos">100</span></a><span class="k">def</span><span class="w"> </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-100"><a href="#L-100"><span class="linenos">100</span></a>
|
||||||
</span><span id="L-101"><a href="#L-101"><span class="linenos">101</span></a><span class="w"> </span><span class="sd">"""Read pbp format from given folder structure.</span>
|
</span><span id="L-101"><a href="#L-101"><span class="linenos">101</span></a>
|
||||||
</span><span id="L-102"><a href="#L-102"><span class="linenos">102</span></a>
|
</span><span id="L-102"><a href="#L-102"><span class="linenos">102</span></a><span class="k">def</span><span class="w"> </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-103"><a href="#L-103"><span class="linenos">103</span></a><span class="sd"> Parameters</span>
|
</span><span id="L-103"><a href="#L-103"><span class="linenos">103</span></a><span class="w"> </span><span class="sd">"""Read pbp format from given folder structure.</span>
|
||||||
</span><span id="L-104"><a href="#L-104"><span class="linenos">104</span></a><span class="sd"> ----------</span>
|
</span><span id="L-104"><a href="#L-104"><span class="linenos">104</span></a>
|
||||||
</span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a><span class="sd"> r_start : list</span>
|
</span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a><span class="sd"> list which contains the first config to be read for each replicum</span>
|
</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a><span class="sd"> r_stop : list</span>
|
</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a><span class="sd"> r_start : list</span>
|
||||||
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a><span class="sd"> list which contains the last config to be read for each replicum</span>
|
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a><span class="sd"> list which contains the first config to be read for each replicum</span>
|
||||||
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a>
|
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a><span class="sd"> r_stop : list</span>
|
||||||
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a><span class="sd"> Returns</span>
|
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a><span class="sd"> list which contains the last config to be read for each replicum</span>
|
||||||
</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a><span class="sd"> -------</span>
|
</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a>
|
||||||
</span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a><span class="sd"> result : list[Obs]</span>
|
</span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-113"><a href="#L-113"><span class="linenos">113</span></a><span class="sd"> list of observables read</span>
|
</span><span id="L-113"><a href="#L-113"><span class="linenos">113</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-114"><a href="#L-114"><span class="linenos">114</span></a><span class="sd"> """</span>
|
</span><span id="L-114"><a href="#L-114"><span class="linenos">114</span></a><span class="sd"> result : list[Obs]</span>
|
||||||
</span><span id="L-115"><a href="#L-115"><span class="linenos">115</span></a>
|
</span><span id="L-115"><a href="#L-115"><span class="linenos">115</span></a><span class="sd"> list of observables read</span>
|
||||||
</span><span id="L-116"><a href="#L-116"><span class="linenos">116</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="L-116"><a href="#L-116"><span class="linenos">116</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-117"><a href="#L-117"><span class="linenos">117</span></a> <span class="k">for</span> <span class="p">(</span><span class="n">dirpath</span><span class="p">,</span> <span class="n">dirnames</span><span class="p">,</span> <span class="n">filenames</span><span class="p">)</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
</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 class="n">ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">filenames</span><span class="p">)</span>
|
</span><span id="L-118"><a href="#L-118"><span class="linenos">118</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="L-119"><a href="#L-119"><span class="linenos">119</span></a> <span class="k">break</span>
|
</span><span id="L-119"><a href="#L-119"><span class="linenos">119</span></a> <span class="k">for</span> <span class="p">(</span><span class="n">_dirpath</span><span class="p">,</span> <span class="n">_dirnames</span><span class="p">,</span> <span class="n">filenames</span><span class="p">)</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
||||||
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a>
|
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a> <span class="n">ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">filenames</span><span class="p">)</span>
|
||||||
</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">ls</span><span class="p">:</span>
|
</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a> <span class="k">break</span>
|
||||||
</span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Error, directory not found'</span><span class="p">)</span>
|
</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><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">ls</span><span class="p">:</span>
|
||||||
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="c1"># Exclude files with different names</span>
|
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Error, directory not found'</span><span class="p">)</span>
|
||||||
</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a> <span class="k">for</span> <span class="n">exc</span> <span class="ow">in</span> <span class="n">ls</span><span class="p">:</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="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">exc</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s1">'*.dat'</span><span class="p">):</span>
|
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a> <span class="c1"># Exclude files with different names</span>
|
||||||
</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">exc</span><span class="p">]))</span>
|
</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a> <span class="k">for</span> <span class="n">exc</span> <span class="ow">in</span> <span class="n">ls</span><span class="p">:</span>
|
||||||
</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">exc</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s1">'*.dat'</span><span class="p">):</span>
|
||||||
</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a> <span class="n">ls</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">re</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="sa">r</span><span class="s1">'\d+'</span><span class="p">,</span> <span class="n">x</span><span class="p">[</span><span class="nb">len</span><span class="p">(</span><span class="n">prefix</span><span class="p">):])[</span><span class="mi">0</span><span class="p">]))</span>
|
</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">exc</span><span class="p">]))</span>
|
||||||
</span><span id="L-130"><a href="#L-130"><span class="linenos">130</span></a> <span class="n">replica</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span>
|
</span><span id="L-130"><a href="#L-130"><span class="linenos">130</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
||||||
</span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a>
|
</span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a> <span class="n">ls</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">re</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="sa">r</span><span class="s1">'\d+'</span><span class="p">,</span> <span class="n">x</span><span class="p">[</span><span class="nb">len</span><span class="p">(</span><span class="n">prefix</span><span class="p">):])[</span><span class="mi">0</span><span class="p">]))</span>
|
||||||
</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="k">if</span> <span class="s1">'r_start'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="n">replica</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span>
|
||||||
</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a> <span class="n">r_start</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'r_start'</span><span class="p">)</span>
|
</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a>
|
||||||
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">r_start</span><span class="p">)</span> <span class="o">!=</span> <span class="n">replica</span><span class="p">:</span>
|
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a> <span class="k">if</span> <span class="s1">'r_start'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||||
</span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'r_start does not match number of replicas'</span><span class="p">)</span>
|
</span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a> <span class="n">r_start</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'r_start'</span><span class="p">)</span>
|
||||||
</span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a> <span class="c1"># Adjust Configuration numbering to python index</span>
|
</span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">r_start</span><span class="p">)</span> <span class="o">!=</span> <span class="n">replica</span><span class="p">:</span>
|
||||||
</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a> <span class="n">r_start</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span> <span class="o">-</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">o</span> <span class="k">else</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">r_start</span><span class="p">]</span>
|
</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'r_start does not match number of replicas'</span><span class="p">)</span>
|
||||||
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a> <span class="c1"># Adjust Configuration numbering to python index</span>
|
||||||
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a> <span class="n">r_start</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">replica</span>
|
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a> <span class="n">r_start</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span> <span class="o">-</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">o</span> <span class="k">else</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">r_start</span><span class="p">]</span>
|
||||||
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a>
|
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a> <span class="k">if</span> <span class="s1">'r_stop'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a> <span class="n">r_start</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">replica</span>
|
||||||
</span><span id="L-142"><a href="#L-142"><span class="linenos">142</span></a> <span class="n">r_stop</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'r_stop'</span><span class="p">)</span>
|
</span><span id="L-142"><a href="#L-142"><span class="linenos">142</span></a>
|
||||||
</span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">r_stop</span><span class="p">)</span> <span class="o">!=</span> <span class="n">replica</span><span class="p">:</span>
|
</span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a> <span class="k">if</span> <span class="s1">'r_stop'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||||
</span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'r_stop does not match number of replicas'</span><span class="p">)</span>
|
</span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a> <span class="n">r_stop</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'r_stop'</span><span class="p">)</span>
|
||||||
</span><span id="L-145"><a href="#L-145"><span class="linenos">145</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-145"><a href="#L-145"><span class="linenos">145</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">r_stop</span><span class="p">)</span> <span class="o">!=</span> <span class="n">replica</span><span class="p">:</span>
|
||||||
</span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a> <span class="n">r_stop</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">replica</span>
|
</span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'r_stop does not match number of replicas'</span><span class="p">)</span>
|
||||||
</span><span id="L-147"><a href="#L-147"><span class="linenos">147</span></a>
|
</span><span id="L-147"><a href="#L-147"><span class="linenos">147</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-148"><a href="#L-148"><span class="linenos">148</span></a> <span class="nb">print</span><span class="p">(</span><span class="sa">r</span><span class="s1">'Read <bar</span><span class="si">{psi}</span><span class="s1">\psi> from'</span><span class="p">,</span> <span class="n">prefix</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="s1">','</span><span class="p">,</span> <span class="n">replica</span><span class="p">,</span> <span class="s1">'replica'</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s1">''</span><span class="p">)</span>
|
</span><span id="L-148"><a href="#L-148"><span class="linenos">148</span></a> <span class="n">r_stop</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">replica</span>
|
||||||
</span><span id="L-149"><a href="#L-149"><span class="linenos">149</span></a>
|
</span><span id="L-149"><a href="#L-149"><span class="linenos">149</span></a>
|
||||||
</span><span id="L-150"><a href="#L-150"><span class="linenos">150</span></a> <span class="n">print_err</span> <span class="o">=</span> <span class="mi">0</span>
|
</span><span id="L-150"><a href="#L-150"><span class="linenos">150</span></a> <span class="nb">print</span><span class="p">(</span><span class="sa">r</span><span class="s1">'Read <bar</span><span class="si">{psi}</span><span class="s1">\psi> from'</span><span class="p">,</span> <span class="n">prefix</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="s1">','</span><span class="p">,</span> <span class="n">replica</span><span class="p">,</span> <span class="s1">'replica'</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s1">''</span><span class="p">)</span>
|
||||||
</span><span id="L-151"><a href="#L-151"><span class="linenos">151</span></a> <span class="k">if</span> <span class="s1">'print_err'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
</span><span id="L-151"><a href="#L-151"><span class="linenos">151</span></a>
|
||||||
</span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a> <span class="n">print_err</span> <span class="o">=</span> <span class="mi">1</span>
|
</span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a> <span class="n">print_err</span> <span class="o">=</span> <span class="mi">0</span>
|
||||||
</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a> <span class="nb">print</span><span class="p">()</span>
|
</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a> <span class="k">if</span> <span class="s1">'print_err'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||||
</span><span id="L-154"><a href="#L-154"><span class="linenos">154</span></a>
|
</span><span id="L-154"><a href="#L-154"><span class="linenos">154</span></a> <span class="n">print_err</span> <span class="o">=</span> <span class="mi">1</span>
|
||||||
</span><span id="L-155"><a href="#L-155"><span class="linenos">155</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="L-155"><a href="#L-155"><span class="linenos">155</span></a> <span class="nb">print</span><span class="p">()</span>
|
||||||
</span><span id="L-156"><a href="#L-156"><span class="linenos">156</span></a>
|
</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 class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">replica</span><span class="p">):</span>
|
</span><span id="L-157"><a href="#L-157"><span class="linenos">157</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="L-158"><a href="#L-158"><span class="linenos">158</span></a> <span class="n">tmp_array</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="L-158"><a href="#L-158"><span class="linenos">158</span></a>
|
||||||
</span><span id="L-159"><a href="#L-159"><span class="linenos">159</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">ls</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
|
</span><span id="L-159"><a href="#L-159"><span class="linenos">159</span></a> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">replica</span><span class="p">):</span>
|
||||||
</span><span id="L-160"><a href="#L-160"><span class="linenos">160</span></a>
|
</span><span id="L-160"><a href="#L-160"><span class="linenos">160</span></a> <span class="n">tmp_array</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="L-161"><a href="#L-161"><span class="linenos">161</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span> <span class="c1"># number of reweighting factors</span>
|
</span><span id="L-161"><a href="#L-161"><span class="linenos">161</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">ls</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
|
||||||
</span><span id="L-162"><a href="#L-162"><span class="linenos">162</span></a> <span class="k">if</span> <span class="n">rep</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
</span><span id="L-162"><a href="#L-162"><span class="linenos">162</span></a>
|
||||||
</span><span id="L-163"><a href="#L-163"><span class="linenos">163</span></a> <span class="n">nrw</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
</span><span id="L-163"><a href="#L-163"><span class="linenos">163</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span> <span class="c1"># number of reweighting factors</span>
|
||||||
</span><span id="L-164"><a href="#L-164"><span class="linenos">164</span></a> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
</span><span id="L-164"><a href="#L-164"><span class="linenos">164</span></a> <span class="k">if</span> <span class="n">rep</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||||
</span><span id="L-165"><a href="#L-165"><span class="linenos">165</span></a> <span class="n">deltas</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
</span><span id="L-165"><a href="#L-165"><span class="linenos">165</span></a> <span class="n">nrw</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||||||
</span><span id="L-166"><a href="#L-166"><span class="linenos">166</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-166"><a href="#L-166"><span class="linenos">166</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
||||||
</span><span id="L-167"><a href="#L-167"><span class="linenos">167</span></a> <span class="k">if</span> <span class="n">nrw</span> <span class="o">!=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]:</span>
|
</span><span id="L-167"><a href="#L-167"><span class="linenos">167</span></a> <span class="n">deltas</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||||
</span><span id="L-168"><a href="#L-168"><span class="linenos">168</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Error: different number of factors for replicum'</span><span class="p">,</span> <span class="n">rep</span><span class="p">)</span>
|
</span><span id="L-168"><a href="#L-168"><span class="linenos">168</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-169"><a href="#L-169"><span class="linenos">169</span></a>
|
</span><span id="L-169"><a href="#L-169"><span class="linenos">169</span></a> <span class="k">if</span> <span class="n">nrw</span> <span class="o">!=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]:</span>
|
||||||
</span><span id="L-170"><a href="#L-170"><span class="linenos">170</span></a> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
</span><span id="L-170"><a href="#L-170"><span class="linenos">170</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Error: different number of factors for replicum'</span><span class="p">,</span> <span class="n">rep</span><span class="p">)</span>
|
||||||
</span><span id="L-171"><a href="#L-171"><span class="linenos">171</span></a> <span class="n">tmp_array</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
</span><span id="L-171"><a href="#L-171"><span class="linenos">171</span></a>
|
||||||
</span><span id="L-172"><a href="#L-172"><span class="linenos">172</span></a>
|
</span><span id="L-172"><a href="#L-172"><span class="linenos">172</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
||||||
</span><span id="L-173"><a href="#L-173"><span class="linenos">173</span></a> <span class="c1"># This block is necessary for openQCD1.6 ms1 files</span>
|
</span><span id="L-173"><a href="#L-173"><span class="linenos">173</span></a> <span class="n">tmp_array</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||||
</span><span id="L-174"><a href="#L-174"><span class="linenos">174</span></a> <span class="n">nfct</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="L-174"><a href="#L-174"><span class="linenos">174</span></a>
|
||||||
</span><span id="L-175"><a href="#L-175"><span class="linenos">175</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
</span><span id="L-175"><a href="#L-175"><span class="linenos">175</span></a> <span class="c1"># This block is necessary for openQCD1.6 ms1 files</span>
|
||||||
</span><span id="L-176"><a href="#L-176"><span class="linenos">176</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
|
</span><span id="L-176"><a href="#L-176"><span class="linenos">176</span></a> <span class="n">nfct</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="L-177"><a href="#L-177"><span class="linenos">177</span></a> <span class="n">nfct</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="L-177"><a href="#L-177"><span class="linenos">177</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
||||||
</span><span id="L-178"><a href="#L-178"><span class="linenos">178</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'nfct: '</span><span class="p">,</span> <span class="n">nfct</span><span class="p">)</span> <span class="c1"># Hasenbusch factor, 1 for rat reweighting</span>
|
</span><span id="L-178"><a href="#L-178"><span class="linenos">178</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
|
||||||
</span><span id="L-179"><a href="#L-179"><span class="linenos">179</span></a>
|
</span><span id="L-179"><a href="#L-179"><span class="linenos">179</span></a> <span class="n">nfct</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="L-180"><a href="#L-180"><span class="linenos">180</span></a> <span class="n">nsrc</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="L-180"><a href="#L-180"><span class="linenos">180</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'nfct: '</span><span class="p">,</span> <span class="n">nfct</span><span class="p">)</span> <span class="c1"># Hasenbusch factor, 1 for rat reweighting</span>
|
||||||
</span><span id="L-181"><a href="#L-181"><span class="linenos">181</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
</span><span id="L-181"><a href="#L-181"><span class="linenos">181</span></a>
|
||||||
</span><span id="L-182"><a href="#L-182"><span class="linenos">182</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
|
</span><span id="L-182"><a href="#L-182"><span class="linenos">182</span></a> <span class="n">nsrc</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="L-183"><a href="#L-183"><span class="linenos">183</span></a> <span class="n">nsrc</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="L-183"><a href="#L-183"><span class="linenos">183</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
||||||
</span><span id="L-184"><a href="#L-184"><span class="linenos">184</span></a>
|
</span><span id="L-184"><a href="#L-184"><span class="linenos">184</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
|
||||||
</span><span id="L-185"><a href="#L-185"><span class="linenos">185</span></a> <span class="c1"># body</span>
|
</span><span id="L-185"><a href="#L-185"><span class="linenos">185</span></a> <span class="n">nsrc</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="L-186"><a href="#L-186"><span class="linenos">186</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
|
</span><span id="L-186"><a href="#L-186"><span class="linenos">186</span></a>
|
||||||
</span><span id="L-187"><a href="#L-187"><span class="linenos">187</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
|
</span><span id="L-187"><a href="#L-187"><span class="linenos">187</span></a> <span class="c1"># body</span>
|
||||||
</span><span id="L-188"><a href="#L-188"><span class="linenos">188</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">t</span><span class="p">)</span> <span class="o"><</span> <span class="mi">4</span><span class="p">:</span>
|
</span><span id="L-188"><a href="#L-188"><span class="linenos">188</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
|
||||||
</span><span id="L-189"><a href="#L-189"><span class="linenos">189</span></a> <span class="k">break</span>
|
</span><span id="L-189"><a href="#L-189"><span class="linenos">189</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
|
||||||
</span><span id="L-190"><a href="#L-190"><span class="linenos">190</span></a> <span class="k">if</span> <span class="n">print_err</span><span class="p">:</span>
|
</span><span id="L-190"><a href="#L-190"><span class="linenos">190</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">t</span><span class="p">)</span> <span class="o"><</span> <span class="mi">4</span><span class="p">:</span>
|
||||||
</span><span id="L-191"><a href="#L-191"><span class="linenos">191</span></a> <span class="n">config_no</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)</span>
|
</span><span id="L-191"><a href="#L-191"><span class="linenos">191</span></a> <span class="k">break</span>
|
||||||
</span><span id="L-192"><a href="#L-192"><span class="linenos">192</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
</span><span id="L-192"><a href="#L-192"><span class="linenos">192</span></a> <span class="k">if</span> <span class="n">print_err</span><span class="p">:</span>
|
||||||
</span><span id="L-193"><a href="#L-193"><span class="linenos">193</span></a> <span class="n">tmp_nfct</span> <span class="o">=</span> <span class="mf">1.0</span>
|
</span><span id="L-193"><a href="#L-193"><span class="linenos">193</span></a> <span class="n">config_no</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)</span>
|
||||||
</span><span id="L-194"><a href="#L-194"><span class="linenos">194</span></a> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nfct</span><span class="p">[</span><span class="n">i</span><span class="p">]):</span>
|
</span><span id="L-194"><a href="#L-194"><span class="linenos">194</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
||||||
</span><span id="L-195"><a href="#L-195"><span class="linenos">195</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="n">nsrc</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
|
</span><span id="L-195"><a href="#L-195"><span class="linenos">195</span></a> <span class="n">tmp_nfct</span> <span class="o">=</span> <span class="mf">1.0</span>
|
||||||
</span><span id="L-196"><a href="#L-196"><span class="linenos">196</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="n">nsrc</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
|
</span><span id="L-196"><a href="#L-196"><span class="linenos">196</span></a> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nfct</span><span class="p">[</span><span class="n">i</span><span class="p">]):</span>
|
||||||
</span><span id="L-197"><a href="#L-197"><span class="linenos">197</span></a> <span class="n">tmp_rw</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'d'</span> <span class="o">*</span> <span class="n">nsrc</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">t</span><span class="p">)</span>
|
</span><span id="L-197"><a href="#L-197"><span class="linenos">197</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="n">nsrc</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
|
||||||
</span><span id="L-198"><a href="#L-198"><span class="linenos">198</span></a> <span class="n">tmp_nfct</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">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">tmp_rw</span><span class="p">))</span>
|
</span><span id="L-198"><a href="#L-198"><span class="linenos">198</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="n">nsrc</span><span class="p">[</span><span class="n">i</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="n">print_err</span><span class="p">:</span>
|
</span><span id="L-199"><a href="#L-199"><span class="linenos">199</span></a> <span class="n">tmp_rw</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'d'</span> <span class="o">*</span> <span class="n">nsrc</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">t</span><span class="p">)</span>
|
||||||
</span><span id="L-200"><a href="#L-200"><span class="linenos">200</span></a> <span class="nb">print</span><span class="p">(</span><span class="n">config_no</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">np</span><span class="o">.</span><span class="n">mean</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">tmp_rw</span><span class="p">)),</span> <span class="n">np</span><span class="o">.</span><span class="n">std</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">tmp_rw</span><span class="p">)))</span>
|
</span><span id="L-200"><a href="#L-200"><span class="linenos">200</span></a> <span class="n">tmp_nfct</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">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">tmp_rw</span><span class="p">))</span>
|
||||||
</span><span id="L-201"><a href="#L-201"><span class="linenos">201</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'Sources:'</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">tmp_rw</span><span class="p">))</span>
|
</span><span id="L-201"><a href="#L-201"><span class="linenos">201</span></a> <span class="k">if</span> <span class="n">print_err</span><span class="p">:</span>
|
||||||
</span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'Partial factor:'</span><span class="p">,</span> <span class="n">tmp_nfct</span><span class="p">)</span>
|
</span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a> <span class="nb">print</span><span class="p">(</span><span class="n">config_no</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">np</span><span class="o">.</span><span class="n">mean</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">tmp_rw</span><span class="p">)),</span> <span class="n">np</span><span class="o">.</span><span class="n">std</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">tmp_rw</span><span class="p">)))</span>
|
||||||
</span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a> <span class="n">tmp_array</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmp_nfct</span><span class="p">)</span>
|
</span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'Sources:'</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">tmp_rw</span><span class="p">))</span>
|
||||||
</span><span id="L-204"><a href="#L-204"><span class="linenos">204</span></a>
|
</span><span id="L-204"><a href="#L-204"><span class="linenos">204</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'Partial factor:'</span><span class="p">,</span> <span class="n">tmp_nfct</span><span class="p">)</span>
|
||||||
</span><span id="L-205"><a href="#L-205"><span class="linenos">205</span></a> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
</span><span id="L-205"><a href="#L-205"><span class="linenos">205</span></a> <span class="n">tmp_array</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmp_nfct</span><span class="p">)</span>
|
||||||
</span><span id="L-206"><a href="#L-206"><span class="linenos">206</span></a> <span class="n">deltas</span><span class="p">[</span><span class="n">k</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmp_array</span><span class="p">[</span><span class="n">k</span><span class="p">][</span><span class="n">r_start</span><span class="p">[</span><span class="n">rep</span><span class="p">]:</span><span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">]])</span>
|
</span><span id="L-206"><a href="#L-206"><span class="linenos">206</span></a>
|
||||||
</span><span id="L-207"><a href="#L-207"><span class="linenos">207</span></a>
|
</span><span id="L-207"><a href="#L-207"><span class="linenos">207</span></a> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
||||||
</span><span id="L-208"><a href="#L-208"><span class="linenos">208</span></a> <span class="n">rep_names</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="L-208"><a href="#L-208"><span class="linenos">208</span></a> <span class="n">deltas</span><span class="p">[</span><span class="n">k</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmp_array</span><span class="p">[</span><span class="n">k</span><span class="p">][</span><span class="n">r_start</span><span class="p">[</span><span class="n">rep</span><span class="p">]:</span><span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">]])</span>
|
||||||
</span><span id="L-209"><a href="#L-209"><span class="linenos">209</span></a> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">ls</span><span class="p">:</span>
|
</span><span id="L-209"><a href="#L-209"><span class="linenos">209</span></a>
|
||||||
</span><span id="L-210"><a href="#L-210"><span class="linenos">210</span></a> <span class="n">truncated_entry</span> <span class="o">=</span> <span class="n">entry</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
</span><span id="L-210"><a href="#L-210"><span class="linenos">210</span></a> <span class="n">rep_names</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="L-211"><a href="#L-211"><span class="linenos">211</span></a> <span class="n">idx</span> <span class="o">=</span> <span class="n">truncated_entry</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s1">'r'</span><span class="p">)</span>
|
</span><span id="L-211"><a href="#L-211"><span class="linenos">211</span></a> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">ls</span><span class="p">:</span>
|
||||||
</span><span id="L-212"><a href="#L-212"><span class="linenos">212</span></a> <span class="n">rep_names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">truncated_entry</span><span class="p">[:</span><span class="n">idx</span><span class="p">]</span> <span class="o">+</span> <span class="s1">'|'</span> <span class="o">+</span> <span class="n">truncated_entry</span><span class="p">[</span><span class="n">idx</span><span class="p">:])</span>
|
</span><span id="L-212"><a href="#L-212"><span class="linenos">212</span></a> <span class="n">truncated_entry</span> <span class="o">=</span> <span class="n">entry</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||||||
</span><span id="L-213"><a href="#L-213"><span class="linenos">213</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">','</span><span class="p">,</span> <span class="n">nrw</span><span class="p">,</span> <span class="sa">r</span><span class="s1">'<bar</span><span class="si">{psi}</span><span class="s1">\psi> with'</span><span class="p">,</span> <span class="n">nsrc</span><span class="p">,</span> <span class="s1">'sources'</span><span class="p">)</span>
|
</span><span id="L-213"><a href="#L-213"><span class="linenos">213</span></a> <span class="n">idx</span> <span class="o">=</span> <span class="n">truncated_entry</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s1">'r'</span><span class="p">)</span>
|
||||||
</span><span id="L-214"><a href="#L-214"><span class="linenos">214</span></a> <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="L-214"><a href="#L-214"><span class="linenos">214</span></a> <span class="n">rep_names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">truncated_entry</span><span class="p">[:</span><span class="n">idx</span><span class="p">]</span> <span class="o">+</span> <span class="s1">'|'</span> <span class="o">+</span> <span class="n">truncated_entry</span><span class="p">[</span><span class="n">idx</span><span class="p">:])</span>
|
||||||
</span><span id="L-215"><a href="#L-215"><span class="linenos">215</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="n">nrw</span><span class="p">):</span>
|
</span><span id="L-215"><a href="#L-215"><span class="linenos">215</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">','</span><span class="p">,</span> <span class="n">nrw</span><span class="p">,</span> <span class="sa">r</span><span class="s1">'<bar</span><span class="si">{psi}</span><span class="s1">\psi> with'</span><span class="p">,</span> <span class="n">nsrc</span><span class="p">,</span> <span class="s1">'sources'</span><span class="p">)</span>
|
||||||
</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">(</span><span class="n">deltas</span><span class="p">[</span><span class="n">t</span><span class="p">],</span> <span class="n">rep_names</span><span class="p">))</span>
|
</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="L-217"><a href="#L-217"><span class="linenos">217</span></a>
|
</span><span id="L-217"><a href="#L-217"><span class="linenos">217</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="n">nrw</span><span class="p">):</span>
|
||||||
</span><span id="L-218"><a href="#L-218"><span class="linenos">218</span></a> <span class="k">return</span> <span class="n">result</span>
|
</span><span id="L-218"><a href="#L-218"><span class="linenos">218</span></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">(</span><span class="n">deltas</span><span class="p">[</span><span class="n">t</span><span class="p">],</span> <span class="n">rep_names</span><span class="p">))</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="k">return</span> <span class="n">result</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -312,91 +314,91 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#fit_t0"></a>
|
<a class="headerlink" href="#fit_t0"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="fit_t0-14"><a href="#fit_t0-14"><span class="linenos">14</span></a><span class="k">def</span><span class="w"> </span><span class="nf">fit_t0</span><span class="p">(</span><span class="n">t2E_dict</span><span class="p">,</span> <span class="n">fit_range</span><span class="p">,</span> <span class="n">plot_fit</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">observable</span><span class="o">=</span><span class="s1">'t0'</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="fit_t0-16"><a href="#fit_t0-16"><span class="linenos"> 16</span></a><span class="k">def</span><span class="w"> </span><span class="nf">fit_t0</span><span class="p">(</span><span class="n">t2E_dict</span><span class="p">,</span> <span class="n">fit_range</span><span class="p">,</span> <span class="n">plot_fit</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">observable</span><span class="o">=</span><span class="s1">'t0'</span><span class="p">):</span>
|
||||||
</span><span id="fit_t0-15"><a href="#fit_t0-15"><span class="linenos">15</span></a><span class="w"> </span><span class="sd">"""Compute the root of (flow-based) data based on a dictionary that contains</span>
|
</span><span id="fit_t0-17"><a href="#fit_t0-17"><span class="linenos"> 17</span></a><span class="w"> </span><span class="sd">"""Compute the root of (flow-based) data based on a dictionary that contains</span>
|
||||||
</span><span id="fit_t0-16"><a href="#fit_t0-16"><span class="linenos">16</span></a><span class="sd"> the necessary information in key-value pairs a la (flow time: observable at flow time).</span>
|
</span><span id="fit_t0-18"><a href="#fit_t0-18"><span class="linenos"> 18</span></a><span class="sd"> the necessary information in key-value pairs a la (flow time: observable at flow time).</span>
|
||||||
</span><span id="fit_t0-17"><a href="#fit_t0-17"><span class="linenos">17</span></a>
|
</span><span id="fit_t0-19"><a href="#fit_t0-19"><span class="linenos"> 19</span></a>
|
||||||
</span><span id="fit_t0-18"><a href="#fit_t0-18"><span class="linenos">18</span></a><span class="sd"> It is assumed that the data is monotonically increasing and passes zero from below.</span>
|
</span><span id="fit_t0-20"><a href="#fit_t0-20"><span class="linenos"> 20</span></a><span class="sd"> It is assumed that the data is monotonically increasing and passes zero from below.</span>
|
||||||
</span><span id="fit_t0-19"><a href="#fit_t0-19"><span class="linenos">19</span></a><span class="sd"> No exception is thrown if this is not the case (several roots, no monotonic increase).</span>
|
</span><span id="fit_t0-21"><a href="#fit_t0-21"><span class="linenos"> 21</span></a><span class="sd"> No exception is thrown if this is not the case (several roots, no monotonic increase).</span>
|
||||||
</span><span id="fit_t0-20"><a href="#fit_t0-20"><span class="linenos">20</span></a><span class="sd"> An exception is thrown if no root can be found in the data.</span>
|
</span><span id="fit_t0-22"><a href="#fit_t0-22"><span class="linenos"> 22</span></a><span class="sd"> An exception is thrown if no root can be found in the data.</span>
|
||||||
</span><span id="fit_t0-21"><a href="#fit_t0-21"><span class="linenos">21</span></a>
|
</span><span id="fit_t0-23"><a href="#fit_t0-23"><span class="linenos"> 23</span></a>
|
||||||
</span><span id="fit_t0-22"><a href="#fit_t0-22"><span class="linenos">22</span></a><span class="sd"> A linear fit in the vicinity of the root is performed to exctract the root from the</span>
|
</span><span id="fit_t0-24"><a href="#fit_t0-24"><span class="linenos"> 24</span></a><span class="sd"> A linear fit in the vicinity of the root is performed to exctract the root from the</span>
|
||||||
</span><span id="fit_t0-23"><a href="#fit_t0-23"><span class="linenos">23</span></a><span class="sd"> two fit parameters.</span>
|
</span><span id="fit_t0-25"><a href="#fit_t0-25"><span class="linenos"> 25</span></a><span class="sd"> two fit parameters.</span>
|
||||||
</span><span id="fit_t0-24"><a href="#fit_t0-24"><span class="linenos">24</span></a>
|
</span><span id="fit_t0-26"><a href="#fit_t0-26"><span class="linenos"> 26</span></a>
|
||||||
</span><span id="fit_t0-25"><a href="#fit_t0-25"><span class="linenos">25</span></a><span class="sd"> Parameters</span>
|
</span><span id="fit_t0-27"><a href="#fit_t0-27"><span class="linenos"> 27</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="fit_t0-26"><a href="#fit_t0-26"><span class="linenos">26</span></a><span class="sd"> ----------</span>
|
</span><span id="fit_t0-28"><a href="#fit_t0-28"><span class="linenos"> 28</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="fit_t0-27"><a href="#fit_t0-27"><span class="linenos">27</span></a><span class="sd"> t2E_dict : dict</span>
|
</span><span id="fit_t0-29"><a href="#fit_t0-29"><span class="linenos"> 29</span></a><span class="sd"> t2E_dict : dict</span>
|
||||||
</span><span id="fit_t0-28"><a href="#fit_t0-28"><span class="linenos">28</span></a><span class="sd"> Dictionary with pairs of (flow time: observable at flow time) where the flow times</span>
|
</span><span id="fit_t0-30"><a href="#fit_t0-30"><span class="linenos"> 30</span></a><span class="sd"> Dictionary with pairs of (flow time: observable at flow time) where the flow times</span>
|
||||||
</span><span id="fit_t0-29"><a href="#fit_t0-29"><span class="linenos">29</span></a><span class="sd"> are of type float and the observables of type Obs.</span>
|
</span><span id="fit_t0-31"><a href="#fit_t0-31"><span class="linenos"> 31</span></a><span class="sd"> are of type float and the observables of type Obs.</span>
|
||||||
</span><span id="fit_t0-30"><a href="#fit_t0-30"><span class="linenos">30</span></a><span class="sd"> fit_range : int</span>
|
</span><span id="fit_t0-32"><a href="#fit_t0-32"><span class="linenos"> 32</span></a><span class="sd"> fit_range : int</span>
|
||||||
</span><span id="fit_t0-31"><a href="#fit_t0-31"><span class="linenos">31</span></a><span class="sd"> Number of data points left and right of the zero</span>
|
</span><span id="fit_t0-33"><a href="#fit_t0-33"><span class="linenos"> 33</span></a><span class="sd"> Number of data points left and right of the zero</span>
|
||||||
</span><span id="fit_t0-32"><a href="#fit_t0-32"><span class="linenos">32</span></a><span class="sd"> crossing to be included in the linear fit.</span>
|
</span><span id="fit_t0-34"><a href="#fit_t0-34"><span class="linenos"> 34</span></a><span class="sd"> crossing to be included in the linear fit.</span>
|
||||||
</span><span id="fit_t0-33"><a href="#fit_t0-33"><span class="linenos">33</span></a><span class="sd"> plot_fit : bool</span>
|
</span><span id="fit_t0-35"><a href="#fit_t0-35"><span class="linenos"> 35</span></a><span class="sd"> plot_fit : bool</span>
|
||||||
</span><span id="fit_t0-34"><a href="#fit_t0-34"><span class="linenos">34</span></a><span class="sd"> If true, the fit for the extraction of t0 is shown together with the data. (Default: False)</span>
|
</span><span id="fit_t0-36"><a href="#fit_t0-36"><span class="linenos"> 36</span></a><span class="sd"> If true, the fit for the extraction of t0 is shown together with the data. (Default: False)</span>
|
||||||
</span><span id="fit_t0-35"><a href="#fit_t0-35"><span class="linenos">35</span></a><span class="sd"> observable: str</span>
|
</span><span id="fit_t0-37"><a href="#fit_t0-37"><span class="linenos"> 37</span></a><span class="sd"> observable: str</span>
|
||||||
</span><span id="fit_t0-36"><a href="#fit_t0-36"><span class="linenos">36</span></a><span class="sd"> Keyword to identify the observable to print the correct ylabel (if plot_fit is True)</span>
|
</span><span id="fit_t0-38"><a href="#fit_t0-38"><span class="linenos"> 38</span></a><span class="sd"> Keyword to identify the observable to print the correct ylabel (if plot_fit is True)</span>
|
||||||
</span><span id="fit_t0-37"><a href="#fit_t0-37"><span class="linenos">37</span></a><span class="sd"> for the observables 't0' and 'w0'. No y label is printed otherwise. (Default: 't0')</span>
|
</span><span id="fit_t0-39"><a href="#fit_t0-39"><span class="linenos"> 39</span></a><span class="sd"> for the observables 't0' and 'w0'. No y label is printed otherwise. (Default: 't0')</span>
|
||||||
</span><span id="fit_t0-38"><a href="#fit_t0-38"><span class="linenos">38</span></a>
|
</span><span id="fit_t0-40"><a href="#fit_t0-40"><span class="linenos"> 40</span></a>
|
||||||
</span><span id="fit_t0-39"><a href="#fit_t0-39"><span class="linenos">39</span></a><span class="sd"> Returns</span>
|
</span><span id="fit_t0-41"><a href="#fit_t0-41"><span class="linenos"> 41</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="fit_t0-40"><a href="#fit_t0-40"><span class="linenos">40</span></a><span class="sd"> -------</span>
|
</span><span id="fit_t0-42"><a href="#fit_t0-42"><span class="linenos"> 42</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="fit_t0-41"><a href="#fit_t0-41"><span class="linenos">41</span></a><span class="sd"> root : Obs</span>
|
</span><span id="fit_t0-43"><a href="#fit_t0-43"><span class="linenos"> 43</span></a><span class="sd"> root : Obs</span>
|
||||||
</span><span id="fit_t0-42"><a href="#fit_t0-42"><span class="linenos">42</span></a><span class="sd"> The root of the data series.</span>
|
</span><span id="fit_t0-44"><a href="#fit_t0-44"><span class="linenos"> 44</span></a><span class="sd"> The root of the data series.</span>
|
||||||
</span><span id="fit_t0-43"><a href="#fit_t0-43"><span class="linenos">43</span></a><span class="sd"> """</span>
|
</span><span id="fit_t0-45"><a href="#fit_t0-45"><span class="linenos"> 45</span></a><span class="sd"> """</span>
|
||||||
</span><span id="fit_t0-44"><a href="#fit_t0-44"><span class="linenos">44</span></a>
|
</span><span id="fit_t0-46"><a href="#fit_t0-46"><span class="linenos"> 46</span></a>
|
||||||
</span><span id="fit_t0-45"><a href="#fit_t0-45"><span class="linenos">45</span></a> <span class="n">zero_crossing</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
</span><span id="fit_t0-47"><a href="#fit_t0-47"><span class="linenos"> 47</span></a> <span class="n">zero_crossing</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
|
||||||
</span><span id="fit_t0-46"><a href="#fit_t0-46"><span class="linenos">46</span></a> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">t2E_dict</span><span class="o">.</span><span class="n">values</span><span class="p">()])</span> <span class="o">></span> <span class="mf">0.0</span><span class="p">)</span>
|
</span><span id="fit_t0-48"><a href="#fit_t0-48"><span class="linenos"> 48</span></a> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">t2E_dict</span><span class="o">.</span><span class="n">values</span><span class="p">()])</span> <span class="o">></span> <span class="mf">0.0</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-47"><a href="#fit_t0-47"><span class="linenos">47</span></a>
|
</span><span id="fit_t0-49"><a href="#fit_t0-49"><span class="linenos"> 49</span></a>
|
||||||
</span><span id="fit_t0-48"><a href="#fit_t0-48"><span class="linenos">48</span></a> <span class="k">if</span> <span class="n">zero_crossing</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
</span><span id="fit_t0-50"><a href="#fit_t0-50"><span class="linenos"> 50</span></a> <span class="k">if</span> <span class="n">zero_crossing</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||||
</span><span id="fit_t0-49"><a href="#fit_t0-49"><span class="linenos">49</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Desired flow time not in data'</span><span class="p">)</span>
|
</span><span id="fit_t0-51"><a href="#fit_t0-51"><span class="linenos"> 51</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Desired flow time not in data'</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-50"><a href="#fit_t0-50"><span class="linenos">50</span></a>
|
</span><span id="fit_t0-52"><a href="#fit_t0-52"><span class="linenos"> 52</span></a>
|
||||||
</span><span id="fit_t0-51"><a href="#fit_t0-51"><span class="linenos">51</span></a> <span class="n">x</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span><span class="p">:</span>
|
</span><span id="fit_t0-53"><a href="#fit_t0-53"><span class="linenos"> 53</span></a> <span class="n">x</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span><span class="p">:</span>
|
||||||
</span><span id="fit_t0-52"><a href="#fit_t0-52"><span class="linenos">52</span></a> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span><span class="p">]</span>
|
</span><span id="fit_t0-54"><a href="#fit_t0-54"><span class="linenos"> 54</span></a> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span><span class="p">]</span>
|
||||||
</span><span id="fit_t0-53"><a href="#fit_t0-53"><span class="linenos">53</span></a> <span class="n">y</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">values</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span><span class="p">:</span>
|
</span><span id="fit_t0-55"><a href="#fit_t0-55"><span class="linenos"> 55</span></a> <span class="n">y</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">values</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span><span class="p">:</span>
|
||||||
</span><span id="fit_t0-54"><a href="#fit_t0-54"><span class="linenos">54</span></a> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span><span class="p">]</span>
|
</span><span id="fit_t0-56"><a href="#fit_t0-56"><span class="linenos"> 56</span></a> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span><span class="p">]</span>
|
||||||
</span><span id="fit_t0-55"><a href="#fit_t0-55"><span class="linenos">55</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="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">y</span><span class="p">]</span>
|
</span><span id="fit_t0-57"><a href="#fit_t0-57"><span class="linenos"> 57</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="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">y</span><span class="p">]</span>
|
||||||
</span><span id="fit_t0-56"><a href="#fit_t0-56"><span class="linenos">56</span></a>
|
</span><span id="fit_t0-58"><a href="#fit_t0-58"><span class="linenos"> 58</span></a>
|
||||||
</span><span id="fit_t0-57"><a href="#fit_t0-57"><span class="linenos">57</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="o"><</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">fit_range</span><span class="p">:</span>
|
</span><span id="fit_t0-59"><a href="#fit_t0-59"><span class="linenos"> 59</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="o"><</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">fit_range</span><span class="p">:</span>
|
||||||
</span><span id="fit_t0-58"><a href="#fit_t0-58"><span class="linenos">58</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s1">'Fit range smaller than expected! Fitting from </span><span class="si">%1.2e</span><span class="s1"> to </span><span class="si">%1.2e</span><span class="s1">'</span> <span class="o">%</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">x</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span>
|
</span><span id="fit_t0-60"><a href="#fit_t0-60"><span class="linenos"> 60</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="sa">f</span><span class="s1">'Fit range smaller than expected! Fitting from </span><span class="si">{</span><span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="si">:</span><span class="s1">1.2e</span><span class="si">}</span><span class="s1"> to </span><span class="si">{</span><span class="n">x</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="si">:</span><span class="s1">1.2e</span><span class="si">}</span><span class="s1">'</span><span class="p">,</span> <span class="n">stacklevel</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-59"><a href="#fit_t0-59"><span class="linenos">59</span></a>
|
</span><span id="fit_t0-61"><a href="#fit_t0-61"><span class="linenos"> 61</span></a>
|
||||||
</span><span id="fit_t0-60"><a href="#fit_t0-60"><span class="linenos">60</span></a> <span class="n">fit_result</span> <span class="o">=</span> <span class="n">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><span id="fit_t0-62"><a href="#fit_t0-62"><span class="linenos"> 62</span></a> <span class="n">fit_result</span> <span class="o">=</span> <span class="n">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><span id="fit_t0-61"><a href="#fit_t0-61"><span class="linenos">61</span></a>
|
</span><span id="fit_t0-63"><a href="#fit_t0-63"><span class="linenos"> 63</span></a>
|
||||||
</span><span id="fit_t0-62"><a href="#fit_t0-62"><span class="linenos">62</span></a> <span class="k">if</span> <span class="n">plot_fit</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
</span><span id="fit_t0-64"><a href="#fit_t0-64"><span class="linenos"> 64</span></a> <span class="k">if</span> <span class="n">plot_fit</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||||
</span><span id="fit_t0-63"><a href="#fit_t0-63"><span class="linenos">63</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span>
|
</span><span id="fit_t0-65"><a href="#fit_t0-65"><span class="linenos"> 65</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span>
|
||||||
</span><span id="fit_t0-64"><a href="#fit_t0-64"><span class="linenos">64</span></a> <span class="n">gs</span> <span class="o">=</span> <span class="n">gridspec</span><span class="o">.</span><span class="n">GridSpec</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">height_ratios</span><span class="o">=</span><span class="p">[</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="n">wspace</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">hspace</span><span class="o">=</span><span class="mf">0.0</span><span class="p">)</span>
|
</span><span id="fit_t0-66"><a href="#fit_t0-66"><span class="linenos"> 66</span></a> <span class="n">gs</span> <span class="o">=</span> <span class="n">gridspec</span><span class="o">.</span><span class="n">GridSpec</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">height_ratios</span><span class="o">=</span><span class="p">[</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="n">wspace</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">hspace</span><span class="o">=</span><span class="mf">0.0</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-65"><a href="#fit_t0-65"><span class="linenos">65</span></a> <span class="n">ax0</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="n">gs</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="fit_t0-67"><a href="#fit_t0-67"><span class="linenos"> 67</span></a> <span class="n">ax0</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="n">gs</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="fit_t0-66"><a href="#fit_t0-66"><span class="linenos">66</span></a> <span class="n">xmore</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span> <span class="o">-</span> <span class="mi">2</span><span class="p">:</span> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span>
|
</span><span id="fit_t0-68"><a href="#fit_t0-68"><span class="linenos"> 68</span></a> <span class="n">xmore</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span> <span class="o">-</span> <span class="mi">2</span><span class="p">:</span> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span>
|
||||||
</span><span id="fit_t0-67"><a href="#fit_t0-67"><span class="linenos">67</span></a> <span class="n">ymore</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">values</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span> <span class="o">-</span> <span class="mi">2</span><span class="p">:</span> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span>
|
</span><span id="fit_t0-69"><a href="#fit_t0-69"><span class="linenos"> 69</span></a> <span class="n">ymore</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t2E_dict</span><span class="o">.</span><span class="n">values</span><span class="p">())[</span><span class="n">zero_crossing</span> <span class="o">-</span> <span class="n">fit_range</span> <span class="o">-</span> <span class="mi">2</span><span class="p">:</span> <span class="n">zero_crossing</span> <span class="o">+</span> <span class="n">fit_range</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span>
|
||||||
</span><span id="fit_t0-68"><a href="#fit_t0-68"><span class="linenos">68</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="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">ymore</span><span class="p">]</span>
|
</span><span id="fit_t0-70"><a href="#fit_t0-70"><span class="linenos"> 70</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="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">ymore</span><span class="p">]</span>
|
||||||
</span><span id="fit_t0-69"><a href="#fit_t0-69"><span class="linenos">69</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">errorbar</span><span class="p">(</span><span class="n">xmore</span><span class="p">,</span> <span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">ymore</span><span class="p">],</span> <span class="n">yerr</span><span class="o">=</span><span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">ymore</span><span class="p">],</span> <span class="n">fmt</span><span class="o">=</span><span class="s1">'x'</span><span class="p">)</span>
|
</span><span id="fit_t0-71"><a href="#fit_t0-71"><span class="linenos"> 71</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">errorbar</span><span class="p">(</span><span class="n">xmore</span><span class="p">,</span> <span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">ymore</span><span class="p">],</span> <span class="n">yerr</span><span class="o">=</span><span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">ymore</span><span class="p">],</span> <span class="n">fmt</span><span class="o">=</span><span class="s1">'x'</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-70"><a href="#fit_t0-70"><span class="linenos">70</span></a> <span class="n">xplot</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">x</span><span class="p">))</span>
|
</span><span id="fit_t0-72"><a href="#fit_t0-72"><span class="linenos"> 72</span></a> <span class="n">xplot</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">x</span><span class="p">))</span>
|
||||||
</span><span id="fit_t0-71"><a href="#fit_t0-71"><span class="linenos">71</span></a> <span class="n">yplot</span> <span class="o">=</span> <span class="p">[</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">xi</span> <span class="k">for</span> <span class="n">xi</span> <span class="ow">in</span> <span class="n">xplot</span><span class="p">]</span>
|
</span><span id="fit_t0-73"><a href="#fit_t0-73"><span class="linenos"> 73</span></a> <span class="n">yplot</span> <span class="o">=</span> <span class="p">[</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">xi</span> <span class="k">for</span> <span class="n">xi</span> <span class="ow">in</span> <span class="n">xplot</span><span class="p">]</span>
|
||||||
</span><span id="fit_t0-72"><a href="#fit_t0-72"><span class="linenos">72</span></a> <span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">()</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">yplot</span><span class="p">]</span>
|
</span><span id="fit_t0-74"><a href="#fit_t0-74"><span class="linenos"> 74</span></a> <span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">()</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">yplot</span><span class="p">]</span>
|
||||||
</span><span id="fit_t0-73"><a href="#fit_t0-73"><span class="linenos">73</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">fill_between</span><span class="p">(</span><span class="n">xplot</span><span class="p">,</span> <span class="n">y1</span><span class="o">=</span><span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">value</span> <span class="o">-</span> <span class="n">yi</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">yplot</span><span class="p">],</span> <span class="n">y2</span><span class="o">=</span><span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">value</span> <span class="o">+</span> <span class="n">yi</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">yplot</span><span class="p">])</span>
|
</span><span id="fit_t0-75"><a href="#fit_t0-75"><span class="linenos"> 75</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">fill_between</span><span class="p">(</span><span class="n">xplot</span><span class="p">,</span> <span class="n">y1</span><span class="o">=</span><span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">value</span> <span class="o">-</span> <span class="n">yi</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">yplot</span><span class="p">],</span> <span class="n">y2</span><span class="o">=</span><span class="p">[</span><span class="n">yi</span><span class="o">.</span><span class="n">value</span> <span class="o">+</span> <span class="n">yi</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">yi</span> <span class="ow">in</span> <span class="n">yplot</span><span class="p">])</span>
|
||||||
</span><span id="fit_t0-74"><a href="#fit_t0-74"><span class="linenos">74</span></a> <span class="n">retval</span> <span class="o">=</span> <span class="p">(</span><span class="o">-</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">/</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
</span><span id="fit_t0-76"><a href="#fit_t0-76"><span class="linenos"> 76</span></a> <span class="n">retval</span> <span class="o">=</span> <span class="p">(</span><span class="o">-</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">/</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
||||||
</span><span id="fit_t0-75"><a href="#fit_t0-75"><span class="linenos">75</span></a> <span class="n">retval</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">()</span>
|
</span><span id="fit_t0-77"><a href="#fit_t0-77"><span class="linenos"> 77</span></a> <span class="n">retval</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">()</span>
|
||||||
</span><span id="fit_t0-76"><a href="#fit_t0-76"><span class="linenos">76</span></a> <span class="n">ylim</span> <span class="o">=</span> <span class="n">ax0</span><span class="o">.</span><span class="n">get_ylim</span><span class="p">()</span>
|
</span><span id="fit_t0-78"><a href="#fit_t0-78"><span class="linenos"> 78</span></a> <span class="n">ylim</span> <span class="o">=</span> <span class="n">ax0</span><span class="o">.</span><span class="n">get_ylim</span><span class="p">()</span>
|
||||||
</span><span id="fit_t0-77"><a href="#fit_t0-77"><span class="linenos">77</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">fill_betweenx</span><span class="p">(</span><span class="n">ylim</span><span class="p">,</span> <span class="n">x1</span><span class="o">=</span><span class="n">retval</span><span class="o">.</span><span class="n">value</span> <span class="o">-</span> <span class="n">retval</span><span class="o">.</span><span class="n">dvalue</span><span class="p">,</span> <span class="n">x2</span><span class="o">=</span><span class="n">retval</span><span class="o">.</span><span class="n">value</span> <span class="o">+</span> <span class="n">retval</span><span class="o">.</span><span class="n">dvalue</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'gray'</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.4</span><span class="p">)</span>
|
</span><span id="fit_t0-79"><a href="#fit_t0-79"><span class="linenos"> 79</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">fill_betweenx</span><span class="p">(</span><span class="n">ylim</span><span class="p">,</span> <span class="n">x1</span><span class="o">=</span><span class="n">retval</span><span class="o">.</span><span class="n">value</span> <span class="o">-</span> <span class="n">retval</span><span class="o">.</span><span class="n">dvalue</span><span class="p">,</span> <span class="n">x2</span><span class="o">=</span><span class="n">retval</span><span class="o">.</span><span class="n">value</span> <span class="o">+</span> <span class="n">retval</span><span class="o">.</span><span class="n">dvalue</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'gray'</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.4</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-78"><a href="#fit_t0-78"><span class="linenos">78</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">set_ylim</span><span class="p">(</span><span class="n">ylim</span><span class="p">)</span>
|
</span><span id="fit_t0-80"><a href="#fit_t0-80"><span class="linenos"> 80</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">set_ylim</span><span class="p">(</span><span class="n">ylim</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-79"><a href="#fit_t0-79"><span class="linenos">79</span></a> <span class="k">if</span> <span class="n">observable</span> <span class="o">==</span> <span class="s1">'t0'</span><span class="p">:</span>
|
</span><span id="fit_t0-81"><a href="#fit_t0-81"><span class="linenos"> 81</span></a> <span class="k">if</span> <span class="n">observable</span> <span class="o">==</span> <span class="s1">'t0'</span><span class="p">:</span>
|
||||||
</span><span id="fit_t0-80"><a href="#fit_t0-80"><span class="linenos">80</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$t^2 \langle E(t) \rangle - 0.3 $'</span><span class="p">)</span>
|
</span><span id="fit_t0-82"><a href="#fit_t0-82"><span class="linenos"> 82</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$t^2 \langle E(t) \rangle - 0.3 $'</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-81"><a href="#fit_t0-81"><span class="linenos">81</span></a> <span class="k">elif</span> <span class="n">observable</span> <span class="o">==</span> <span class="s1">'w0'</span><span class="p">:</span>
|
</span><span id="fit_t0-83"><a href="#fit_t0-83"><span class="linenos"> 83</span></a> <span class="k">elif</span> <span class="n">observable</span> <span class="o">==</span> <span class="s1">'w0'</span><span class="p">:</span>
|
||||||
</span><span id="fit_t0-82"><a href="#fit_t0-82"><span class="linenos">82</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$t d(t^2 \langle E(t) \rangle)/dt - 0.3 $'</span><span class="p">)</span>
|
</span><span id="fit_t0-84"><a href="#fit_t0-84"><span class="linenos"> 84</span></a> <span class="n">ax0</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$t d(t^2 \langle E(t) \rangle)/dt - 0.3 $'</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-83"><a href="#fit_t0-83"><span class="linenos">83</span></a> <span class="n">xlim</span> <span class="o">=</span> <span class="n">ax0</span><span class="o">.</span><span class="n">get_xlim</span><span class="p">()</span>
|
</span><span id="fit_t0-85"><a href="#fit_t0-85"><span class="linenos"> 85</span></a> <span class="n">xlim</span> <span class="o">=</span> <span class="n">ax0</span><span class="o">.</span><span class="n">get_xlim</span><span class="p">()</span>
|
||||||
</span><span id="fit_t0-84"><a href="#fit_t0-84"><span class="linenos">84</span></a>
|
</span><span id="fit_t0-86"><a href="#fit_t0-86"><span class="linenos"> 86</span></a>
|
||||||
</span><span id="fit_t0-85"><a href="#fit_t0-85"><span class="linenos">85</span></a> <span class="n">fit_res</span> <span class="o">=</span> <span class="p">[</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">xi</span> <span class="k">for</span> <span class="n">xi</span> <span class="ow">in</span> <span class="n">x</span><span class="p">]</span>
|
</span><span id="fit_t0-87"><a href="#fit_t0-87"><span class="linenos"> 87</span></a> <span class="n">fit_res</span> <span class="o">=</span> <span class="p">[</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">xi</span> <span class="k">for</span> <span class="n">xi</span> <span class="ow">in</span> <span class="n">x</span><span class="p">]</span>
|
||||||
</span><span id="fit_t0-86"><a href="#fit_t0-86"><span class="linenos">86</span></a> <span class="n">residuals</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">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">y</span><span class="p">])</span> <span class="o">-</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">fit_res</span><span class="p">])</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">([</span><span class="n">o</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">y</span><span class="p">])</span>
|
</span><span id="fit_t0-88"><a href="#fit_t0-88"><span class="linenos"> 88</span></a> <span class="n">residuals</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">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">y</span><span class="p">])</span> <span class="o">-</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">fit_res</span><span class="p">])</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">([</span><span class="n">o</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">y</span><span class="p">])</span>
|
||||||
</span><span id="fit_t0-87"><a href="#fit_t0-87"><span class="linenos">87</span></a> <span class="n">ax1</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="n">gs</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
</span><span id="fit_t0-89"><a href="#fit_t0-89"><span class="linenos"> 89</span></a> <span class="n">ax1</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="n">gs</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
||||||
</span><span id="fit_t0-88"><a href="#fit_t0-88"><span class="linenos">88</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">residuals</span><span class="p">,</span> <span class="s1">'ko'</span><span class="p">,</span> <span class="n">ls</span><span class="o">=</span><span class="s1">'none'</span><span class="p">,</span> <span class="n">markersize</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
|
</span><span id="fit_t0-90"><a href="#fit_t0-90"><span class="linenos"> 90</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">residuals</span><span class="p">,</span> <span class="s1">'ko'</span><span class="p">,</span> <span class="n">ls</span><span class="o">=</span><span class="s1">'none'</span><span class="p">,</span> <span class="n">markersize</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-89"><a href="#fit_t0-89"><span class="linenos">89</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">tick_params</span><span class="p">(</span><span class="n">direction</span><span class="o">=</span><span class="s1">'out'</span><span class="p">)</span>
|
</span><span id="fit_t0-91"><a href="#fit_t0-91"><span class="linenos"> 91</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">tick_params</span><span class="p">(</span><span class="n">direction</span><span class="o">=</span><span class="s1">'out'</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-90"><a href="#fit_t0-90"><span class="linenos">90</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">tick_params</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="s2">"x"</span><span class="p">,</span> <span class="n">bottom</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">top</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">labelbottom</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
</span><span id="fit_t0-92"><a href="#fit_t0-92"><span class="linenos"> 92</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">tick_params</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="s2">"x"</span><span class="p">,</span> <span class="n">bottom</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">top</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">labelbottom</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-91"><a href="#fit_t0-91"><span class="linenos">91</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">axhline</span><span class="p">(</span><span class="n">y</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">ls</span><span class="o">=</span><span class="s1">'--'</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'k'</span><span class="p">)</span>
|
</span><span id="fit_t0-93"><a href="#fit_t0-93"><span class="linenos"> 93</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">axhline</span><span class="p">(</span><span class="n">y</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">ls</span><span class="o">=</span><span class="s1">'--'</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'k'</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-92"><a href="#fit_t0-92"><span class="linenos">92</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">fill_between</span><span class="p">(</span><span class="n">xlim</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.0</span><span class="p">,</span> <span class="mf">1.0</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.1</span><span class="p">,</span> <span class="n">facecolor</span><span class="o">=</span><span class="s1">'k'</span><span class="p">)</span>
|
</span><span id="fit_t0-94"><a href="#fit_t0-94"><span class="linenos"> 94</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">fill_between</span><span class="p">(</span><span class="n">xlim</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.0</span><span class="p">,</span> <span class="mf">1.0</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.1</span><span class="p">,</span> <span class="n">facecolor</span><span class="o">=</span><span class="s1">'k'</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-93"><a href="#fit_t0-93"><span class="linenos">93</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">set_xlim</span><span class="p">(</span><span class="n">xlim</span><span class="p">)</span>
|
</span><span id="fit_t0-95"><a href="#fit_t0-95"><span class="linenos"> 95</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">set_xlim</span><span class="p">(</span><span class="n">xlim</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-94"><a href="#fit_t0-94"><span class="linenos">94</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">'Residuals'</span><span class="p">)</span>
|
</span><span id="fit_t0-96"><a href="#fit_t0-96"><span class="linenos"> 96</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">'Residuals'</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-95"><a href="#fit_t0-95"><span class="linenos">95</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$t/a^2$'</span><span class="p">)</span>
|
</span><span id="fit_t0-97"><a href="#fit_t0-97"><span class="linenos"> 97</span></a> <span class="n">ax1</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$t/a^2$'</span><span class="p">)</span>
|
||||||
</span><span id="fit_t0-96"><a href="#fit_t0-96"><span class="linenos">96</span></a>
|
</span><span id="fit_t0-98"><a href="#fit_t0-98"><span class="linenos"> 98</span></a>
|
||||||
</span><span id="fit_t0-97"><a href="#fit_t0-97"><span class="linenos">97</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
|
</span><span id="fit_t0-99"><a href="#fit_t0-99"><span class="linenos"> 99</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
|
||||||
</span><span id="fit_t0-98"><a href="#fit_t0-98"><span class="linenos">98</span></a> <span class="k">return</span> <span class="o">-</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">/</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
</span><span id="fit_t0-100"><a href="#fit_t0-100"><span class="linenos">100</span></a> <span class="k">return</span> <span class="o">-</span><span class="n">fit_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">/</span> <span class="n">fit_result</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -447,125 +449,125 @@ The root of the data series.</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#read_pbp"></a>
|
<a class="headerlink" href="#read_pbp"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_pbp-101"><a href="#read_pbp-101"><span class="linenos">101</span></a><span class="k">def</span><span class="w"> </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>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="read_pbp-103"><a href="#read_pbp-103"><span class="linenos">103</span></a><span class="k">def</span><span class="w"> </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-102"><a href="#read_pbp-102"><span class="linenos">102</span></a><span class="w"> </span><span class="sd">"""Read pbp format from given folder structure.</span>
|
</span><span id="read_pbp-104"><a href="#read_pbp-104"><span class="linenos">104</span></a><span class="w"> </span><span class="sd">"""Read pbp format from given folder structure.</span>
|
||||||
</span><span id="read_pbp-103"><a href="#read_pbp-103"><span class="linenos">103</span></a>
|
</span><span id="read_pbp-105"><a href="#read_pbp-105"><span class="linenos">105</span></a>
|
||||||
</span><span id="read_pbp-104"><a href="#read_pbp-104"><span class="linenos">104</span></a><span class="sd"> Parameters</span>
|
</span><span id="read_pbp-106"><a href="#read_pbp-106"><span class="linenos">106</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="read_pbp-105"><a href="#read_pbp-105"><span class="linenos">105</span></a><span class="sd"> ----------</span>
|
</span><span id="read_pbp-107"><a href="#read_pbp-107"><span class="linenos">107</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="read_pbp-106"><a href="#read_pbp-106"><span class="linenos">106</span></a><span class="sd"> r_start : list</span>
|
</span><span id="read_pbp-108"><a href="#read_pbp-108"><span class="linenos">108</span></a><span class="sd"> r_start : list</span>
|
||||||
</span><span id="read_pbp-107"><a href="#read_pbp-107"><span class="linenos">107</span></a><span class="sd"> list which contains the first config to be read for each replicum</span>
|
</span><span id="read_pbp-109"><a href="#read_pbp-109"><span class="linenos">109</span></a><span class="sd"> list which contains the first config to be read for each replicum</span>
|
||||||
</span><span id="read_pbp-108"><a href="#read_pbp-108"><span class="linenos">108</span></a><span class="sd"> r_stop : list</span>
|
</span><span id="read_pbp-110"><a href="#read_pbp-110"><span class="linenos">110</span></a><span class="sd"> r_stop : list</span>
|
||||||
</span><span id="read_pbp-109"><a href="#read_pbp-109"><span class="linenos">109</span></a><span class="sd"> list which contains the last config to be read for each replicum</span>
|
</span><span id="read_pbp-111"><a href="#read_pbp-111"><span class="linenos">111</span></a><span class="sd"> list which contains the last config to be read for each replicum</span>
|
||||||
</span><span id="read_pbp-110"><a href="#read_pbp-110"><span class="linenos">110</span></a>
|
</span><span id="read_pbp-112"><a href="#read_pbp-112"><span class="linenos">112</span></a>
|
||||||
</span><span id="read_pbp-111"><a href="#read_pbp-111"><span class="linenos">111</span></a><span class="sd"> Returns</span>
|
</span><span id="read_pbp-113"><a href="#read_pbp-113"><span class="linenos">113</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="read_pbp-112"><a href="#read_pbp-112"><span class="linenos">112</span></a><span class="sd"> -------</span>
|
</span><span id="read_pbp-114"><a href="#read_pbp-114"><span class="linenos">114</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="read_pbp-113"><a href="#read_pbp-113"><span class="linenos">113</span></a><span class="sd"> result : list[Obs]</span>
|
</span><span id="read_pbp-115"><a href="#read_pbp-115"><span class="linenos">115</span></a><span class="sd"> result : list[Obs]</span>
|
||||||
</span><span id="read_pbp-114"><a href="#read_pbp-114"><span class="linenos">114</span></a><span class="sd"> list of observables read</span>
|
</span><span id="read_pbp-116"><a href="#read_pbp-116"><span class="linenos">116</span></a><span class="sd"> list of observables read</span>
|
||||||
</span><span id="read_pbp-115"><a href="#read_pbp-115"><span class="linenos">115</span></a><span class="sd"> """</span>
|
</span><span id="read_pbp-117"><a href="#read_pbp-117"><span class="linenos">117</span></a><span class="sd"> """</span>
|
||||||
</span><span id="read_pbp-116"><a href="#read_pbp-116"><span class="linenos">116</span></a>
|
</span><span id="read_pbp-118"><a href="#read_pbp-118"><span class="linenos">118</span></a>
|
||||||
</span><span id="read_pbp-117"><a href="#read_pbp-117"><span class="linenos">117</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="read_pbp-119"><a href="#read_pbp-119"><span class="linenos">119</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="read_pbp-118"><a href="#read_pbp-118"><span class="linenos">118</span></a> <span class="k">for</span> <span class="p">(</span><span class="n">dirpath</span><span class="p">,</span> <span class="n">dirnames</span><span class="p">,</span> <span class="n">filenames</span><span class="p">)</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
</span><span id="read_pbp-120"><a href="#read_pbp-120"><span class="linenos">120</span></a> <span class="k">for</span> <span class="p">(</span><span class="n">_dirpath</span><span class="p">,</span> <span class="n">_dirnames</span><span class="p">,</span> <span class="n">filenames</span><span class="p">)</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
||||||
</span><span id="read_pbp-119"><a href="#read_pbp-119"><span class="linenos">119</span></a> <span class="n">ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">filenames</span><span class="p">)</span>
|
</span><span id="read_pbp-121"><a href="#read_pbp-121"><span class="linenos">121</span></a> <span class="n">ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">filenames</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-120"><a href="#read_pbp-120"><span class="linenos">120</span></a> <span class="k">break</span>
|
</span><span id="read_pbp-122"><a href="#read_pbp-122"><span class="linenos">122</span></a> <span class="k">break</span>
|
||||||
</span><span id="read_pbp-121"><a href="#read_pbp-121"><span class="linenos">121</span></a>
|
</span><span id="read_pbp-123"><a href="#read_pbp-123"><span class="linenos">123</span></a>
|
||||||
</span><span id="read_pbp-122"><a href="#read_pbp-122"><span class="linenos">122</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">ls</span><span class="p">:</span>
|
</span><span id="read_pbp-124"><a href="#read_pbp-124"><span class="linenos">124</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">ls</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-123"><a href="#read_pbp-123"><span class="linenos">123</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Error, directory not found'</span><span class="p">)</span>
|
</span><span id="read_pbp-125"><a href="#read_pbp-125"><span class="linenos">125</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Error, directory not found'</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-124"><a href="#read_pbp-124"><span class="linenos">124</span></a>
|
</span><span id="read_pbp-126"><a href="#read_pbp-126"><span class="linenos">126</span></a>
|
||||||
</span><span id="read_pbp-125"><a href="#read_pbp-125"><span class="linenos">125</span></a> <span class="c1"># Exclude files with different names</span>
|
</span><span id="read_pbp-127"><a href="#read_pbp-127"><span class="linenos">127</span></a> <span class="c1"># Exclude files with different names</span>
|
||||||
</span><span id="read_pbp-126"><a href="#read_pbp-126"><span class="linenos">126</span></a> <span class="k">for</span> <span class="n">exc</span> <span class="ow">in</span> <span class="n">ls</span><span class="p">:</span>
|
</span><span id="read_pbp-128"><a href="#read_pbp-128"><span class="linenos">128</span></a> <span class="k">for</span> <span class="n">exc</span> <span class="ow">in</span> <span class="n">ls</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-127"><a href="#read_pbp-127"><span class="linenos">127</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">exc</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s1">'*.dat'</span><span class="p">):</span>
|
</span><span id="read_pbp-129"><a href="#read_pbp-129"><span class="linenos">129</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">exc</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s1">'*.dat'</span><span class="p">):</span>
|
||||||
</span><span id="read_pbp-128"><a href="#read_pbp-128"><span class="linenos">128</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">exc</span><span class="p">]))</span>
|
</span><span id="read_pbp-130"><a href="#read_pbp-130"><span class="linenos">130</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">exc</span><span class="p">]))</span>
|
||||||
</span><span id="read_pbp-129"><a href="#read_pbp-129"><span class="linenos">129</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
</span><span id="read_pbp-131"><a href="#read_pbp-131"><span class="linenos">131</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-130"><a href="#read_pbp-130"><span class="linenos">130</span></a> <span class="n">ls</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">re</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="sa">r</span><span class="s1">'\d+'</span><span class="p">,</span> <span class="n">x</span><span class="p">[</span><span class="nb">len</span><span class="p">(</span><span class="n">prefix</span><span class="p">):])[</span><span class="mi">0</span><span class="p">]))</span>
|
</span><span id="read_pbp-132"><a href="#read_pbp-132"><span class="linenos">132</span></a> <span class="n">ls</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">re</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="sa">r</span><span class="s1">'\d+'</span><span class="p">,</span> <span class="n">x</span><span class="p">[</span><span class="nb">len</span><span class="p">(</span><span class="n">prefix</span><span class="p">):])[</span><span class="mi">0</span><span class="p">]))</span>
|
||||||
</span><span id="read_pbp-131"><a href="#read_pbp-131"><span class="linenos">131</span></a> <span class="n">replica</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span>
|
</span><span id="read_pbp-133"><a href="#read_pbp-133"><span class="linenos">133</span></a> <span class="n">replica</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-132"><a href="#read_pbp-132"><span class="linenos">132</span></a>
|
</span><span id="read_pbp-134"><a href="#read_pbp-134"><span class="linenos">134</span></a>
|
||||||
</span><span id="read_pbp-133"><a href="#read_pbp-133"><span class="linenos">133</span></a> <span class="k">if</span> <span class="s1">'r_start'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
</span><span id="read_pbp-135"><a href="#read_pbp-135"><span class="linenos">135</span></a> <span class="k">if</span> <span class="s1">'r_start'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-134"><a href="#read_pbp-134"><span class="linenos">134</span></a> <span class="n">r_start</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'r_start'</span><span class="p">)</span>
|
</span><span id="read_pbp-136"><a href="#read_pbp-136"><span class="linenos">136</span></a> <span class="n">r_start</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'r_start'</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-135"><a href="#read_pbp-135"><span class="linenos">135</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">r_start</span><span class="p">)</span> <span class="o">!=</span> <span class="n">replica</span><span class="p">:</span>
|
</span><span id="read_pbp-137"><a href="#read_pbp-137"><span class="linenos">137</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">r_start</span><span class="p">)</span> <span class="o">!=</span> <span class="n">replica</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-136"><a href="#read_pbp-136"><span class="linenos">136</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'r_start does not match number of replicas'</span><span class="p">)</span>
|
</span><span id="read_pbp-138"><a href="#read_pbp-138"><span class="linenos">138</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'r_start does not match number of replicas'</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-137"><a href="#read_pbp-137"><span class="linenos">137</span></a> <span class="c1"># Adjust Configuration numbering to python index</span>
|
</span><span id="read_pbp-139"><a href="#read_pbp-139"><span class="linenos">139</span></a> <span class="c1"># Adjust Configuration numbering to python index</span>
|
||||||
</span><span id="read_pbp-138"><a href="#read_pbp-138"><span class="linenos">138</span></a> <span class="n">r_start</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span> <span class="o">-</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">o</span> <span class="k">else</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">r_start</span><span class="p">]</span>
|
</span><span id="read_pbp-140"><a href="#read_pbp-140"><span class="linenos">140</span></a> <span class="n">r_start</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span> <span class="o">-</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">o</span> <span class="k">else</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">r_start</span><span class="p">]</span>
|
||||||
</span><span id="read_pbp-139"><a href="#read_pbp-139"><span class="linenos">139</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="read_pbp-141"><a href="#read_pbp-141"><span class="linenos">141</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-140"><a href="#read_pbp-140"><span class="linenos">140</span></a> <span class="n">r_start</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">replica</span>
|
</span><span id="read_pbp-142"><a href="#read_pbp-142"><span class="linenos">142</span></a> <span class="n">r_start</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">replica</span>
|
||||||
</span><span id="read_pbp-141"><a href="#read_pbp-141"><span class="linenos">141</span></a>
|
</span><span id="read_pbp-143"><a href="#read_pbp-143"><span class="linenos">143</span></a>
|
||||||
</span><span id="read_pbp-142"><a href="#read_pbp-142"><span class="linenos">142</span></a> <span class="k">if</span> <span class="s1">'r_stop'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
</span><span id="read_pbp-144"><a href="#read_pbp-144"><span class="linenos">144</span></a> <span class="k">if</span> <span class="s1">'r_stop'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-143"><a href="#read_pbp-143"><span class="linenos">143</span></a> <span class="n">r_stop</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'r_stop'</span><span class="p">)</span>
|
</span><span id="read_pbp-145"><a href="#read_pbp-145"><span class="linenos">145</span></a> <span class="n">r_stop</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'r_stop'</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-144"><a href="#read_pbp-144"><span class="linenos">144</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">r_stop</span><span class="p">)</span> <span class="o">!=</span> <span class="n">replica</span><span class="p">:</span>
|
</span><span id="read_pbp-146"><a href="#read_pbp-146"><span class="linenos">146</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">r_stop</span><span class="p">)</span> <span class="o">!=</span> <span class="n">replica</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-145"><a href="#read_pbp-145"><span class="linenos">145</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'r_stop does not match number of replicas'</span><span class="p">)</span>
|
</span><span id="read_pbp-147"><a href="#read_pbp-147"><span class="linenos">147</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'r_stop does not match number of replicas'</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-146"><a href="#read_pbp-146"><span class="linenos">146</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="read_pbp-148"><a href="#read_pbp-148"><span class="linenos">148</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-147"><a href="#read_pbp-147"><span class="linenos">147</span></a> <span class="n">r_stop</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">replica</span>
|
</span><span id="read_pbp-149"><a href="#read_pbp-149"><span class="linenos">149</span></a> <span class="n">r_stop</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">replica</span>
|
||||||
</span><span id="read_pbp-148"><a href="#read_pbp-148"><span class="linenos">148</span></a>
|
|
||||||
</span><span id="read_pbp-149"><a href="#read_pbp-149"><span class="linenos">149</span></a> <span class="nb">print</span><span class="p">(</span><span class="sa">r</span><span class="s1">'Read <bar</span><span class="si">{psi}</span><span class="s1">\psi> from'</span><span class="p">,</span> <span class="n">prefix</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="s1">','</span><span class="p">,</span> <span class="n">replica</span><span class="p">,</span> <span class="s1">'replica'</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s1">''</span><span class="p">)</span>
|
|
||||||
</span><span id="read_pbp-150"><a href="#read_pbp-150"><span class="linenos">150</span></a>
|
</span><span id="read_pbp-150"><a href="#read_pbp-150"><span class="linenos">150</span></a>
|
||||||
</span><span id="read_pbp-151"><a href="#read_pbp-151"><span class="linenos">151</span></a> <span class="n">print_err</span> <span class="o">=</span> <span class="mi">0</span>
|
</span><span id="read_pbp-151"><a href="#read_pbp-151"><span class="linenos">151</span></a> <span class="nb">print</span><span class="p">(</span><span class="sa">r</span><span class="s1">'Read <bar</span><span class="si">{psi}</span><span class="s1">\psi> from'</span><span class="p">,</span> <span class="n">prefix</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="s1">','</span><span class="p">,</span> <span class="n">replica</span><span class="p">,</span> <span class="s1">'replica'</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s1">''</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-152"><a href="#read_pbp-152"><span class="linenos">152</span></a> <span class="k">if</span> <span class="s1">'print_err'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
</span><span id="read_pbp-152"><a href="#read_pbp-152"><span class="linenos">152</span></a>
|
||||||
</span><span id="read_pbp-153"><a href="#read_pbp-153"><span class="linenos">153</span></a> <span class="n">print_err</span> <span class="o">=</span> <span class="mi">1</span>
|
</span><span id="read_pbp-153"><a href="#read_pbp-153"><span class="linenos">153</span></a> <span class="n">print_err</span> <span class="o">=</span> <span class="mi">0</span>
|
||||||
</span><span id="read_pbp-154"><a href="#read_pbp-154"><span class="linenos">154</span></a> <span class="nb">print</span><span class="p">()</span>
|
</span><span id="read_pbp-154"><a href="#read_pbp-154"><span class="linenos">154</span></a> <span class="k">if</span> <span class="s1">'print_err'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-155"><a href="#read_pbp-155"><span class="linenos">155</span></a>
|
</span><span id="read_pbp-155"><a href="#read_pbp-155"><span class="linenos">155</span></a> <span class="n">print_err</span> <span class="o">=</span> <span class="mi">1</span>
|
||||||
</span><span id="read_pbp-156"><a href="#read_pbp-156"><span class="linenos">156</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="read_pbp-156"><a href="#read_pbp-156"><span class="linenos">156</span></a> <span class="nb">print</span><span class="p">()</span>
|
||||||
</span><span id="read_pbp-157"><a href="#read_pbp-157"><span class="linenos">157</span></a>
|
</span><span id="read_pbp-157"><a href="#read_pbp-157"><span class="linenos">157</span></a>
|
||||||
</span><span id="read_pbp-158"><a href="#read_pbp-158"><span class="linenos">158</span></a> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">replica</span><span class="p">):</span>
|
</span><span id="read_pbp-158"><a href="#read_pbp-158"><span class="linenos">158</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="read_pbp-159"><a href="#read_pbp-159"><span class="linenos">159</span></a> <span class="n">tmp_array</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="read_pbp-159"><a href="#read_pbp-159"><span class="linenos">159</span></a>
|
||||||
</span><span id="read_pbp-160"><a href="#read_pbp-160"><span class="linenos">160</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">ls</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
|
</span><span id="read_pbp-160"><a href="#read_pbp-160"><span class="linenos">160</span></a> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">replica</span><span class="p">):</span>
|
||||||
</span><span id="read_pbp-161"><a href="#read_pbp-161"><span class="linenos">161</span></a>
|
</span><span id="read_pbp-161"><a href="#read_pbp-161"><span class="linenos">161</span></a> <span class="n">tmp_array</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="read_pbp-162"><a href="#read_pbp-162"><span class="linenos">162</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span> <span class="c1"># number of reweighting factors</span>
|
</span><span id="read_pbp-162"><a href="#read_pbp-162"><span class="linenos">162</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">ls</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-163"><a href="#read_pbp-163"><span class="linenos">163</span></a> <span class="k">if</span> <span class="n">rep</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
</span><span id="read_pbp-163"><a href="#read_pbp-163"><span class="linenos">163</span></a>
|
||||||
</span><span id="read_pbp-164"><a href="#read_pbp-164"><span class="linenos">164</span></a> <span class="n">nrw</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
</span><span id="read_pbp-164"><a href="#read_pbp-164"><span class="linenos">164</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span> <span class="c1"># number of reweighting factors</span>
|
||||||
</span><span id="read_pbp-165"><a href="#read_pbp-165"><span class="linenos">165</span></a> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
</span><span id="read_pbp-165"><a href="#read_pbp-165"><span class="linenos">165</span></a> <span class="k">if</span> <span class="n">rep</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-166"><a href="#read_pbp-166"><span class="linenos">166</span></a> <span class="n">deltas</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
</span><span id="read_pbp-166"><a href="#read_pbp-166"><span class="linenos">166</span></a> <span class="n">nrw</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||||||
</span><span id="read_pbp-167"><a href="#read_pbp-167"><span class="linenos">167</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="read_pbp-167"><a href="#read_pbp-167"><span class="linenos">167</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
||||||
</span><span id="read_pbp-168"><a href="#read_pbp-168"><span class="linenos">168</span></a> <span class="k">if</span> <span class="n">nrw</span> <span class="o">!=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]:</span>
|
</span><span id="read_pbp-168"><a href="#read_pbp-168"><span class="linenos">168</span></a> <span class="n">deltas</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||||
</span><span id="read_pbp-169"><a href="#read_pbp-169"><span class="linenos">169</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Error: different number of factors for replicum'</span><span class="p">,</span> <span class="n">rep</span><span class="p">)</span>
|
</span><span id="read_pbp-169"><a href="#read_pbp-169"><span class="linenos">169</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-170"><a href="#read_pbp-170"><span class="linenos">170</span></a>
|
</span><span id="read_pbp-170"><a href="#read_pbp-170"><span class="linenos">170</span></a> <span class="k">if</span> <span class="n">nrw</span> <span class="o">!=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]:</span>
|
||||||
</span><span id="read_pbp-171"><a href="#read_pbp-171"><span class="linenos">171</span></a> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
</span><span id="read_pbp-171"><a href="#read_pbp-171"><span class="linenos">171</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Error: different number of factors for replicum'</span><span class="p">,</span> <span class="n">rep</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-172"><a href="#read_pbp-172"><span class="linenos">172</span></a> <span class="n">tmp_array</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
</span><span id="read_pbp-172"><a href="#read_pbp-172"><span class="linenos">172</span></a>
|
||||||
</span><span id="read_pbp-173"><a href="#read_pbp-173"><span class="linenos">173</span></a>
|
</span><span id="read_pbp-173"><a href="#read_pbp-173"><span class="linenos">173</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
||||||
</span><span id="read_pbp-174"><a href="#read_pbp-174"><span class="linenos">174</span></a> <span class="c1"># This block is necessary for openQCD1.6 ms1 files</span>
|
</span><span id="read_pbp-174"><a href="#read_pbp-174"><span class="linenos">174</span></a> <span class="n">tmp_array</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||||
</span><span id="read_pbp-175"><a href="#read_pbp-175"><span class="linenos">175</span></a> <span class="n">nfct</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="read_pbp-175"><a href="#read_pbp-175"><span class="linenos">175</span></a>
|
||||||
</span><span id="read_pbp-176"><a href="#read_pbp-176"><span class="linenos">176</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
</span><span id="read_pbp-176"><a href="#read_pbp-176"><span class="linenos">176</span></a> <span class="c1"># This block is necessary for openQCD1.6 ms1 files</span>
|
||||||
</span><span id="read_pbp-177"><a href="#read_pbp-177"><span class="linenos">177</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
|
</span><span id="read_pbp-177"><a href="#read_pbp-177"><span class="linenos">177</span></a> <span class="n">nfct</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="read_pbp-178"><a href="#read_pbp-178"><span class="linenos">178</span></a> <span class="n">nfct</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="read_pbp-178"><a href="#read_pbp-178"><span class="linenos">178</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
||||||
</span><span id="read_pbp-179"><a href="#read_pbp-179"><span class="linenos">179</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'nfct: '</span><span class="p">,</span> <span class="n">nfct</span><span class="p">)</span> <span class="c1"># Hasenbusch factor, 1 for rat reweighting</span>
|
</span><span id="read_pbp-179"><a href="#read_pbp-179"><span class="linenos">179</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-180"><a href="#read_pbp-180"><span class="linenos">180</span></a>
|
</span><span id="read_pbp-180"><a href="#read_pbp-180"><span class="linenos">180</span></a> <span class="n">nfct</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="read_pbp-181"><a href="#read_pbp-181"><span class="linenos">181</span></a> <span class="n">nsrc</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="read_pbp-181"><a href="#read_pbp-181"><span class="linenos">181</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'nfct: '</span><span class="p">,</span> <span class="n">nfct</span><span class="p">)</span> <span class="c1"># Hasenbusch factor, 1 for rat reweighting</span>
|
||||||
</span><span id="read_pbp-182"><a href="#read_pbp-182"><span class="linenos">182</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
</span><span id="read_pbp-182"><a href="#read_pbp-182"><span class="linenos">182</span></a>
|
||||||
</span><span id="read_pbp-183"><a href="#read_pbp-183"><span class="linenos">183</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
|
</span><span id="read_pbp-183"><a href="#read_pbp-183"><span class="linenos">183</span></a> <span class="n">nsrc</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="read_pbp-184"><a href="#read_pbp-184"><span class="linenos">184</span></a> <span class="n">nsrc</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="read_pbp-184"><a href="#read_pbp-184"><span class="linenos">184</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
||||||
</span><span id="read_pbp-185"><a href="#read_pbp-185"><span class="linenos">185</span></a>
|
</span><span id="read_pbp-185"><a href="#read_pbp-185"><span class="linenos">185</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-186"><a href="#read_pbp-186"><span class="linenos">186</span></a> <span class="c1"># body</span>
|
</span><span id="read_pbp-186"><a href="#read_pbp-186"><span class="linenos">186</span></a> <span class="n">nsrc</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="read_pbp-187"><a href="#read_pbp-187"><span class="linenos">187</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
|
</span><span id="read_pbp-187"><a href="#read_pbp-187"><span class="linenos">187</span></a>
|
||||||
</span><span id="read_pbp-188"><a href="#read_pbp-188"><span class="linenos">188</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
|
</span><span id="read_pbp-188"><a href="#read_pbp-188"><span class="linenos">188</span></a> <span class="c1"># body</span>
|
||||||
</span><span id="read_pbp-189"><a href="#read_pbp-189"><span class="linenos">189</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">t</span><span class="p">)</span> <span class="o"><</span> <span class="mi">4</span><span class="p">:</span>
|
</span><span id="read_pbp-189"><a href="#read_pbp-189"><span class="linenos">189</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-190"><a href="#read_pbp-190"><span class="linenos">190</span></a> <span class="k">break</span>
|
</span><span id="read_pbp-190"><a href="#read_pbp-190"><span class="linenos">190</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-191"><a href="#read_pbp-191"><span class="linenos">191</span></a> <span class="k">if</span> <span class="n">print_err</span><span class="p">:</span>
|
</span><span id="read_pbp-191"><a href="#read_pbp-191"><span class="linenos">191</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">t</span><span class="p">)</span> <span class="o"><</span> <span class="mi">4</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-192"><a href="#read_pbp-192"><span class="linenos">192</span></a> <span class="n">config_no</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)</span>
|
</span><span id="read_pbp-192"><a href="#read_pbp-192"><span class="linenos">192</span></a> <span class="k">break</span>
|
||||||
</span><span id="read_pbp-193"><a href="#read_pbp-193"><span class="linenos">193</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
</span><span id="read_pbp-193"><a href="#read_pbp-193"><span class="linenos">193</span></a> <span class="k">if</span> <span class="n">print_err</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-194"><a href="#read_pbp-194"><span class="linenos">194</span></a> <span class="n">tmp_nfct</span> <span class="o">=</span> <span class="mf">1.0</span>
|
</span><span id="read_pbp-194"><a href="#read_pbp-194"><span class="linenos">194</span></a> <span class="n">config_no</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'i'</span><span class="p">,</span> <span class="n">t</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-195"><a href="#read_pbp-195"><span class="linenos">195</span></a> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nfct</span><span class="p">[</span><span class="n">i</span><span class="p">]):</span>
|
</span><span id="read_pbp-195"><a href="#read_pbp-195"><span class="linenos">195</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
||||||
</span><span id="read_pbp-196"><a href="#read_pbp-196"><span class="linenos">196</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="n">nsrc</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
|
</span><span id="read_pbp-196"><a href="#read_pbp-196"><span class="linenos">196</span></a> <span class="n">tmp_nfct</span> <span class="o">=</span> <span class="mf">1.0</span>
|
||||||
</span><span id="read_pbp-197"><a href="#read_pbp-197"><span class="linenos">197</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="n">nsrc</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
|
</span><span id="read_pbp-197"><a href="#read_pbp-197"><span class="linenos">197</span></a> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nfct</span><span class="p">[</span><span class="n">i</span><span class="p">]):</span>
|
||||||
</span><span id="read_pbp-198"><a href="#read_pbp-198"><span class="linenos">198</span></a> <span class="n">tmp_rw</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'d'</span> <span class="o">*</span> <span class="n">nsrc</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">t</span><span class="p">)</span>
|
</span><span id="read_pbp-198"><a href="#read_pbp-198"><span class="linenos">198</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="n">nsrc</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
|
||||||
</span><span id="read_pbp-199"><a href="#read_pbp-199"><span class="linenos">199</span></a> <span class="n">tmp_nfct</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">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">tmp_rw</span><span class="p">))</span>
|
</span><span id="read_pbp-199"><a href="#read_pbp-199"><span class="linenos">199</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="n">nsrc</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
|
||||||
</span><span id="read_pbp-200"><a href="#read_pbp-200"><span class="linenos">200</span></a> <span class="k">if</span> <span class="n">print_err</span><span class="p">:</span>
|
</span><span id="read_pbp-200"><a href="#read_pbp-200"><span class="linenos">200</span></a> <span class="n">tmp_rw</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">'d'</span> <span class="o">*</span> <span class="n">nsrc</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">t</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-201"><a href="#read_pbp-201"><span class="linenos">201</span></a> <span class="nb">print</span><span class="p">(</span><span class="n">config_no</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">np</span><span class="o">.</span><span class="n">mean</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">tmp_rw</span><span class="p">)),</span> <span class="n">np</span><span class="o">.</span><span class="n">std</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">tmp_rw</span><span class="p">)))</span>
|
</span><span id="read_pbp-201"><a href="#read_pbp-201"><span class="linenos">201</span></a> <span class="n">tmp_nfct</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">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">tmp_rw</span><span class="p">))</span>
|
||||||
</span><span id="read_pbp-202"><a href="#read_pbp-202"><span class="linenos">202</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'Sources:'</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">tmp_rw</span><span class="p">))</span>
|
</span><span id="read_pbp-202"><a href="#read_pbp-202"><span class="linenos">202</span></a> <span class="k">if</span> <span class="n">print_err</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-203"><a href="#read_pbp-203"><span class="linenos">203</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'Partial factor:'</span><span class="p">,</span> <span class="n">tmp_nfct</span><span class="p">)</span>
|
</span><span id="read_pbp-203"><a href="#read_pbp-203"><span class="linenos">203</span></a> <span class="nb">print</span><span class="p">(</span><span class="n">config_no</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">np</span><span class="o">.</span><span class="n">mean</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">tmp_rw</span><span class="p">)),</span> <span class="n">np</span><span class="o">.</span><span class="n">std</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">tmp_rw</span><span class="p">)))</span>
|
||||||
</span><span id="read_pbp-204"><a href="#read_pbp-204"><span class="linenos">204</span></a> <span class="n">tmp_array</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmp_nfct</span><span class="p">)</span>
|
</span><span id="read_pbp-204"><a href="#read_pbp-204"><span class="linenos">204</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'Sources:'</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">tmp_rw</span><span class="p">))</span>
|
||||||
</span><span id="read_pbp-205"><a href="#read_pbp-205"><span class="linenos">205</span></a>
|
</span><span id="read_pbp-205"><a href="#read_pbp-205"><span class="linenos">205</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'Partial factor:'</span><span class="p">,</span> <span class="n">tmp_nfct</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-206"><a href="#read_pbp-206"><span class="linenos">206</span></a> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
</span><span id="read_pbp-206"><a href="#read_pbp-206"><span class="linenos">206</span></a> <span class="n">tmp_array</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmp_nfct</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-207"><a href="#read_pbp-207"><span class="linenos">207</span></a> <span class="n">deltas</span><span class="p">[</span><span class="n">k</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmp_array</span><span class="p">[</span><span class="n">k</span><span class="p">][</span><span class="n">r_start</span><span class="p">[</span><span class="n">rep</span><span class="p">]:</span><span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">]])</span>
|
</span><span id="read_pbp-207"><a href="#read_pbp-207"><span class="linenos">207</span></a>
|
||||||
</span><span id="read_pbp-208"><a href="#read_pbp-208"><span class="linenos">208</span></a>
|
</span><span id="read_pbp-208"><a href="#read_pbp-208"><span class="linenos">208</span></a> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nrw</span><span class="p">):</span>
|
||||||
</span><span id="read_pbp-209"><a href="#read_pbp-209"><span class="linenos">209</span></a> <span class="n">rep_names</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="read_pbp-209"><a href="#read_pbp-209"><span class="linenos">209</span></a> <span class="n">deltas</span><span class="p">[</span><span class="n">k</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmp_array</span><span class="p">[</span><span class="n">k</span><span class="p">][</span><span class="n">r_start</span><span class="p">[</span><span class="n">rep</span><span class="p">]:</span><span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">]])</span>
|
||||||
</span><span id="read_pbp-210"><a href="#read_pbp-210"><span class="linenos">210</span></a> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">ls</span><span class="p">:</span>
|
</span><span id="read_pbp-210"><a href="#read_pbp-210"><span class="linenos">210</span></a>
|
||||||
</span><span id="read_pbp-211"><a href="#read_pbp-211"><span class="linenos">211</span></a> <span class="n">truncated_entry</span> <span class="o">=</span> <span class="n">entry</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
</span><span id="read_pbp-211"><a href="#read_pbp-211"><span class="linenos">211</span></a> <span class="n">rep_names</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="read_pbp-212"><a href="#read_pbp-212"><span class="linenos">212</span></a> <span class="n">idx</span> <span class="o">=</span> <span class="n">truncated_entry</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s1">'r'</span><span class="p">)</span>
|
</span><span id="read_pbp-212"><a href="#read_pbp-212"><span class="linenos">212</span></a> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">ls</span><span class="p">:</span>
|
||||||
</span><span id="read_pbp-213"><a href="#read_pbp-213"><span class="linenos">213</span></a> <span class="n">rep_names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">truncated_entry</span><span class="p">[:</span><span class="n">idx</span><span class="p">]</span> <span class="o">+</span> <span class="s1">'|'</span> <span class="o">+</span> <span class="n">truncated_entry</span><span class="p">[</span><span class="n">idx</span><span class="p">:])</span>
|
</span><span id="read_pbp-213"><a href="#read_pbp-213"><span class="linenos">213</span></a> <span class="n">truncated_entry</span> <span class="o">=</span> <span class="n">entry</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||||||
</span><span id="read_pbp-214"><a href="#read_pbp-214"><span class="linenos">214</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">','</span><span class="p">,</span> <span class="n">nrw</span><span class="p">,</span> <span class="sa">r</span><span class="s1">'<bar</span><span class="si">{psi}</span><span class="s1">\psi> with'</span><span class="p">,</span> <span class="n">nsrc</span><span class="p">,</span> <span class="s1">'sources'</span><span class="p">)</span>
|
</span><span id="read_pbp-214"><a href="#read_pbp-214"><span class="linenos">214</span></a> <span class="n">idx</span> <span class="o">=</span> <span class="n">truncated_entry</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s1">'r'</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-215"><a href="#read_pbp-215"><span class="linenos">215</span></a> <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="read_pbp-215"><a href="#read_pbp-215"><span class="linenos">215</span></a> <span class="n">rep_names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">truncated_entry</span><span class="p">[:</span><span class="n">idx</span><span class="p">]</span> <span class="o">+</span> <span class="s1">'|'</span> <span class="o">+</span> <span class="n">truncated_entry</span><span class="p">[</span><span class="n">idx</span><span class="p">:])</span>
|
||||||
</span><span id="read_pbp-216"><a href="#read_pbp-216"><span class="linenos">216</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="n">nrw</span><span class="p">):</span>
|
</span><span id="read_pbp-216"><a href="#read_pbp-216"><span class="linenos">216</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">','</span><span class="p">,</span> <span class="n">nrw</span><span class="p">,</span> <span class="sa">r</span><span class="s1">'<bar</span><span class="si">{psi}</span><span class="s1">\psi> with'</span><span class="p">,</span> <span class="n">nsrc</span><span class="p">,</span> <span class="s1">'sources'</span><span class="p">)</span>
|
||||||
</span><span id="read_pbp-217"><a href="#read_pbp-217"><span class="linenos">217</span></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">(</span><span class="n">deltas</span><span class="p">[</span><span class="n">t</span><span class="p">],</span> <span class="n">rep_names</span><span class="p">))</span>
|
</span><span id="read_pbp-217"><a href="#read_pbp-217"><span class="linenos">217</span></a> <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="read_pbp-218"><a href="#read_pbp-218"><span class="linenos">218</span></a>
|
</span><span id="read_pbp-218"><a href="#read_pbp-218"><span class="linenos">218</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="n">nrw</span><span class="p">):</span>
|
||||||
</span><span id="read_pbp-219"><a href="#read_pbp-219"><span class="linenos">219</span></a> <span class="k">return</span> <span class="n">result</span>
|
</span><span id="read_pbp-219"><a href="#read_pbp-219"><span class="linenos">219</span></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">(</span><span class="n">deltas</span><span class="p">[</span><span class="n">t</span><span class="p">],</span> <span class="n">rep_names</span><span class="p">))</span>
|
||||||
|
</span><span id="read_pbp-220"><a href="#read_pbp-220"><span class="linenos">220</span></a>
|
||||||
|
</span><span id="read_pbp-221"><a href="#read_pbp-221"><span class="linenos">221</span></a> <span class="k">return</span> <span class="n">result</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -85,220 +85,222 @@
|
||||||
|
|
||||||
<label class="view-source-button" for="mod-pandas-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="mod-pandas-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">warnings</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">gzip</span>
|
||||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">gzip</span>
|
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">sqlite3</span>
|
||||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">sqlite3</span>
|
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">warnings</span>
|
||||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">contextlib</span><span class="w"> </span><span class="kn">import</span> <span class="n">closing</span>
|
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">contextlib</span><span class="w"> </span><span class="kn">import</span> <span class="n">closing</span>
|
||||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">pandas</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pd</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="kn">from</span><span class="w"> </span><span class="nn">..obs</span><span class="w"> </span><span class="kn">import</span> <span class="n">Obs</span>
|
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
||||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">..correlators</span><span class="w"> </span><span class="kn">import</span> <span class="n">Corr</span>
|
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">pandas</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pd</span>
|
||||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.json</span><span class="w"> </span><span class="kn">import</span> <span class="n">create_json_string</span><span class="p">,</span> <span class="n">import_json_string</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="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">..correlators</span><span class="w"> </span><span class="kn">import</span> <span class="n">Corr</span>
|
||||||
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a>
|
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">..obs</span><span class="w"> </span><span class="kn">import</span> <span class="n">Obs</span>
|
||||||
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a>
|
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.json</span><span class="w"> </span><span class="kn">import</span> <span class="n">create_json_string</span><span class="p">,</span> <span class="n">import_json_string</span>
|
||||||
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a><span class="k">def</span><span class="w"> </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">'fail'</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-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="w"> </span><span class="sd">"""Write DataFrame including Obs or Corr valued columns to sqlite database.</span>
|
</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-14"><a href="#L-14"><span class="linenos"> 14</span></a><span class="k">def</span><span class="w"> </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">'fail'</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-15"><a href="#L-15"><span class="linenos"> 15</span></a><span class="sd"> Parameters</span>
|
</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a><span class="w"> </span><span class="sd">"""Write DataFrame including Obs or Corr valued columns to sqlite database.</span>
|
||||||
</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a><span class="sd"> ----------</span>
|
</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="sd"> df : pandas.DataFrame</span>
|
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a><span class="sd"> Dataframe to be written to the database.</span>
|
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a><span class="sd"> table_name : str</span>
|
</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a><span class="sd"> df : pandas.DataFrame</span>
|
||||||
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a><span class="sd"> Name of the table in the database.</span>
|
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a><span class="sd"> Dataframe to be written to the database.</span>
|
||||||
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a><span class="sd"> db : str</span>
|
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a><span class="sd"> table_name : str</span>
|
||||||
</span><span id="L-22"><a href="#L-22"><span class="linenos"> 22</span></a><span class="sd"> Path to the sqlite database.</span>
|
</span><span id="L-22"><a href="#L-22"><span class="linenos"> 22</span></a><span class="sd"> Name of the table in the database.</span>
|
||||||
</span><span id="L-23"><a href="#L-23"><span class="linenos"> 23</span></a><span class="sd"> if exists : str</span>
|
</span><span id="L-23"><a href="#L-23"><span class="linenos"> 23</span></a><span class="sd"> db : str</span>
|
||||||
</span><span id="L-24"><a href="#L-24"><span class="linenos"> 24</span></a><span class="sd"> How to behave if table already exists. Options 'fail', 'replace', 'append'.</span>
|
</span><span id="L-24"><a href="#L-24"><span class="linenos"> 24</span></a><span class="sd"> Path to the sqlite database.</span>
|
||||||
</span><span id="L-25"><a href="#L-25"><span class="linenos"> 25</span></a><span class="sd"> gz : bool</span>
|
</span><span id="L-25"><a href="#L-25"><span class="linenos"> 25</span></a><span class="sd"> if exists : str</span>
|
||||||
</span><span id="L-26"><a href="#L-26"><span class="linenos"> 26</span></a><span class="sd"> If True the json strings are gzipped.</span>
|
</span><span id="L-26"><a href="#L-26"><span class="linenos"> 26</span></a><span class="sd"> How to behave if table already exists. Options 'fail', 'replace', 'append'.</span>
|
||||||
</span><span id="L-27"><a href="#L-27"><span class="linenos"> 27</span></a>
|
</span><span id="L-27"><a href="#L-27"><span class="linenos"> 27</span></a><span class="sd"> gz : bool</span>
|
||||||
</span><span id="L-28"><a href="#L-28"><span class="linenos"> 28</span></a><span class="sd"> Returns</span>
|
</span><span id="L-28"><a href="#L-28"><span class="linenos"> 28</span></a><span class="sd"> If True the json strings are gzipped.</span>
|
||||||
</span><span id="L-29"><a href="#L-29"><span class="linenos"> 29</span></a><span class="sd"> -------</span>
|
</span><span id="L-29"><a href="#L-29"><span class="linenos"> 29</span></a>
|
||||||
</span><span id="L-30"><a href="#L-30"><span class="linenos"> 30</span></a><span class="sd"> None</span>
|
</span><span id="L-30"><a href="#L-30"><span class="linenos"> 30</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-31"><a href="#L-31"><span class="linenos"> 31</span></a><span class="sd"> """</span>
|
</span><span id="L-31"><a href="#L-31"><span class="linenos"> 31</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-32"><a href="#L-32"><span class="linenos"> 32</span></a> <span class="n">se_df</span> <span class="o">=</span> <span class="n">_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="n">gz</span><span class="p">)</span>
|
</span><span id="L-32"><a href="#L-32"><span class="linenos"> 32</span></a><span class="sd"> None</span>
|
||||||
</span><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a> <span class="k">with</span> <span class="n">closing</span><span class="p">(</span><span class="n">sqlite3</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">db</span><span class="p">))</span> <span class="k">as</span> <span class="n">con</span><span class="p">:</span>
|
</span><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-34"><a href="#L-34"><span class="linenos"> 34</span></a> <span class="n">se_df</span><span class="o">.</span><span class="n">to_sql</span><span class="p">(</span><span class="n">table_name</span><span class="p">,</span> <span class="n">con</span><span class="o">=</span><span class="n">con</span><span class="p">,</span> <span class="n">if_exists</span><span class="o">=</span><span class="n">if_exists</span><span class="p">,</span> <span class="n">index</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-34"><a href="#L-34"><span class="linenos"> 34</span></a> <span class="n">se_df</span> <span class="o">=</span> <span class="n">_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="n">gz</span><span class="p">)</span>
|
||||||
</span><span id="L-35"><a href="#L-35"><span class="linenos"> 35</span></a>
|
</span><span id="L-35"><a href="#L-35"><span class="linenos"> 35</span></a> <span class="k">with</span> <span class="n">closing</span><span class="p">(</span><span class="n">sqlite3</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">db</span><span class="p">))</span> <span class="k">as</span> <span class="n">con</span><span class="p">:</span>
|
||||||
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a>
|
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a> <span class="n">se_df</span><span class="o">.</span><span class="n">to_sql</span><span class="p">(</span><span class="n">table_name</span><span class="p">,</span> <span class="n">con</span><span class="o">=</span><span class="n">con</span><span class="p">,</span> <span class="n">if_exists</span><span class="o">=</span><span class="n">if_exists</span><span class="p">,</span> <span class="n">index</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-37"><a href="#L-37"><span class="linenos"> 37</span></a><span class="k">def</span><span class="w"> </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-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="w"> </span><span class="sd">"""Execute SQL query on sqlite database and obtain DataFrame including Obs or Corr valued columns.</span>
|
</span><span id="L-38"><a href="#L-38"><span class="linenos"> 38</span></a>
|
||||||
</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a>
|
</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a><span class="k">def</span><span class="w"> </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-40"><a href="#L-40"><span class="linenos"> 40</span></a><span class="sd"> Parameters</span>
|
</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a><span class="w"> </span><span class="sd">"""Execute SQL query on sqlite database and obtain DataFrame including Obs or Corr valued columns.</span>
|
||||||
</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a><span class="sd"> ----------</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="sd"> sql : str</span>
|
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a><span class="sd"> SQL query to be executed.</span>
|
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a><span class="sd"> db : str</span>
|
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a><span class="sd"> sql : str</span>
|
||||||
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a><span class="sd"> Path to the sqlite database.</span>
|
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a><span class="sd"> SQL query to be executed.</span>
|
||||||
</span><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a><span class="sd"> auto_gamma : bool</span>
|
</span><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a><span class="sd"> db : str</span>
|
||||||
</span><span id="L-47"><a href="#L-47"><span class="linenos"> 47</span></a><span class="sd"> If True applies the gamma_method to all imported Obs objects with the default parameters for</span>
|
</span><span id="L-47"><a href="#L-47"><span class="linenos"> 47</span></a><span class="sd"> Path to the sqlite database.</span>
|
||||||
</span><span id="L-48"><a href="#L-48"><span class="linenos"> 48</span></a><span class="sd"> the error analysis. Default False.</span>
|
</span><span id="L-48"><a href="#L-48"><span class="linenos"> 48</span></a><span class="sd"> auto_gamma : bool</span>
|
||||||
</span><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a>
|
</span><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a><span class="sd"> If True applies the gamma_method to all imported Obs objects with the default parameters for</span>
|
||||||
</span><span id="L-50"><a href="#L-50"><span class="linenos"> 50</span></a><span class="sd"> Returns</span>
|
</span><span id="L-50"><a href="#L-50"><span class="linenos"> 50</span></a><span class="sd"> the error analysis. Default False.</span>
|
||||||
</span><span id="L-51"><a href="#L-51"><span class="linenos"> 51</span></a><span class="sd"> -------</span>
|
</span><span id="L-51"><a href="#L-51"><span class="linenos"> 51</span></a>
|
||||||
</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a><span class="sd"> data : pandas.DataFrame</span>
|
</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a><span class="sd"> Dataframe with the content of the sqlite database.</span>
|
</span><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a><span class="sd"> """</span>
|
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a><span class="sd"> data : pandas.DataFrame</span>
|
||||||
</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a> <span class="k">with</span> <span class="n">closing</span><span class="p">(</span><span class="n">sqlite3</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">db</span><span class="p">))</span> <span class="k">as</span> <span class="n">con</span><span class="p">:</span>
|
</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a><span class="sd"> Dataframe with the content of the sqlite database.</span>
|
||||||
</span><span id="L-56"><a href="#L-56"><span class="linenos"> 56</span></a> <span class="n">extract_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_sql</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">con</span><span class="o">=</span><span class="n">con</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
</span><span id="L-56"><a href="#L-56"><span class="linenos"> 56</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-57"><a href="#L-57"><span class="linenos"> 57</span></a> <span class="k">return</span> <span class="n">_deserialize_df</span><span class="p">(</span><span class="n">extract_df</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="n">auto_gamma</span><span class="p">)</span>
|
</span><span id="L-57"><a href="#L-57"><span class="linenos"> 57</span></a> <span class="k">with</span> <span class="n">closing</span><span class="p">(</span><span class="n">sqlite3</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">db</span><span class="p">))</span> <span class="k">as</span> <span class="n">con</span><span class="p">:</span>
|
||||||
</span><span id="L-58"><a href="#L-58"><span class="linenos"> 58</span></a>
|
</span><span id="L-58"><a href="#L-58"><span class="linenos"> 58</span></a> <span class="n">extract_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_sql</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">con</span><span class="o">=</span><span class="n">con</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||||
</span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a>
|
</span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a> <span class="k">return</span> <span class="n">_deserialize_df</span><span class="p">(</span><span class="n">extract_df</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="n">auto_gamma</span><span class="p">)</span>
|
||||||
</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a><span class="k">def</span><span class="w"> </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-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 class="w"> </span><span class="sd">"""Exports a pandas DataFrame containing Obs valued columns to a (gzipped) csv file.</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><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a><span class="k">def</span><span class="w"> </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-63"><a href="#L-63"><span class="linenos"> 63</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-63"><a href="#L-63"><span class="linenos"> 63</span></a><span class="w"> </span><span class="sd">"""Exports a pandas DataFrame containing Obs valued columns to a (gzipped) csv file.</span>
|
||||||
</span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a><span class="sd"> json format of pyerrors.</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><span id="L-65"><a href="#L-65"><span class="linenos"> 65</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-66"><a href="#L-66"><span class="linenos"> 66</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"> json format of pyerrors.</span>
|
||||||
</span><span id="L-67"><a href="#L-67"><span class="linenos"> 67</span></a><span class="sd"> ----------</span>
|
</span><span id="L-67"><a href="#L-67"><span class="linenos"> 67</span></a>
|
||||||
</span><span id="L-68"><a href="#L-68"><span class="linenos"> 68</span></a><span class="sd"> df : pandas.DataFrame</span>
|
</span><span id="L-68"><a href="#L-68"><span class="linenos"> 68</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a><span class="sd"> Dataframe to be dumped to a file.</span>
|
</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a><span class="sd"> fname : str</span>
|
</span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a><span class="sd"> df : pandas.DataFrame</span>
|
||||||
</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a><span class="sd"> Filename of the output file.</span>
|
</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a><span class="sd"> Dataframe to be dumped to a file.</span>
|
||||||
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a><span class="sd"> gz : bool</span>
|
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a><span class="sd"> fname : str</span>
|
||||||
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a><span class="sd"> If True, the output is a gzipped csv file. If False, the output is a csv file.</span>
|
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a><span class="sd"> Filename of the output file.</span>
|
||||||
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a>
|
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a><span class="sd"> gz : bool</span>
|
||||||
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a><span class="sd"> Returns</span>
|
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a><span class="sd"> If True, the output is a gzipped csv file. If False, the output is a csv file.</span>
|
||||||
</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a><span class="sd"> -------</span>
|
</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a>
|
||||||
</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a><span class="sd"> None</span>
|
</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a><span class="sd"> """</span>
|
</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">df</span><span class="p">:</span>
|
</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a><span class="sd"> None</span>
|
||||||
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="n">serialize</span> <span class="o">=</span> <span class="n">_need_to_serialize</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">])</span>
|
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">serialize</span><span class="p">:</span>
|
</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">df</span><span class="p">:</span>
|
||||||
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <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">entry</span><span class="p">,</span> <span class="p">(</span><span class="nb">int</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">integer</span><span class="p">,</span> <span class="nb">float</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">floating</span><span class="p">))</span> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]):</span>
|
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="n">serialize</span> <span class="o">=</span> <span class="n">_need_to_serialize</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">])</span>
|
||||||
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a> <span class="k">if</span> <span class="nb">any</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">isnan</span><span class="p">(</span><span class="n">entry</span><span class="p">)</span> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]]):</span>
|
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">serialize</span><span class="p">:</span>
|
||||||
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">"nan value in column "</span> <span class="o">+</span> <span class="n">column</span> <span class="o">+</span> <span class="s2">" will be replaced by None"</span><span class="p">,</span> <span class="ne">UserWarning</span><span class="p">)</span>
|
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a> <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">entry</span><span class="p">,</span> <span class="p">(</span><span class="nb">int</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">integer</span><span class="p">,</span> <span class="nb">float</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">floating</span><span class="p">))</span> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]):</span>
|
||||||
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a>
|
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a> <span class="k">if</span> <span class="nb">any</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">isnan</span><span class="p">(</span><span class="n">entry</span><span class="p">)</span> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]]):</span>
|
||||||
</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a> <span class="n">out</span> <span class="o">=</span> <span class="n">_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-86"><a href="#L-86"><span class="linenos"> 86</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">"nan value in column "</span> <span class="o">+</span> <span class="n">column</span> <span class="o">+</span> <span class="s2">" will be replaced by None"</span><span class="p">,</span> <span class="ne">UserWarning</span><span class="p">,</span> <span class="n">stacklevel</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
|
||||||
</span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</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">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.csv'</span><span class="p">):</span>
|
</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a> <span class="n">out</span> <span class="o">=</span> <span class="n">_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-89"><a href="#L-89"><span class="linenos"> 89</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.csv'</span>
|
</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a>
|
||||||
</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a>
|
</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.csv'</span><span class="p">):</span>
|
||||||
</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a> <span class="k">if</span> <span class="n">gz</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.csv'</span>
|
||||||
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a>
|
||||||
</span><span id="L-93"><a href="#L-93"><span class="linenos"> 93</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.gz'</span>
|
</span><span id="L-93"><a href="#L-93"><span class="linenos"> 93</span></a> <span class="k">if</span> <span class="n">gz</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||||
</span><span id="L-94"><a href="#L-94"><span class="linenos"> 94</span></a> <span class="n">out</span><span class="o">.</span><span class="n">to_csv</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">compression</span><span class="o">=</span><span class="s1">'gzip'</span><span class="p">)</span>
|
</span><span id="L-94"><a href="#L-94"><span class="linenos"> 94</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||||
</span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.gz'</span>
|
||||||
</span><span id="L-96"><a href="#L-96"><span class="linenos"> 96</span></a> <span class="n">out</span><span class="o">.</span><span class="n">to_csv</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
</span><span id="L-96"><a href="#L-96"><span class="linenos"> 96</span></a> <span class="n">out</span><span class="o">.</span><span class="n">to_csv</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">compression</span><span class="o">=</span><span class="s1">'gzip'</span><span class="p">)</span>
|
||||||
</span><span id="L-97"><a href="#L-97"><span class="linenos"> 97</span></a>
|
</span><span id="L-97"><a href="#L-97"><span class="linenos"> 97</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-98"><a href="#L-98"><span class="linenos"> 98</span></a>
|
</span><span id="L-98"><a href="#L-98"><span class="linenos"> 98</span></a> <span class="n">out</span><span class="o">.</span><span class="n">to_csv</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
||||||
</span><span id="L-99"><a href="#L-99"><span class="linenos"> 99</span></a><span class="k">def</span><span class="w"> </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-99"><a href="#L-99"><span class="linenos"> 99</span></a>
|
||||||
</span><span id="L-100"><a href="#L-100"><span class="linenos">100</span></a><span class="w"> </span><span class="sd">"""Imports a pandas DataFrame from a csv.(gz) file in which Obs objects are serialized as json strings.</span>
|
</span><span id="L-100"><a href="#L-100"><span class="linenos">100</span></a>
|
||||||
</span><span id="L-101"><a href="#L-101"><span class="linenos">101</span></a>
|
</span><span id="L-101"><a href="#L-101"><span class="linenos">101</span></a><span class="k">def</span><span class="w"> </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-102"><a href="#L-102"><span class="linenos">102</span></a><span class="sd"> Parameters</span>
|
</span><span id="L-102"><a href="#L-102"><span class="linenos">102</span></a><span class="w"> </span><span class="sd">"""Imports a pandas DataFrame from a csv.(gz) file in which Obs objects are serialized as json strings.</span>
|
||||||
</span><span id="L-103"><a href="#L-103"><span class="linenos">103</span></a><span class="sd"> ----------</span>
|
</span><span id="L-103"><a href="#L-103"><span class="linenos">103</span></a>
|
||||||
</span><span id="L-104"><a href="#L-104"><span class="linenos">104</span></a><span class="sd"> fname : str</span>
|
</span><span id="L-104"><a href="#L-104"><span class="linenos">104</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a><span class="sd"> Filename of the input file.</span>
|
</span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a><span class="sd"> auto_gamma : bool</span>
|
</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a><span class="sd"> fname : str</span>
|
||||||
</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a><span class="sd"> If True applies the gamma_method to all imported Obs objects with the default parameters for</span>
|
</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a><span class="sd"> Filename of the input file.</span>
|
||||||
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a><span class="sd"> the error analysis. Default False.</span>
|
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a><span class="sd"> auto_gamma : bool</span>
|
||||||
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a><span class="sd"> gz : bool</span>
|
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a><span class="sd"> If True applies the gamma_method to all imported Obs objects with the default parameters for</span>
|
||||||
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a><span class="sd"> If True, assumes that data is gzipped. If False, assumes JSON file.</span>
|
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a><span class="sd"> the error analysis. Default False.</span>
|
||||||
</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a>
|
</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a><span class="sd"> gz : bool</span>
|
||||||
</span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a><span class="sd"> Returns</span>
|
</span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a><span class="sd"> If True, assumes that data is gzipped. If False, assumes JSON file.</span>
|
||||||
</span><span id="L-113"><a href="#L-113"><span class="linenos">113</span></a><span class="sd"> -------</span>
|
</span><span id="L-113"><a href="#L-113"><span class="linenos">113</span></a>
|
||||||
</span><span id="L-114"><a href="#L-114"><span class="linenos">114</span></a><span class="sd"> data : pandas.DataFrame</span>
|
</span><span id="L-114"><a href="#L-114"><span class="linenos">114</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-115"><a href="#L-115"><span class="linenos">115</span></a><span class="sd"> Dataframe with the content of the sqlite database.</span>
|
</span><span id="L-115"><a href="#L-115"><span class="linenos">115</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-116"><a href="#L-116"><span class="linenos">116</span></a><span class="sd"> """</span>
|
</span><span id="L-116"><a href="#L-116"><span class="linenos">116</span></a><span class="sd"> data : pandas.DataFrame</span>
|
||||||
</span><span id="L-117"><a href="#L-117"><span class="linenos">117</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.csv'</span><span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
</span><span id="L-117"><a href="#L-117"><span class="linenos">117</span></a><span class="sd"> Dataframe with the content of the sqlite database.</span>
|
||||||
</span><span id="L-118"><a href="#L-118"><span class="linenos">118</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.csv'</span>
|
</span><span id="L-118"><a href="#L-118"><span class="linenos">118</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-119"><a href="#L-119"><span class="linenos">119</span></a>
|
</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="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.csv'</span><span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</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="n">gz</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.csv'</span>
|
||||||
</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</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="n">fname</span> <span class="o">+=</span> <span class="s1">'.gz'</span>
|
</span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a> <span class="k">if</span> <span class="n">gz</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||||
</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a> <span class="k">with</span> <span class="n">gzip</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">fname</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
|
</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||||
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="n">re_import</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">keep_default_na</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.gz'</span>
|
||||||
</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a> <span class="k">with</span> <span class="n">gzip</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">fname</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
|
||||||
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a> <span class="k">if</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a> <span class="n">re_import</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">keep_default_na</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
||||||
</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">"Trying to read from </span><span class="si">%s</span><span class="s2"> without unzipping!"</span> <span class="o">%</span> <span class="n">fname</span><span class="p">,</span> <span class="ne">UserWarning</span><span class="p">)</span>
|
</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a> <span class="n">re_import</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">keep_default_na</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="k">if</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||||
</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a>
|
</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Trying to read from </span><span class="si">{</span><span class="n">fname</span><span class="si">}</span><span class="s2"> without unzipping!"</span><span class="p">,</span> <span class="ne">UserWarning</span><span class="p">,</span> <span class="n">stacklevel</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
|
||||||
</span><span id="L-130"><a href="#L-130"><span class="linenos">130</span></a> <span class="k">return</span> <span class="n">_deserialize_df</span><span class="p">(</span><span class="n">re_import</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="n">auto_gamma</span><span class="p">)</span>
|
</span><span id="L-130"><a href="#L-130"><span class="linenos">130</span></a> <span class="n">re_import</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">keep_default_na</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
||||||
</span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a>
|
</span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a>
|
||||||
</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a>
|
</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="k">return</span> <span class="n">_deserialize_df</span><span class="p">(</span><span class="n">re_import</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="n">auto_gamma</span><span class="p">)</span>
|
||||||
</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a><span class="k">def</span><span class="w"> </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-133"><a href="#L-133"><span class="linenos">133</span></a>
|
||||||
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a><span class="w"> </span><span class="sd">"""Serializes all Obs or Corr valued columns into json strings according to the pyerrors json specification.</span>
|
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a>
|
||||||
</span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a>
|
</span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a><span class="k">def</span><span class="w"> </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-136"><a href="#L-136"><span class="linenos">136</span></a><span class="sd"> Parameters</span>
|
</span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a><span class="w"> </span><span class="sd">"""Serializes all Obs or Corr valued columns into json strings according to the pyerrors json specification.</span>
|
||||||
</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a><span class="sd"> ----------</span>
|
</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a>
|
||||||
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a><span class="sd"> df : pandas.DataFrame</span>
|
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a><span class="sd"> DataFrame to be serilized.</span>
|
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a><span class="sd"> gz: bool</span>
|
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a><span class="sd"> df : pandas.DataFrame</span>
|
||||||
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a><span class="sd"> gzip the json string representation. Default False.</span>
|
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a><span class="sd"> DataFrame to be serilized.</span>
|
||||||
</span><span id="L-142"><a href="#L-142"><span class="linenos">142</span></a><span class="sd"> """</span>
|
</span><span id="L-142"><a href="#L-142"><span class="linenos">142</span></a><span class="sd"> gz: bool</span>
|
||||||
</span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a> <span class="n">out</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
|
</span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a><span class="sd"> gzip the json string representation. Default False.</span>
|
||||||
</span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">out</span><span class="p">:</span>
|
</span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-145"><a href="#L-145"><span class="linenos">145</span></a> <span class="n">serialize</span> <span class="o">=</span> <span class="n">_need_to_serialize</span><span class="p">(</span><span class="n">out</span><span class="p">[</span><span class="n">column</span><span class="p">])</span>
|
</span><span id="L-145"><a href="#L-145"><span class="linenos">145</span></a> <span class="n">out</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
|
||||||
</span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a>
|
</span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">out</span><span class="p">:</span>
|
||||||
</span><span id="L-147"><a href="#L-147"><span class="linenos">147</span></a> <span class="k">if</span> <span class="n">serialize</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
</span><span id="L-147"><a href="#L-147"><span class="linenos">147</span></a> <span class="n">serialize</span> <span class="o">=</span> <span class="n">_need_to_serialize</span><span class="p">(</span><span class="n">out</span><span class="p">[</span><span class="n">column</span><span class="p">])</span>
|
||||||
</span><span id="L-148"><a href="#L-148"><span class="linenos">148</span></a> <span class="n">out</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">out</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">create_json_string</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">_is_null</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">else</span> <span class="kc">None</span><span class="p">)</span>
|
</span><span id="L-148"><a href="#L-148"><span class="linenos">148</span></a>
|
||||||
</span><span id="L-149"><a href="#L-149"><span class="linenos">149</span></a> <span class="k">if</span> <span class="n">gz</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
</span><span id="L-149"><a href="#L-149"><span class="linenos">149</span></a> <span class="k">if</span> <span class="n">serialize</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||||
</span><span id="L-150"><a href="#L-150"><span class="linenos">150</span></a> <span class="n">out</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">out</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">gzip</span><span class="o">.</span><span class="n">compress</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">'utf-8'</span><span class="p">))</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">_is_null</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">else</span> <span class="n">gzip</span><span class="o">.</span><span class="n">compress</span><span class="p">(</span><span class="sa">b</span><span class="s1">''</span><span class="p">))</span>
|
</span><span id="L-150"><a href="#L-150"><span class="linenos">150</span></a> <span class="n">out</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">out</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">create_json_string</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">_is_null</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">else</span> <span class="kc">None</span><span class="p">)</span>
|
||||||
</span><span id="L-151"><a href="#L-151"><span class="linenos">151</span></a> <span class="k">return</span> <span class="n">out</span>
|
</span><span id="L-151"><a href="#L-151"><span class="linenos">151</span></a> <span class="k">if</span> <span class="n">gz</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||||
</span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a>
|
</span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a> <span class="n">out</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">out</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">gzip</span><span class="o">.</span><span class="n">compress</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">'utf-8'</span><span class="p">))</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">_is_null</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">else</span> <span class="n">gzip</span><span class="o">.</span><span class="n">compress</span><span class="p">(</span><span class="sa">b</span><span class="s1">''</span><span class="p">))</span>
|
||||||
</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a>
|
</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a> <span class="k">return</span> <span class="n">out</span>
|
||||||
</span><span id="L-154"><a href="#L-154"><span class="linenos">154</span></a><span class="k">def</span><span class="w"> </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-154"><a href="#L-154"><span class="linenos">154</span></a>
|
||||||
</span><span id="L-155"><a href="#L-155"><span class="linenos">155</span></a><span class="w"> </span><span class="sd">"""Deserializes all pyerrors json strings into Obs or Corr objects according to the pyerrors json specification.</span>
|
</span><span id="L-155"><a href="#L-155"><span class="linenos">155</span></a>
|
||||||
</span><span id="L-156"><a href="#L-156"><span class="linenos">156</span></a>
|
</span><span id="L-156"><a href="#L-156"><span class="linenos">156</span></a><span class="k">def</span><span class="w"> </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-157"><a href="#L-157"><span class="linenos">157</span></a><span class="sd"> Parameters</span>
|
</span><span id="L-157"><a href="#L-157"><span class="linenos">157</span></a><span class="w"> </span><span class="sd">"""Deserializes all pyerrors json strings into Obs or Corr objects according to the pyerrors json specification.</span>
|
||||||
</span><span id="L-158"><a href="#L-158"><span class="linenos">158</span></a><span class="sd"> ----------</span>
|
</span><span id="L-158"><a href="#L-158"><span class="linenos">158</span></a>
|
||||||
</span><span id="L-159"><a href="#L-159"><span class="linenos">159</span></a><span class="sd"> df : pandas.DataFrame</span>
|
</span><span id="L-159"><a href="#L-159"><span class="linenos">159</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-160"><a href="#L-160"><span class="linenos">160</span></a><span class="sd"> DataFrame to be deserilized.</span>
|
</span><span id="L-160"><a href="#L-160"><span class="linenos">160</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-161"><a href="#L-161"><span class="linenos">161</span></a><span class="sd"> auto_gamma : bool</span>
|
</span><span id="L-161"><a href="#L-161"><span class="linenos">161</span></a><span class="sd"> df : pandas.DataFrame</span>
|
||||||
</span><span id="L-162"><a href="#L-162"><span class="linenos">162</span></a><span class="sd"> If True applies the gamma_method to all imported Obs objects with the default parameters for</span>
|
</span><span id="L-162"><a href="#L-162"><span class="linenos">162</span></a><span class="sd"> DataFrame to be deserilized.</span>
|
||||||
</span><span id="L-163"><a href="#L-163"><span class="linenos">163</span></a><span class="sd"> the error analysis. Default False.</span>
|
</span><span id="L-163"><a href="#L-163"><span class="linenos">163</span></a><span class="sd"> auto_gamma : bool</span>
|
||||||
</span><span id="L-164"><a href="#L-164"><span class="linenos">164</span></a>
|
</span><span id="L-164"><a href="#L-164"><span class="linenos">164</span></a><span class="sd"> If True applies the gamma_method to all imported Obs objects with the default parameters for</span>
|
||||||
</span><span id="L-165"><a href="#L-165"><span class="linenos">165</span></a><span class="sd"> Notes:</span>
|
</span><span id="L-165"><a href="#L-165"><span class="linenos">165</span></a><span class="sd"> the error analysis. Default False.</span>
|
||||||
</span><span id="L-166"><a href="#L-166"><span class="linenos">166</span></a><span class="sd"> ------</span>
|
</span><span id="L-166"><a href="#L-166"><span class="linenos">166</span></a>
|
||||||
</span><span id="L-167"><a href="#L-167"><span class="linenos">167</span></a><span class="sd"> In case any column of the DataFrame is gzipped it is gunzipped in the process.</span>
|
</span><span id="L-167"><a href="#L-167"><span class="linenos">167</span></a><span class="sd"> Notes:</span>
|
||||||
</span><span id="L-168"><a href="#L-168"><span class="linenos">168</span></a><span class="sd"> """</span>
|
</span><span id="L-168"><a href="#L-168"><span class="linenos">168</span></a><span class="sd"> ------</span>
|
||||||
</span><span id="L-169"><a href="#L-169"><span class="linenos">169</span></a> <span class="c1"># In pandas 3+, string columns use 'str' dtype instead of 'object'</span>
|
</span><span id="L-169"><a href="#L-169"><span class="linenos">169</span></a><span class="sd"> In case any column of the DataFrame is gzipped it is gunzipped in the process.</span>
|
||||||
</span><span id="L-170"><a href="#L-170"><span class="linenos">170</span></a> <span class="n">string_like_dtypes</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"object"</span><span class="p">,</span> <span class="s2">"str"</span><span class="p">]</span> <span class="k">if</span> <span class="nb">int</span><span class="p">(</span><span class="n">pd</span><span class="o">.</span><span class="n">__version__</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"."</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span> <span class="o">>=</span> <span class="mi">3</span> <span class="k">else</span> <span class="p">[</span><span class="s2">"object"</span><span class="p">]</span>
|
</span><span id="L-170"><a href="#L-170"><span class="linenos">170</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-171"><a href="#L-171"><span class="linenos">171</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">df</span><span class="o">.</span><span class="n">select_dtypes</span><span class="p">(</span><span class="n">include</span><span class="o">=</span><span class="n">string_like_dtypes</span><span class="p">):</span>
|
</span><span id="L-171"><a href="#L-171"><span class="linenos">171</span></a> <span class="c1"># In pandas 3+, string columns use 'str' dtype instead of 'object'</span>
|
||||||
</span><span id="L-172"><a href="#L-172"><span class="linenos">172</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">])</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
</span><span id="L-172"><a href="#L-172"><span class="linenos">172</span></a> <span class="n">string_like_dtypes</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"object"</span><span class="p">,</span> <span class="s2">"str"</span><span class="p">]</span> <span class="k">if</span> <span class="nb">int</span><span class="p">(</span><span class="n">pd</span><span class="o">.</span><span class="n">__version__</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"."</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span> <span class="o">>=</span> <span class="mi">3</span> <span class="k">else</span> <span class="p">[</span><span class="s2">"object"</span><span class="p">]</span>
|
||||||
</span><span id="L-173"><a href="#L-173"><span class="linenos">173</span></a> <span class="k">continue</span>
|
</span><span id="L-173"><a href="#L-173"><span class="linenos">173</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">df</span><span class="o">.</span><span class="n">select_dtypes</span><span class="p">(</span><span class="n">include</span><span class="o">=</span><span class="n">string_like_dtypes</span><span class="p">):</span>
|
||||||
</span><span id="L-174"><a href="#L-174"><span class="linenos">174</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="nb">bytes</span><span class="p">):</span>
|
</span><span id="L-174"><a href="#L-174"><span class="linenos">174</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">])</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||||
</span><span id="L-175"><a href="#L-175"><span class="linenos">175</span></a> <span class="k">if</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="sa">b</span><span class="s2">"</span><span class="se">\x1f\x8b\x08\x00</span><span class="s2">"</span><span class="p">):</span>
|
</span><span id="L-175"><a href="#L-175"><span class="linenos">175</span></a> <span class="k">continue</span>
|
||||||
</span><span id="L-176"><a href="#L-176"><span class="linenos">176</span></a> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">gzip</span><span class="o">.</span><span class="n">decompress</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'utf-8'</span><span class="p">)</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">pd</span><span class="o">.</span><span class="n">isna</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">else</span> <span class="s1">''</span><span class="p">)</span>
|
</span><span id="L-176"><a href="#L-176"><span class="linenos">176</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="nb">bytes</span><span class="p">):</span>
|
||||||
</span><span id="L-177"><a href="#L-177"><span class="linenos">177</span></a>
|
</span><span id="L-177"><a href="#L-177"><span class="linenos">177</span></a> <span class="k">if</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="sa">b</span><span class="s2">"</span><span class="se">\x1f\x8b\x08\x00</span><span class="s2">"</span><span class="p">):</span>
|
||||||
</span><span id="L-178"><a href="#L-178"><span class="linenos">178</span></a> <span class="k">if</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">notna</span><span class="p">()</span><span class="o">.</span><span class="n">any</span><span class="p">():</span>
|
</span><span id="L-178"><a href="#L-178"><span class="linenos">178</span></a> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">gzip</span><span class="o">.</span><span class="n">decompress</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'utf-8'</span><span class="p">)</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">pd</span><span class="o">.</span><span class="n">isna</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">else</span> <span class="s1">''</span><span class="p">)</span>
|
||||||
</span><span id="L-179"><a href="#L-179"><span class="linenos">179</span></a> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">replace</span><span class="p">({</span><span class="sa">r</span><span class="s1">'^$'</span><span class="p">:</span> <span class="kc">None</span><span class="p">},</span> <span class="n">regex</span><span class="o">=</span><span class="kc">True</span><span class="p">)</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="n">i</span> <span class="o">=</span> <span class="mi">0</span>
|
</span><span id="L-180"><a href="#L-180"><span class="linenos">180</span></a> <span class="k">if</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">notna</span><span class="p">()</span><span class="o">.</span><span class="n">any</span><span class="p">():</span>
|
||||||
</span><span id="L-181"><a href="#L-181"><span class="linenos">181</span></a> <span class="k">while</span> <span class="n">i</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">])</span> <span class="ow">and</span> <span class="n">pd</span><span class="o">.</span><span class="n">isna</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">]):</span>
|
</span><span id="L-181"><a href="#L-181"><span class="linenos">181</span></a> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">replace</span><span class="p">({</span><span class="sa">r</span><span class="s1">'^$'</span><span class="p">:</span> <span class="kc">None</span><span class="p">},</span> <span class="n">regex</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||||||
</span><span id="L-182"><a href="#L-182"><span class="linenos">182</span></a> <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
|
</span><span id="L-182"><a href="#L-182"><span class="linenos">182</span></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
|
||||||
</span><span id="L-183"><a href="#L-183"><span class="linenos">183</span></a> <span class="k">if</span> <span class="n">i</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">])</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="nb">str</span><span class="p">):</span>
|
</span><span id="L-183"><a href="#L-183"><span class="linenos">183</span></a> <span class="k">while</span> <span class="n">i</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">])</span> <span class="ow">and</span> <span class="n">pd</span><span class="o">.</span><span class="n">isna</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">]):</span>
|
||||||
</span><span id="L-184"><a href="#L-184"><span class="linenos">184</span></a> <span class="k">if</span> <span class="s1">'"program":'</span> <span class="ow">in</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">][:</span><span class="mi">20</span><span class="p">]:</span>
|
</span><span id="L-184"><a href="#L-184"><span class="linenos">184</span></a> <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
|
||||||
</span><span id="L-185"><a href="#L-185"><span class="linenos">185</span></a> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">import_json_string</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">pd</span><span class="o">.</span><span class="n">isna</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">else</span> <span class="kc">None</span><span class="p">)</span>
|
</span><span id="L-185"><a href="#L-185"><span class="linenos">185</span></a> <span class="k">if</span> <span class="n">i</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">])</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="nb">str</span><span class="p">):</span>
|
||||||
</span><span id="L-186"><a href="#L-186"><span class="linenos">186</span></a> <span class="k">if</span> <span class="n">auto_gamma</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
</span><span id="L-186"><a href="#L-186"><span class="linenos">186</span></a> <span class="k">if</span> <span class="s1">'"program":'</span> <span class="ow">in</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">][:</span><span class="mi">20</span><span class="p">]:</span>
|
||||||
</span><span id="L-187"><a href="#L-187"><span class="linenos">187</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="nb">list</span><span class="p">):</span>
|
</span><span id="L-187"><a href="#L-187"><span class="linenos">187</span></a> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">import_json_string</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">pd</span><span class="o">.</span><span class="n">isna</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">else</span> <span class="kc">None</span><span class="p">)</span>
|
||||||
</span><span id="L-188"><a href="#L-188"><span class="linenos">188</span></a> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">gm</span><span class="p">()</span> <span class="k">if</span> <span class="n">o</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">x</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">x</span><span class="p">]</span> <span class="k">if</span> <span class="n">x</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">x</span><span class="p">)</span>
|
</span><span id="L-188"><a href="#L-188"><span class="linenos">188</span></a> <span class="k">if</span> <span class="n">auto_gamma</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||||
</span><span id="L-189"><a href="#L-189"><span class="linenos">189</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-189"><a href="#L-189"><span class="linenos">189</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="nb">list</span><span class="p">):</span>
|
||||||
</span><span id="L-190"><a href="#L-190"><span class="linenos">190</span></a> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">gm</span><span class="p">()</span> <span class="k">if</span> <span class="n">x</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">x</span><span class="p">)</span>
|
</span><span id="L-190"><a href="#L-190"><span class="linenos">190</span></a> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">gm</span><span class="p">()</span> <span class="k">if</span> <span class="n">o</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">x</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">x</span><span class="p">]</span> <span class="k">if</span> <span class="n">x</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">x</span><span class="p">)</span>
|
||||||
</span><span id="L-191"><a href="#L-191"><span class="linenos">191</span></a> <span class="c1"># Convert NA values back to Python None for compatibility with `x is None` checks</span>
|
</span><span id="L-191"><a href="#L-191"><span class="linenos">191</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-192"><a href="#L-192"><span class="linenos">192</span></a> <span class="k">if</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">isna</span><span class="p">()</span><span class="o">.</span><span class="n">any</span><span class="p">():</span>
|
</span><span id="L-192"><a href="#L-192"><span class="linenos">192</span></a> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">gm</span><span class="p">()</span> <span class="k">if</span> <span class="n">x</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">x</span><span class="p">)</span>
|
||||||
</span><span id="L-193"><a href="#L-193"><span class="linenos">193</span></a> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="nb">object</span><span class="p">)</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">notna</span><span class="p">(),</span> <span class="kc">None</span><span class="p">)</span>
|
</span><span id="L-193"><a href="#L-193"><span class="linenos">193</span></a> <span class="c1"># Convert NA values back to Python None for compatibility with `x is None` checks</span>
|
||||||
</span><span id="L-194"><a href="#L-194"><span class="linenos">194</span></a> <span class="k">return</span> <span class="n">df</span>
|
</span><span id="L-194"><a href="#L-194"><span class="linenos">194</span></a> <span class="k">if</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">isna</span><span class="p">()</span><span class="o">.</span><span class="n">any</span><span class="p">():</span>
|
||||||
</span><span id="L-195"><a href="#L-195"><span class="linenos">195</span></a>
|
</span><span id="L-195"><a href="#L-195"><span class="linenos">195</span></a> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="nb">object</span><span class="p">)</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">notna</span><span class="p">(),</span> <span class="kc">None</span><span class="p">)</span>
|
||||||
</span><span id="L-196"><a href="#L-196"><span class="linenos">196</span></a>
|
</span><span id="L-196"><a href="#L-196"><span class="linenos">196</span></a> <span class="k">return</span> <span class="n">df</span>
|
||||||
</span><span id="L-197"><a href="#L-197"><span class="linenos">197</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_need_to_serialize</span><span class="p">(</span><span class="n">col</span><span class="p">):</span>
|
</span><span id="L-197"><a href="#L-197"><span class="linenos">197</span></a>
|
||||||
</span><span id="L-198"><a href="#L-198"><span class="linenos">198</span></a> <span class="n">serialize</span> <span class="o">=</span> <span class="kc">False</span>
|
</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 class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
|
</span><span id="L-199"><a href="#L-199"><span class="linenos">199</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_need_to_serialize</span><span class="p">(</span><span class="n">col</span><span class="p">):</span>
|
||||||
</span><span id="L-200"><a href="#L-200"><span class="linenos">200</span></a> <span class="k">while</span> <span class="n">i</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">col</span><span class="p">)</span> <span class="ow">and</span> <span class="n">_is_null</span><span class="p">(</span><span class="n">col</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">]):</span>
|
</span><span id="L-200"><a href="#L-200"><span class="linenos">200</span></a> <span class="n">serialize</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="L-201"><a href="#L-201"><span class="linenos">201</span></a> <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
|
</span><span id="L-201"><a href="#L-201"><span class="linenos">201</span></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
|
||||||
</span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a> <span class="k">if</span> <span class="n">i</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">col</span><span class="p">):</span>
|
</span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a> <span class="k">while</span> <span class="n">i</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">col</span><span class="p">)</span> <span class="ow">and</span> <span class="n">_is_null</span><span class="p">(</span><span class="n">col</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">]):</span>
|
||||||
</span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a> <span class="k">return</span> <span class="n">serialize</span>
|
</span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a> <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
|
||||||
</span><span id="L-204"><a href="#L-204"><span class="linenos">204</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">col</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="p">(</span><span class="n">Obs</span><span class="p">,</span> <span class="n">Corr</span><span class="p">)):</span>
|
</span><span id="L-204"><a href="#L-204"><span class="linenos">204</span></a> <span class="k">if</span> <span class="n">i</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">col</span><span class="p">):</span>
|
||||||
</span><span id="L-205"><a href="#L-205"><span class="linenos">205</span></a> <span class="n">serialize</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="L-205"><a href="#L-205"><span class="linenos">205</span></a> <span class="k">return</span> <span class="n">serialize</span>
|
||||||
</span><span id="L-206"><a href="#L-206"><span class="linenos">206</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">col</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="nb">list</span><span class="p">):</span>
|
</span><span id="L-206"><a href="#L-206"><span class="linenos">206</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">col</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="p">(</span><span class="n">Obs</span><span class="p">,</span> <span class="n">Corr</span><span class="p">)):</span>
|
||||||
</span><span id="L-207"><a href="#L-207"><span class="linenos">207</span></a> <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">o</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">col</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">]):</span>
|
</span><span id="L-207"><a href="#L-207"><span class="linenos">207</span></a> <span class="n">serialize</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="L-208"><a href="#L-208"><span class="linenos">208</span></a> <span class="n">serialize</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="L-208"><a href="#L-208"><span class="linenos">208</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">col</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="nb">list</span><span class="p">):</span>
|
||||||
</span><span id="L-209"><a href="#L-209"><span class="linenos">209</span></a> <span class="k">return</span> <span class="n">serialize</span>
|
</span><span id="L-209"><a href="#L-209"><span class="linenos">209</span></a> <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">o</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">col</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">]):</span>
|
||||||
</span><span id="L-210"><a href="#L-210"><span class="linenos">210</span></a>
|
</span><span id="L-210"><a href="#L-210"><span class="linenos">210</span></a> <span class="n">serialize</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="L-211"><a href="#L-211"><span class="linenos">211</span></a>
|
</span><span id="L-211"><a href="#L-211"><span class="linenos">211</span></a> <span class="k">return</span> <span class="n">serialize</span>
|
||||||
</span><span id="L-212"><a href="#L-212"><span class="linenos">212</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_is_null</span><span class="p">(</span><span class="n">val</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 class="w"> </span><span class="sd">"""Check if a value is null (None or NA), handling list/array values."""</span>
|
</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">return</span> <span class="kc">False</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">val</span><span class="p">,</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">ndarray</span><span class="p">))</span> <span class="k">else</span> <span class="n">pd</span><span class="o">.</span><span class="n">isna</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
|
</span><span id="L-214"><a href="#L-214"><span class="linenos">214</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_is_null</span><span class="p">(</span><span class="n">val</span><span class="p">):</span>
|
||||||
|
</span><span id="L-215"><a href="#L-215"><span class="linenos">215</span></a><span class="w"> </span><span class="sd">"""Check if a value is null (None or NA), handling list/array values."""</span>
|
||||||
|
</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="k">return</span> <span class="kc">False</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">val</span><span class="p">,</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">ndarray</span><span class="p">))</span> <span class="k">else</span> <span class="n">pd</span><span class="o">.</span><span class="n">isna</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -314,29 +316,29 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#to_sql"></a>
|
<a class="headerlink" href="#to_sql"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="to_sql-13"><a href="#to_sql-13"><span class="linenos">13</span></a><span class="k">def</span><span class="w"> </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">'fail'</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>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="to_sql-15"><a href="#to_sql-15"><span class="linenos">15</span></a><span class="k">def</span><span class="w"> </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">'fail'</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-14"><a href="#to_sql-14"><span class="linenos">14</span></a><span class="w"> </span><span class="sd">"""Write DataFrame including Obs or Corr valued columns to sqlite database.</span>
|
</span><span id="to_sql-16"><a href="#to_sql-16"><span class="linenos">16</span></a><span class="w"> </span><span class="sd">"""Write DataFrame including Obs or Corr valued columns to sqlite database.</span>
|
||||||
</span><span id="to_sql-15"><a href="#to_sql-15"><span class="linenos">15</span></a>
|
</span><span id="to_sql-17"><a href="#to_sql-17"><span class="linenos">17</span></a>
|
||||||
</span><span id="to_sql-16"><a href="#to_sql-16"><span class="linenos">16</span></a><span class="sd"> Parameters</span>
|
</span><span id="to_sql-18"><a href="#to_sql-18"><span class="linenos">18</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="to_sql-17"><a href="#to_sql-17"><span class="linenos">17</span></a><span class="sd"> ----------</span>
|
</span><span id="to_sql-19"><a href="#to_sql-19"><span class="linenos">19</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="to_sql-18"><a href="#to_sql-18"><span class="linenos">18</span></a><span class="sd"> df : pandas.DataFrame</span>
|
</span><span id="to_sql-20"><a href="#to_sql-20"><span class="linenos">20</span></a><span class="sd"> df : pandas.DataFrame</span>
|
||||||
</span><span id="to_sql-19"><a href="#to_sql-19"><span class="linenos">19</span></a><span class="sd"> Dataframe to be written to the database.</span>
|
</span><span id="to_sql-21"><a href="#to_sql-21"><span class="linenos">21</span></a><span class="sd"> Dataframe to be written to the database.</span>
|
||||||
</span><span id="to_sql-20"><a href="#to_sql-20"><span class="linenos">20</span></a><span class="sd"> table_name : str</span>
|
</span><span id="to_sql-22"><a href="#to_sql-22"><span class="linenos">22</span></a><span class="sd"> table_name : str</span>
|
||||||
</span><span id="to_sql-21"><a href="#to_sql-21"><span class="linenos">21</span></a><span class="sd"> Name of the table in the database.</span>
|
</span><span id="to_sql-23"><a href="#to_sql-23"><span class="linenos">23</span></a><span class="sd"> Name of the table in the database.</span>
|
||||||
</span><span id="to_sql-22"><a href="#to_sql-22"><span class="linenos">22</span></a><span class="sd"> db : str</span>
|
</span><span id="to_sql-24"><a href="#to_sql-24"><span class="linenos">24</span></a><span class="sd"> db : str</span>
|
||||||
</span><span id="to_sql-23"><a href="#to_sql-23"><span class="linenos">23</span></a><span class="sd"> Path to the sqlite database.</span>
|
</span><span id="to_sql-25"><a href="#to_sql-25"><span class="linenos">25</span></a><span class="sd"> Path to the sqlite database.</span>
|
||||||
</span><span id="to_sql-24"><a href="#to_sql-24"><span class="linenos">24</span></a><span class="sd"> if exists : str</span>
|
</span><span id="to_sql-26"><a href="#to_sql-26"><span class="linenos">26</span></a><span class="sd"> if exists : str</span>
|
||||||
</span><span id="to_sql-25"><a href="#to_sql-25"><span class="linenos">25</span></a><span class="sd"> How to behave if table already exists. Options 'fail', 'replace', 'append'.</span>
|
</span><span id="to_sql-27"><a href="#to_sql-27"><span class="linenos">27</span></a><span class="sd"> How to behave if table already exists. Options 'fail', 'replace', 'append'.</span>
|
||||||
</span><span id="to_sql-26"><a href="#to_sql-26"><span class="linenos">26</span></a><span class="sd"> gz : bool</span>
|
</span><span id="to_sql-28"><a href="#to_sql-28"><span class="linenos">28</span></a><span class="sd"> gz : bool</span>
|
||||||
</span><span id="to_sql-27"><a href="#to_sql-27"><span class="linenos">27</span></a><span class="sd"> If True the json strings are gzipped.</span>
|
</span><span id="to_sql-29"><a href="#to_sql-29"><span class="linenos">29</span></a><span class="sd"> If True the json strings are gzipped.</span>
|
||||||
</span><span id="to_sql-28"><a href="#to_sql-28"><span class="linenos">28</span></a>
|
</span><span id="to_sql-30"><a href="#to_sql-30"><span class="linenos">30</span></a>
|
||||||
</span><span id="to_sql-29"><a href="#to_sql-29"><span class="linenos">29</span></a><span class="sd"> Returns</span>
|
</span><span id="to_sql-31"><a href="#to_sql-31"><span class="linenos">31</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="to_sql-30"><a href="#to_sql-30"><span class="linenos">30</span></a><span class="sd"> -------</span>
|
</span><span id="to_sql-32"><a href="#to_sql-32"><span class="linenos">32</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="to_sql-31"><a href="#to_sql-31"><span class="linenos">31</span></a><span class="sd"> None</span>
|
</span><span id="to_sql-33"><a href="#to_sql-33"><span class="linenos">33</span></a><span class="sd"> None</span>
|
||||||
</span><span id="to_sql-32"><a href="#to_sql-32"><span class="linenos">32</span></a><span class="sd"> """</span>
|
</span><span id="to_sql-34"><a href="#to_sql-34"><span class="linenos">34</span></a><span class="sd"> """</span>
|
||||||
</span><span id="to_sql-33"><a href="#to_sql-33"><span class="linenos">33</span></a> <span class="n">se_df</span> <span class="o">=</span> <span class="n">_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="n">gz</span><span class="p">)</span>
|
</span><span id="to_sql-35"><a href="#to_sql-35"><span class="linenos">35</span></a> <span class="n">se_df</span> <span class="o">=</span> <span class="n">_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="n">gz</span><span class="p">)</span>
|
||||||
</span><span id="to_sql-34"><a href="#to_sql-34"><span class="linenos">34</span></a> <span class="k">with</span> <span class="n">closing</span><span class="p">(</span><span class="n">sqlite3</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">db</span><span class="p">))</span> <span class="k">as</span> <span class="n">con</span><span class="p">:</span>
|
</span><span id="to_sql-36"><a href="#to_sql-36"><span class="linenos">36</span></a> <span class="k">with</span> <span class="n">closing</span><span class="p">(</span><span class="n">sqlite3</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">db</span><span class="p">))</span> <span class="k">as</span> <span class="n">con</span><span class="p">:</span>
|
||||||
</span><span id="to_sql-35"><a href="#to_sql-35"><span class="linenos">35</span></a> <span class="n">se_df</span><span class="o">.</span><span class="n">to_sql</span><span class="p">(</span><span class="n">table_name</span><span class="p">,</span> <span class="n">con</span><span class="o">=</span><span class="n">con</span><span class="p">,</span> <span class="n">if_exists</span><span class="o">=</span><span class="n">if_exists</span><span class="p">,</span> <span class="n">index</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="to_sql-37"><a href="#to_sql-37"><span class="linenos">37</span></a> <span class="n">se_df</span><span class="o">.</span><span class="n">to_sql</span><span class="p">(</span><span class="n">table_name</span><span class="p">,</span> <span class="n">con</span><span class="o">=</span><span class="n">con</span><span class="p">,</span> <span class="n">if_exists</span><span class="o">=</span><span class="n">if_exists</span><span class="p">,</span> <span class="n">index</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></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -377,27 +379,27 @@ If True the json strings are gzipped.</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#read_sql"></a>
|
<a class="headerlink" href="#read_sql"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_sql-38"><a href="#read_sql-38"><span class="linenos">38</span></a><span class="k">def</span><span class="w"> </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>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="read_sql-40"><a href="#read_sql-40"><span class="linenos">40</span></a><span class="k">def</span><span class="w"> </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-39"><a href="#read_sql-39"><span class="linenos">39</span></a><span class="w"> </span><span class="sd">"""Execute SQL query on sqlite database and obtain DataFrame including Obs or Corr valued columns.</span>
|
</span><span id="read_sql-41"><a href="#read_sql-41"><span class="linenos">41</span></a><span class="w"> </span><span class="sd">"""Execute SQL query on sqlite database and obtain DataFrame including Obs or Corr valued columns.</span>
|
||||||
</span><span id="read_sql-40"><a href="#read_sql-40"><span class="linenos">40</span></a>
|
</span><span id="read_sql-42"><a href="#read_sql-42"><span class="linenos">42</span></a>
|
||||||
</span><span id="read_sql-41"><a href="#read_sql-41"><span class="linenos">41</span></a><span class="sd"> Parameters</span>
|
</span><span id="read_sql-43"><a href="#read_sql-43"><span class="linenos">43</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="read_sql-42"><a href="#read_sql-42"><span class="linenos">42</span></a><span class="sd"> ----------</span>
|
</span><span id="read_sql-44"><a href="#read_sql-44"><span class="linenos">44</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="read_sql-43"><a href="#read_sql-43"><span class="linenos">43</span></a><span class="sd"> sql : str</span>
|
</span><span id="read_sql-45"><a href="#read_sql-45"><span class="linenos">45</span></a><span class="sd"> sql : str</span>
|
||||||
</span><span id="read_sql-44"><a href="#read_sql-44"><span class="linenos">44</span></a><span class="sd"> SQL query to be executed.</span>
|
</span><span id="read_sql-46"><a href="#read_sql-46"><span class="linenos">46</span></a><span class="sd"> SQL query to be executed.</span>
|
||||||
</span><span id="read_sql-45"><a href="#read_sql-45"><span class="linenos">45</span></a><span class="sd"> db : str</span>
|
</span><span id="read_sql-47"><a href="#read_sql-47"><span class="linenos">47</span></a><span class="sd"> db : str</span>
|
||||||
</span><span id="read_sql-46"><a href="#read_sql-46"><span class="linenos">46</span></a><span class="sd"> Path to the sqlite database.</span>
|
</span><span id="read_sql-48"><a href="#read_sql-48"><span class="linenos">48</span></a><span class="sd"> Path to the sqlite database.</span>
|
||||||
</span><span id="read_sql-47"><a href="#read_sql-47"><span class="linenos">47</span></a><span class="sd"> auto_gamma : bool</span>
|
</span><span id="read_sql-49"><a href="#read_sql-49"><span class="linenos">49</span></a><span class="sd"> auto_gamma : bool</span>
|
||||||
</span><span id="read_sql-48"><a href="#read_sql-48"><span class="linenos">48</span></a><span class="sd"> If True applies the gamma_method to all imported Obs objects with the default parameters for</span>
|
</span><span id="read_sql-50"><a href="#read_sql-50"><span class="linenos">50</span></a><span class="sd"> If True applies the gamma_method to all imported Obs objects with the default parameters for</span>
|
||||||
</span><span id="read_sql-49"><a href="#read_sql-49"><span class="linenos">49</span></a><span class="sd"> the error analysis. Default False.</span>
|
</span><span id="read_sql-51"><a href="#read_sql-51"><span class="linenos">51</span></a><span class="sd"> the error analysis. Default False.</span>
|
||||||
</span><span id="read_sql-50"><a href="#read_sql-50"><span class="linenos">50</span></a>
|
</span><span id="read_sql-52"><a href="#read_sql-52"><span class="linenos">52</span></a>
|
||||||
</span><span id="read_sql-51"><a href="#read_sql-51"><span class="linenos">51</span></a><span class="sd"> Returns</span>
|
</span><span id="read_sql-53"><a href="#read_sql-53"><span class="linenos">53</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="read_sql-52"><a href="#read_sql-52"><span class="linenos">52</span></a><span class="sd"> -------</span>
|
</span><span id="read_sql-54"><a href="#read_sql-54"><span class="linenos">54</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="read_sql-53"><a href="#read_sql-53"><span class="linenos">53</span></a><span class="sd"> data : pandas.DataFrame</span>
|
</span><span id="read_sql-55"><a href="#read_sql-55"><span class="linenos">55</span></a><span class="sd"> data : pandas.DataFrame</span>
|
||||||
</span><span id="read_sql-54"><a href="#read_sql-54"><span class="linenos">54</span></a><span class="sd"> Dataframe with the content of the sqlite database.</span>
|
</span><span id="read_sql-56"><a href="#read_sql-56"><span class="linenos">56</span></a><span class="sd"> Dataframe with the content of the sqlite database.</span>
|
||||||
</span><span id="read_sql-55"><a href="#read_sql-55"><span class="linenos">55</span></a><span class="sd"> """</span>
|
</span><span id="read_sql-57"><a href="#read_sql-57"><span class="linenos">57</span></a><span class="sd"> """</span>
|
||||||
</span><span id="read_sql-56"><a href="#read_sql-56"><span class="linenos">56</span></a> <span class="k">with</span> <span class="n">closing</span><span class="p">(</span><span class="n">sqlite3</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">db</span><span class="p">))</span> <span class="k">as</span> <span class="n">con</span><span class="p">:</span>
|
</span><span id="read_sql-58"><a href="#read_sql-58"><span class="linenos">58</span></a> <span class="k">with</span> <span class="n">closing</span><span class="p">(</span><span class="n">sqlite3</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">db</span><span class="p">))</span> <span class="k">as</span> <span class="n">con</span><span class="p">:</span>
|
||||||
</span><span id="read_sql-57"><a href="#read_sql-57"><span class="linenos">57</span></a> <span class="n">extract_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_sql</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">con</span><span class="o">=</span><span class="n">con</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
</span><span id="read_sql-59"><a href="#read_sql-59"><span class="linenos">59</span></a> <span class="n">extract_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_sql</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">con</span><span class="o">=</span><span class="n">con</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||||
</span><span id="read_sql-58"><a href="#read_sql-58"><span class="linenos">58</span></a> <span class="k">return</span> <span class="n">_deserialize_df</span><span class="p">(</span><span class="n">extract_df</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="n">auto_gamma</span><span class="p">)</span>
|
</span><span id="read_sql-60"><a href="#read_sql-60"><span class="linenos">60</span></a> <span class="k">return</span> <span class="n">_deserialize_df</span><span class="p">(</span><span class="n">extract_df</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="n">auto_gamma</span><span class="p">)</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -436,43 +438,43 @@ Dataframe with the content of the sqlite database.</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#dump_df"></a>
|
<a class="headerlink" href="#dump_df"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="dump_df-61"><a href="#dump_df-61"><span class="linenos">61</span></a><span class="k">def</span><span class="w"> </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>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="dump_df-63"><a href="#dump_df-63"><span class="linenos">63</span></a><span class="k">def</span><span class="w"> </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-62"><a href="#dump_df-62"><span class="linenos">62</span></a><span class="w"> </span><span class="sd">"""Exports a pandas DataFrame containing Obs valued columns to a (gzipped) csv file.</span>
|
</span><span id="dump_df-64"><a href="#dump_df-64"><span class="linenos">64</span></a><span class="w"> </span><span class="sd">"""Exports a pandas DataFrame containing Obs valued columns to a (gzipped) csv file.</span>
|
||||||
</span><span id="dump_df-63"><a href="#dump_df-63"><span class="linenos">63</span></a>
|
</span><span id="dump_df-65"><a href="#dump_df-65"><span class="linenos">65</span></a>
|
||||||
</span><span id="dump_df-64"><a href="#dump_df-64"><span class="linenos">64</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-66"><a href="#dump_df-66"><span class="linenos">66</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-65"><a href="#dump_df-65"><span class="linenos">65</span></a><span class="sd"> json format of pyerrors.</span>
|
</span><span id="dump_df-67"><a href="#dump_df-67"><span class="linenos">67</span></a><span class="sd"> json format of pyerrors.</span>
|
||||||
</span><span id="dump_df-66"><a href="#dump_df-66"><span class="linenos">66</span></a>
|
</span><span id="dump_df-68"><a href="#dump_df-68"><span class="linenos">68</span></a>
|
||||||
</span><span id="dump_df-67"><a href="#dump_df-67"><span class="linenos">67</span></a><span class="sd"> Parameters</span>
|
</span><span id="dump_df-69"><a href="#dump_df-69"><span class="linenos">69</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="dump_df-68"><a href="#dump_df-68"><span class="linenos">68</span></a><span class="sd"> ----------</span>
|
</span><span id="dump_df-70"><a href="#dump_df-70"><span class="linenos">70</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="dump_df-69"><a href="#dump_df-69"><span class="linenos">69</span></a><span class="sd"> df : pandas.DataFrame</span>
|
</span><span id="dump_df-71"><a href="#dump_df-71"><span class="linenos">71</span></a><span class="sd"> df : pandas.DataFrame</span>
|
||||||
</span><span id="dump_df-70"><a href="#dump_df-70"><span class="linenos">70</span></a><span class="sd"> Dataframe to be dumped to a file.</span>
|
</span><span id="dump_df-72"><a href="#dump_df-72"><span class="linenos">72</span></a><span class="sd"> Dataframe to be dumped to a file.</span>
|
||||||
</span><span id="dump_df-71"><a href="#dump_df-71"><span class="linenos">71</span></a><span class="sd"> fname : str</span>
|
</span><span id="dump_df-73"><a href="#dump_df-73"><span class="linenos">73</span></a><span class="sd"> fname : str</span>
|
||||||
</span><span id="dump_df-72"><a href="#dump_df-72"><span class="linenos">72</span></a><span class="sd"> Filename of the output file.</span>
|
</span><span id="dump_df-74"><a href="#dump_df-74"><span class="linenos">74</span></a><span class="sd"> Filename of the output file.</span>
|
||||||
</span><span id="dump_df-73"><a href="#dump_df-73"><span class="linenos">73</span></a><span class="sd"> gz : bool</span>
|
</span><span id="dump_df-75"><a href="#dump_df-75"><span class="linenos">75</span></a><span class="sd"> gz : bool</span>
|
||||||
</span><span id="dump_df-74"><a href="#dump_df-74"><span class="linenos">74</span></a><span class="sd"> If True, the output is a gzipped csv file. If False, the output is a csv file.</span>
|
</span><span id="dump_df-76"><a href="#dump_df-76"><span class="linenos">76</span></a><span class="sd"> If True, the output is a gzipped csv file. If False, the output is a csv file.</span>
|
||||||
</span><span id="dump_df-75"><a href="#dump_df-75"><span class="linenos">75</span></a>
|
</span><span id="dump_df-77"><a href="#dump_df-77"><span class="linenos">77</span></a>
|
||||||
</span><span id="dump_df-76"><a href="#dump_df-76"><span class="linenos">76</span></a><span class="sd"> Returns</span>
|
</span><span id="dump_df-78"><a href="#dump_df-78"><span class="linenos">78</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="dump_df-77"><a href="#dump_df-77"><span class="linenos">77</span></a><span class="sd"> -------</span>
|
</span><span id="dump_df-79"><a href="#dump_df-79"><span class="linenos">79</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="dump_df-78"><a href="#dump_df-78"><span class="linenos">78</span></a><span class="sd"> None</span>
|
</span><span id="dump_df-80"><a href="#dump_df-80"><span class="linenos">80</span></a><span class="sd"> None</span>
|
||||||
</span><span id="dump_df-79"><a href="#dump_df-79"><span class="linenos">79</span></a><span class="sd"> """</span>
|
</span><span id="dump_df-81"><a href="#dump_df-81"><span class="linenos">81</span></a><span class="sd"> """</span>
|
||||||
</span><span id="dump_df-80"><a href="#dump_df-80"><span class="linenos">80</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">df</span><span class="p">:</span>
|
</span><span id="dump_df-82"><a href="#dump_df-82"><span class="linenos">82</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">df</span><span class="p">:</span>
|
||||||
</span><span id="dump_df-81"><a href="#dump_df-81"><span class="linenos">81</span></a> <span class="n">serialize</span> <span class="o">=</span> <span class="n">_need_to_serialize</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">])</span>
|
</span><span id="dump_df-83"><a href="#dump_df-83"><span class="linenos">83</span></a> <span class="n">serialize</span> <span class="o">=</span> <span class="n">_need_to_serialize</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">])</span>
|
||||||
</span><span id="dump_df-82"><a href="#dump_df-82"><span class="linenos">82</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">serialize</span><span class="p">:</span>
|
</span><span id="dump_df-84"><a href="#dump_df-84"><span class="linenos">84</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">serialize</span><span class="p">:</span>
|
||||||
</span><span id="dump_df-83"><a href="#dump_df-83"><span class="linenos">83</span></a> <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">entry</span><span class="p">,</span> <span class="p">(</span><span class="nb">int</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">integer</span><span class="p">,</span> <span class="nb">float</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">floating</span><span class="p">))</span> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]):</span>
|
</span><span id="dump_df-85"><a href="#dump_df-85"><span class="linenos">85</span></a> <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">entry</span><span class="p">,</span> <span class="p">(</span><span class="nb">int</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">integer</span><span class="p">,</span> <span class="nb">float</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">floating</span><span class="p">))</span> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]):</span>
|
||||||
</span><span id="dump_df-84"><a href="#dump_df-84"><span class="linenos">84</span></a> <span class="k">if</span> <span class="nb">any</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">isnan</span><span class="p">(</span><span class="n">entry</span><span class="p">)</span> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]]):</span>
|
</span><span id="dump_df-86"><a href="#dump_df-86"><span class="linenos">86</span></a> <span class="k">if</span> <span class="nb">any</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">isnan</span><span class="p">(</span><span class="n">entry</span><span class="p">)</span> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">df</span><span class="p">[</span><span class="n">column</span><span class="p">]]):</span>
|
||||||
</span><span id="dump_df-85"><a href="#dump_df-85"><span class="linenos">85</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">"nan value in column "</span> <span class="o">+</span> <span class="n">column</span> <span class="o">+</span> <span class="s2">" will be replaced by None"</span><span class="p">,</span> <span class="ne">UserWarning</span><span class="p">)</span>
|
</span><span id="dump_df-87"><a href="#dump_df-87"><span class="linenos">87</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">"nan value in column "</span> <span class="o">+</span> <span class="n">column</span> <span class="o">+</span> <span class="s2">" will be replaced by None"</span><span class="p">,</span> <span class="ne">UserWarning</span><span class="p">,</span> <span class="n">stacklevel</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
|
||||||
</span><span id="dump_df-86"><a href="#dump_df-86"><span class="linenos">86</span></a>
|
|
||||||
</span><span id="dump_df-87"><a href="#dump_df-87"><span class="linenos">87</span></a> <span class="n">out</span> <span class="o">=</span> <span class="n">_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="dump_df-88"><a href="#dump_df-88"><span class="linenos">88</span></a>
|
</span><span id="dump_df-88"><a href="#dump_df-88"><span class="linenos">88</span></a>
|
||||||
</span><span id="dump_df-89"><a href="#dump_df-89"><span class="linenos">89</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.csv'</span><span class="p">):</span>
|
</span><span id="dump_df-89"><a href="#dump_df-89"><span class="linenos">89</span></a> <span class="n">out</span> <span class="o">=</span> <span class="n">_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="dump_df-90"><a href="#dump_df-90"><span class="linenos">90</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.csv'</span>
|
</span><span id="dump_df-90"><a href="#dump_df-90"><span class="linenos">90</span></a>
|
||||||
</span><span id="dump_df-91"><a href="#dump_df-91"><span class="linenos">91</span></a>
|
</span><span id="dump_df-91"><a href="#dump_df-91"><span class="linenos">91</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.csv'</span><span class="p">):</span>
|
||||||
</span><span id="dump_df-92"><a href="#dump_df-92"><span class="linenos">92</span></a> <span class="k">if</span> <span class="n">gz</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
</span><span id="dump_df-92"><a href="#dump_df-92"><span class="linenos">92</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.csv'</span>
|
||||||
</span><span id="dump_df-93"><a href="#dump_df-93"><span class="linenos">93</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
</span><span id="dump_df-93"><a href="#dump_df-93"><span class="linenos">93</span></a>
|
||||||
</span><span id="dump_df-94"><a href="#dump_df-94"><span class="linenos">94</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.gz'</span>
|
</span><span id="dump_df-94"><a href="#dump_df-94"><span class="linenos">94</span></a> <span class="k">if</span> <span class="n">gz</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||||
</span><span id="dump_df-95"><a href="#dump_df-95"><span class="linenos">95</span></a> <span class="n">out</span><span class="o">.</span><span class="n">to_csv</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">compression</span><span class="o">=</span><span class="s1">'gzip'</span><span class="p">)</span>
|
</span><span id="dump_df-95"><a href="#dump_df-95"><span class="linenos">95</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||||
</span><span id="dump_df-96"><a href="#dump_df-96"><span class="linenos">96</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="dump_df-96"><a href="#dump_df-96"><span class="linenos">96</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.gz'</span>
|
||||||
</span><span id="dump_df-97"><a href="#dump_df-97"><span class="linenos">97</span></a> <span class="n">out</span><span class="o">.</span><span class="n">to_csv</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
</span><span id="dump_df-97"><a href="#dump_df-97"><span class="linenos">97</span></a> <span class="n">out</span><span class="o">.</span><span class="n">to_csv</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">compression</span><span class="o">=</span><span class="s1">'gzip'</span><span class="p">)</span>
|
||||||
|
</span><span id="dump_df-98"><a href="#dump_df-98"><span class="linenos">98</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
|
</span><span id="dump_df-99"><a href="#dump_df-99"><span class="linenos">99</span></a> <span class="n">out</span><span class="o">.</span><span class="n">to_csv</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -512,38 +514,38 @@ If True, the output is a gzipped csv file. If False, the output is a csv file.</
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#load_df"></a>
|
<a class="headerlink" href="#load_df"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="load_df-100"><a href="#load_df-100"><span class="linenos">100</span></a><span class="k">def</span><span class="w"> </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>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="load_df-102"><a href="#load_df-102"><span class="linenos">102</span></a><span class="k">def</span><span class="w"> </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-101"><a href="#load_df-101"><span class="linenos">101</span></a><span class="w"> </span><span class="sd">"""Imports a pandas DataFrame from a csv.(gz) file in which Obs objects are serialized as json strings.</span>
|
</span><span id="load_df-103"><a href="#load_df-103"><span class="linenos">103</span></a><span class="w"> </span><span class="sd">"""Imports a pandas DataFrame from a csv.(gz) file in which Obs objects are serialized as json strings.</span>
|
||||||
</span><span id="load_df-102"><a href="#load_df-102"><span class="linenos">102</span></a>
|
</span><span id="load_df-104"><a href="#load_df-104"><span class="linenos">104</span></a>
|
||||||
</span><span id="load_df-103"><a href="#load_df-103"><span class="linenos">103</span></a><span class="sd"> Parameters</span>
|
</span><span id="load_df-105"><a href="#load_df-105"><span class="linenos">105</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="load_df-104"><a href="#load_df-104"><span class="linenos">104</span></a><span class="sd"> ----------</span>
|
</span><span id="load_df-106"><a href="#load_df-106"><span class="linenos">106</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="load_df-105"><a href="#load_df-105"><span class="linenos">105</span></a><span class="sd"> fname : str</span>
|
</span><span id="load_df-107"><a href="#load_df-107"><span class="linenos">107</span></a><span class="sd"> fname : str</span>
|
||||||
</span><span id="load_df-106"><a href="#load_df-106"><span class="linenos">106</span></a><span class="sd"> Filename of the input file.</span>
|
</span><span id="load_df-108"><a href="#load_df-108"><span class="linenos">108</span></a><span class="sd"> Filename of the input file.</span>
|
||||||
</span><span id="load_df-107"><a href="#load_df-107"><span class="linenos">107</span></a><span class="sd"> auto_gamma : bool</span>
|
</span><span id="load_df-109"><a href="#load_df-109"><span class="linenos">109</span></a><span class="sd"> auto_gamma : bool</span>
|
||||||
</span><span id="load_df-108"><a href="#load_df-108"><span class="linenos">108</span></a><span class="sd"> If True applies the gamma_method to all imported Obs objects with the default parameters for</span>
|
</span><span id="load_df-110"><a href="#load_df-110"><span class="linenos">110</span></a><span class="sd"> If True applies the gamma_method to all imported Obs objects with the default parameters for</span>
|
||||||
</span><span id="load_df-109"><a href="#load_df-109"><span class="linenos">109</span></a><span class="sd"> the error analysis. Default False.</span>
|
</span><span id="load_df-111"><a href="#load_df-111"><span class="linenos">111</span></a><span class="sd"> the error analysis. Default False.</span>
|
||||||
</span><span id="load_df-110"><a href="#load_df-110"><span class="linenos">110</span></a><span class="sd"> gz : bool</span>
|
</span><span id="load_df-112"><a href="#load_df-112"><span class="linenos">112</span></a><span class="sd"> gz : bool</span>
|
||||||
</span><span id="load_df-111"><a href="#load_df-111"><span class="linenos">111</span></a><span class="sd"> If True, assumes that data is gzipped. If False, assumes JSON file.</span>
|
</span><span id="load_df-113"><a href="#load_df-113"><span class="linenos">113</span></a><span class="sd"> If True, assumes that data is gzipped. If False, assumes JSON file.</span>
|
||||||
</span><span id="load_df-112"><a href="#load_df-112"><span class="linenos">112</span></a>
|
</span><span id="load_df-114"><a href="#load_df-114"><span class="linenos">114</span></a>
|
||||||
</span><span id="load_df-113"><a href="#load_df-113"><span class="linenos">113</span></a><span class="sd"> Returns</span>
|
</span><span id="load_df-115"><a href="#load_df-115"><span class="linenos">115</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="load_df-114"><a href="#load_df-114"><span class="linenos">114</span></a><span class="sd"> -------</span>
|
</span><span id="load_df-116"><a href="#load_df-116"><span class="linenos">116</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="load_df-115"><a href="#load_df-115"><span class="linenos">115</span></a><span class="sd"> data : pandas.DataFrame</span>
|
</span><span id="load_df-117"><a href="#load_df-117"><span class="linenos">117</span></a><span class="sd"> data : pandas.DataFrame</span>
|
||||||
</span><span id="load_df-116"><a href="#load_df-116"><span class="linenos">116</span></a><span class="sd"> Dataframe with the content of the sqlite database.</span>
|
</span><span id="load_df-118"><a href="#load_df-118"><span class="linenos">118</span></a><span class="sd"> Dataframe with the content of the sqlite database.</span>
|
||||||
</span><span id="load_df-117"><a href="#load_df-117"><span class="linenos">117</span></a><span class="sd"> """</span>
|
</span><span id="load_df-119"><a href="#load_df-119"><span class="linenos">119</span></a><span class="sd"> """</span>
|
||||||
</span><span id="load_df-118"><a href="#load_df-118"><span class="linenos">118</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.csv'</span><span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
</span><span id="load_df-120"><a href="#load_df-120"><span class="linenos">120</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.csv'</span><span class="p">)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||||
</span><span id="load_df-119"><a href="#load_df-119"><span class="linenos">119</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.csv'</span>
|
</span><span id="load_df-121"><a href="#load_df-121"><span class="linenos">121</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.csv'</span>
|
||||||
</span><span id="load_df-120"><a href="#load_df-120"><span class="linenos">120</span></a>
|
</span><span id="load_df-122"><a href="#load_df-122"><span class="linenos">122</span></a>
|
||||||
</span><span id="load_df-121"><a href="#load_df-121"><span class="linenos">121</span></a> <span class="k">if</span> <span class="n">gz</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
</span><span id="load_df-123"><a href="#load_df-123"><span class="linenos">123</span></a> <span class="k">if</span> <span class="n">gz</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||||
</span><span id="load_df-122"><a href="#load_df-122"><span class="linenos">122</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
</span><span id="load_df-124"><a href="#load_df-124"><span class="linenos">124</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||||
</span><span id="load_df-123"><a href="#load_df-123"><span class="linenos">123</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.gz'</span>
|
</span><span id="load_df-125"><a href="#load_df-125"><span class="linenos">125</span></a> <span class="n">fname</span> <span class="o">+=</span> <span class="s1">'.gz'</span>
|
||||||
</span><span id="load_df-124"><a href="#load_df-124"><span class="linenos">124</span></a> <span class="k">with</span> <span class="n">gzip</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">fname</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
|
</span><span id="load_df-126"><a href="#load_df-126"><span class="linenos">126</span></a> <span class="k">with</span> <span class="n">gzip</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">fname</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
|
||||||
</span><span id="load_df-125"><a href="#load_df-125"><span class="linenos">125</span></a> <span class="n">re_import</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">keep_default_na</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
</span><span id="load_df-127"><a href="#load_df-127"><span class="linenos">127</span></a> <span class="n">re_import</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">keep_default_na</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
||||||
</span><span id="load_df-126"><a href="#load_df-126"><span class="linenos">126</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="load_df-128"><a href="#load_df-128"><span class="linenos">128</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="load_df-127"><a href="#load_df-127"><span class="linenos">127</span></a> <span class="k">if</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
</span><span id="load_df-129"><a href="#load_df-129"><span class="linenos">129</span></a> <span class="k">if</span> <span class="n">fname</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">'.gz'</span><span class="p">):</span>
|
||||||
</span><span id="load_df-128"><a href="#load_df-128"><span class="linenos">128</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">"Trying to read from </span><span class="si">%s</span><span class="s2"> without unzipping!"</span> <span class="o">%</span> <span class="n">fname</span><span class="p">,</span> <span class="ne">UserWarning</span><span class="p">)</span>
|
</span><span id="load_df-130"><a href="#load_df-130"><span class="linenos">130</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Trying to read from </span><span class="si">{</span><span class="n">fname</span><span class="si">}</span><span class="s2"> without unzipping!"</span><span class="p">,</span> <span class="ne">UserWarning</span><span class="p">,</span> <span class="n">stacklevel</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
|
||||||
</span><span id="load_df-129"><a href="#load_df-129"><span class="linenos">129</span></a> <span class="n">re_import</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">keep_default_na</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
</span><span id="load_df-131"><a href="#load_df-131"><span class="linenos">131</span></a> <span class="n">re_import</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">keep_default_na</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
||||||
</span><span id="load_df-130"><a href="#load_df-130"><span class="linenos">130</span></a>
|
</span><span id="load_df-132"><a href="#load_df-132"><span class="linenos">132</span></a>
|
||||||
</span><span id="load_df-131"><a href="#load_df-131"><span class="linenos">131</span></a> <span class="k">return</span> <span class="n">_deserialize_df</span><span class="p">(</span><span class="n">re_import</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="n">auto_gamma</span><span class="p">)</span>
|
</span><span id="load_df-133"><a href="#load_df-133"><span class="linenos">133</span></a> <span class="k">return</span> <span class="n">_deserialize_df</span><span class="p">(</span><span class="n">re_import</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="n">auto_gamma</span><span class="p">)</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -86,9 +86,9 @@
|
||||||
|
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="sd">"""Utilities for the input"""</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="sd">"""Utilities for the input"""</span>
|
||||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a>
|
</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 class="kn">import</span><span class="w"> </span><span class="nn">re</span>
|
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">fnmatch</span>
|
||||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">fnmatch</span>
|
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">os</span>
|
||||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">os</span>
|
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">re</span>
|
||||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</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><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 class="k">def</span><span class="w"> </span><span class="nf">sort_names</span><span class="p">(</span><span class="n">ll</span><span class="p">):</span>
|
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="k">def</span><span class="w"> </span><span class="nf">sort_names</span><span class="p">(</span><span class="n">ll</span><span class="p">):</span>
|
||||||
|
|
@ -190,7 +190,7 @@
|
||||||
</span><span id="L-104"><a href="#L-104"><span class="linenos">104</span></a><span class="sd"> """</span>
|
</span><span id="L-104"><a href="#L-104"><span class="linenos">104</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a>
|
</span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a>
|
||||||
</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a> <span class="k">for</span> <span class="p">(</span><span class="n">dirpath</span><span class="p">,</span> <span class="n">dirnames</span><span class="p">,</span> <span class="n">filenames</span><span class="p">)</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a> <span class="k">for</span> <span class="p">(</span><span class="n">_dirpath</span><span class="p">,</span> <span class="n">dirnames</span><span class="p">,</span> <span class="n">_filenames</span><span class="p">)</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
||||||
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a> <span class="n">ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">dirnames</span><span class="p">)</span>
|
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a> <span class="n">ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">dirnames</span><span class="p">)</span>
|
||||||
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a> <span class="k">break</span>
|
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a> <span class="k">break</span>
|
||||||
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">ls</span><span class="p">:</span>
|
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">ls</span><span class="p">:</span>
|
||||||
|
|
@ -206,7 +206,7 @@
|
||||||
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a> <span class="n">rep_path</span> <span class="o">=</span> <span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">rep</span>
|
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a> <span class="n">rep_path</span> <span class="o">=</span> <span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">rep</span>
|
||||||
</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a> <span class="c1"># files of replicum</span>
|
</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a> <span class="c1"># files of replicum</span>
|
||||||
</span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a> <span class="n">sub_ls</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a> <span class="n">sub_ls</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a> <span class="k">for</span> <span class="p">(</span><span class="n">dirpath</span><span class="p">,</span> <span class="n">dirnames</span><span class="p">,</span> <span class="n">filenames</span><span class="p">)</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">rep_path</span><span class="p">):</span>
|
</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a> <span class="k">for</span> <span class="p">(</span><span class="n">_dirpath</span><span class="p">,</span> <span class="n">_dirnames</span><span class="p">,</span> <span class="n">filenames</span><span class="p">)</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">rep_path</span><span class="p">):</span>
|
||||||
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="n">sub_ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">filenames</span><span class="p">)</span>
|
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="n">sub_ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">filenames</span><span class="p">)</span>
|
||||||
</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a>
|
</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="c1"># filter</span>
|
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a> <span class="c1"># filter</span>
|
||||||
|
|
@ -218,9 +218,9 @@
|
||||||
</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="n">rep_nums</span> <span class="o">=</span> <span class="s1">''</span>
|
</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="n">rep_nums</span> <span class="o">=</span> <span class="s1">''</span>
|
||||||
</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a> <span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">param_files</span><span class="p">:</span>
|
</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a> <span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">param_files</span><span class="p">:</span>
|
||||||
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">rep_path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">file</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
|
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">rep_path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">file</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
|
||||||
</span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">fp</span><span class="p">:</span>
|
</span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a> <span class="n">last_line</span> <span class="o">=</span> <span class="s1">''</span>
|
||||||
</span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a> <span class="k">pass</span>
|
</span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">fp</span><span class="p">:</span>
|
||||||
</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a> <span class="n">last_line</span> <span class="o">=</span> <span class="n">line</span>
|
</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a> <span class="n">last_line</span> <span class="o">=</span> <span class="n">line</span>
|
||||||
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a> <span class="k">if</span> <span class="n">last_line</span><span class="o">.</span><span class="n">split</span><span class="p">()[</span><span class="mi">2</span><span class="p">]</span> <span class="o">!=</span> <span class="n">param_hash</span><span class="p">:</span>
|
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a> <span class="k">if</span> <span class="n">last_line</span><span class="o">.</span><span class="n">split</span><span class="p">()[</span><span class="mi">2</span><span class="p">]</span> <span class="o">!=</span> <span class="n">param_hash</span><span class="p">:</span>
|
||||||
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a> <span class="n">rep_nums</span> <span class="o">+=</span> <span class="n">file</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"_"</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="s1">','</span>
|
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a> <span class="n">rep_nums</span> <span class="o">+=</span> <span class="n">file</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"_"</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="s1">','</span>
|
||||||
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a> <span class="n">nums</span><span class="p">[</span><span class="n">rep_path</span><span class="p">]</span> <span class="o">=</span> <span class="n">rep_nums</span>
|
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a> <span class="n">nums</span><span class="p">[</span><span class="n">rep_path</span><span class="p">]</span> <span class="o">=</span> <span class="n">rep_nums</span>
|
||||||
|
|
@ -408,7 +408,7 @@ string with integers of which idls are missing</li>
|
||||||
</span><span id="check_params-105"><a href="#check_params-105"><span class="linenos">105</span></a><span class="sd"> """</span>
|
</span><span id="check_params-105"><a href="#check_params-105"><span class="linenos">105</span></a><span class="sd"> """</span>
|
||||||
</span><span id="check_params-106"><a href="#check_params-106"><span class="linenos">106</span></a>
|
</span><span id="check_params-106"><a href="#check_params-106"><span class="linenos">106</span></a>
|
||||||
</span><span id="check_params-107"><a href="#check_params-107"><span class="linenos">107</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="check_params-107"><a href="#check_params-107"><span class="linenos">107</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="check_params-108"><a href="#check_params-108"><span class="linenos">108</span></a> <span class="k">for</span> <span class="p">(</span><span class="n">dirpath</span><span class="p">,</span> <span class="n">dirnames</span><span class="p">,</span> <span class="n">filenames</span><span class="p">)</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
</span><span id="check_params-108"><a href="#check_params-108"><span class="linenos">108</span></a> <span class="k">for</span> <span class="p">(</span><span class="n">_dirpath</span><span class="p">,</span> <span class="n">dirnames</span><span class="p">,</span> <span class="n">_filenames</span><span class="p">)</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
||||||
</span><span id="check_params-109"><a href="#check_params-109"><span class="linenos">109</span></a> <span class="n">ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">dirnames</span><span class="p">)</span>
|
</span><span id="check_params-109"><a href="#check_params-109"><span class="linenos">109</span></a> <span class="n">ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">dirnames</span><span class="p">)</span>
|
||||||
</span><span id="check_params-110"><a href="#check_params-110"><span class="linenos">110</span></a> <span class="k">break</span>
|
</span><span id="check_params-110"><a href="#check_params-110"><span class="linenos">110</span></a> <span class="k">break</span>
|
||||||
</span><span id="check_params-111"><a href="#check_params-111"><span class="linenos">111</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">ls</span><span class="p">:</span>
|
</span><span id="check_params-111"><a href="#check_params-111"><span class="linenos">111</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">ls</span><span class="p">:</span>
|
||||||
|
|
@ -424,7 +424,7 @@ string with integers of which idls are missing</li>
|
||||||
</span><span id="check_params-121"><a href="#check_params-121"><span class="linenos">121</span></a> <span class="n">rep_path</span> <span class="o">=</span> <span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">rep</span>
|
</span><span id="check_params-121"><a href="#check_params-121"><span class="linenos">121</span></a> <span class="n">rep_path</span> <span class="o">=</span> <span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">rep</span>
|
||||||
</span><span id="check_params-122"><a href="#check_params-122"><span class="linenos">122</span></a> <span class="c1"># files of replicum</span>
|
</span><span id="check_params-122"><a href="#check_params-122"><span class="linenos">122</span></a> <span class="c1"># files of replicum</span>
|
||||||
</span><span id="check_params-123"><a href="#check_params-123"><span class="linenos">123</span></a> <span class="n">sub_ls</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="check_params-123"><a href="#check_params-123"><span class="linenos">123</span></a> <span class="n">sub_ls</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="check_params-124"><a href="#check_params-124"><span class="linenos">124</span></a> <span class="k">for</span> <span class="p">(</span><span class="n">dirpath</span><span class="p">,</span> <span class="n">dirnames</span><span class="p">,</span> <span class="n">filenames</span><span class="p">)</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">rep_path</span><span class="p">):</span>
|
</span><span id="check_params-124"><a href="#check_params-124"><span class="linenos">124</span></a> <span class="k">for</span> <span class="p">(</span><span class="n">_dirpath</span><span class="p">,</span> <span class="n">_dirnames</span><span class="p">,</span> <span class="n">filenames</span><span class="p">)</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">rep_path</span><span class="p">):</span>
|
||||||
</span><span id="check_params-125"><a href="#check_params-125"><span class="linenos">125</span></a> <span class="n">sub_ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">filenames</span><span class="p">)</span>
|
</span><span id="check_params-125"><a href="#check_params-125"><span class="linenos">125</span></a> <span class="n">sub_ls</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">filenames</span><span class="p">)</span>
|
||||||
</span><span id="check_params-126"><a href="#check_params-126"><span class="linenos">126</span></a>
|
</span><span id="check_params-126"><a href="#check_params-126"><span class="linenos">126</span></a>
|
||||||
</span><span id="check_params-127"><a href="#check_params-127"><span class="linenos">127</span></a> <span class="c1"># filter</span>
|
</span><span id="check_params-127"><a href="#check_params-127"><span class="linenos">127</span></a> <span class="c1"># filter</span>
|
||||||
|
|
@ -436,9 +436,9 @@ string with integers of which idls are missing</li>
|
||||||
</span><span id="check_params-133"><a href="#check_params-133"><span class="linenos">133</span></a> <span class="n">rep_nums</span> <span class="o">=</span> <span class="s1">''</span>
|
</span><span id="check_params-133"><a href="#check_params-133"><span class="linenos">133</span></a> <span class="n">rep_nums</span> <span class="o">=</span> <span class="s1">''</span>
|
||||||
</span><span id="check_params-134"><a href="#check_params-134"><span class="linenos">134</span></a> <span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">param_files</span><span class="p">:</span>
|
</span><span id="check_params-134"><a href="#check_params-134"><span class="linenos">134</span></a> <span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">param_files</span><span class="p">:</span>
|
||||||
</span><span id="check_params-135"><a href="#check_params-135"><span class="linenos">135</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">rep_path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">file</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
|
</span><span id="check_params-135"><a href="#check_params-135"><span class="linenos">135</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">rep_path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">file</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
|
||||||
</span><span id="check_params-136"><a href="#check_params-136"><span class="linenos">136</span></a> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">fp</span><span class="p">:</span>
|
</span><span id="check_params-136"><a href="#check_params-136"><span class="linenos">136</span></a> <span class="n">last_line</span> <span class="o">=</span> <span class="s1">''</span>
|
||||||
</span><span id="check_params-137"><a href="#check_params-137"><span class="linenos">137</span></a> <span class="k">pass</span>
|
</span><span id="check_params-137"><a href="#check_params-137"><span class="linenos">137</span></a> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">fp</span><span class="p">:</span>
|
||||||
</span><span id="check_params-138"><a href="#check_params-138"><span class="linenos">138</span></a> <span class="n">last_line</span> <span class="o">=</span> <span class="n">line</span>
|
</span><span id="check_params-138"><a href="#check_params-138"><span class="linenos">138</span></a> <span class="n">last_line</span> <span class="o">=</span> <span class="n">line</span>
|
||||||
</span><span id="check_params-139"><a href="#check_params-139"><span class="linenos">139</span></a> <span class="k">if</span> <span class="n">last_line</span><span class="o">.</span><span class="n">split</span><span class="p">()[</span><span class="mi">2</span><span class="p">]</span> <span class="o">!=</span> <span class="n">param_hash</span><span class="p">:</span>
|
</span><span id="check_params-139"><a href="#check_params-139"><span class="linenos">139</span></a> <span class="k">if</span> <span class="n">last_line</span><span class="o">.</span><span class="n">split</span><span class="p">()[</span><span class="mi">2</span><span class="p">]</span> <span class="o">!=</span> <span class="n">param_hash</span><span class="p">:</span>
|
||||||
</span><span id="check_params-140"><a href="#check_params-140"><span class="linenos">140</span></a> <span class="n">rep_nums</span> <span class="o">+=</span> <span class="n">file</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"_"</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="s1">','</span>
|
</span><span id="check_params-140"><a href="#check_params-140"><span class="linenos">140</span></a> <span class="n">rep_nums</span> <span class="o">+=</span> <span class="n">file</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"_"</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="s1">','</span>
|
||||||
</span><span id="check_params-141"><a href="#check_params-141"><span class="linenos">141</span></a> <span class="n">nums</span><span class="p">[</span><span class="n">rep_path</span><span class="p">]</span> <span class="o">=</span> <span class="n">rep_nums</span>
|
</span><span id="check_params-141"><a href="#check_params-141"><span class="linenos">141</span></a> <span class="n">nums</span><span class="p">[</span><span class="n">rep_path</span><span class="p">]</span> <span class="o">=</span> <span class="n">rep_nums</span>
|
||||||
|
|
|
||||||
|
|
@ -77,92 +77,93 @@
|
||||||
<label class="view-source-button" for="mod-integrate-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="mod-integrate-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
||||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.obs</span><span class="w"> </span><span class="kn">import</span> <span class="n">derived_observable</span><span class="p">,</span> <span class="n">Obs</span>
|
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">autograd</span><span class="w"> </span><span class="kn">import</span> <span class="n">jacobian</span>
|
||||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">autograd</span><span class="w"> </span><span class="kn">import</span> <span class="n">jacobian</span>
|
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.integrate</span><span class="w"> </span><span class="kn">import</span> <span class="n">quad</span> <span class="k">as</span> <span class="n">squad</span>
|
||||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.integrate</span><span class="w"> </span><span class="kn">import</span> <span class="n">quad</span> <span class="k">as</span> <span class="n">squad</span>
|
</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-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.obs</span><span class="w"> </span><span class="kn">import</span> <span class="n">Obs</span><span class="p">,</span> <span class="n">derived_observable</span>
|
||||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</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="w"> </span><span class="nf">quad</span><span class="p">(</span><span class="n">func</span><span class="p">,</span> <span class="n">p</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="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><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="w"> </span><span class="sd">'''Performs a (one-dimensional) numeric integration of f(p, x) from a to b.</span>
|
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="k">def</span><span class="w"> </span><span class="nf">quad</span><span class="p">(</span><span class="n">func</span><span class="p">,</span> <span class="n">p</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="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a>
|
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="w"> </span><span class="sd">'''Performs a (one-dimensional) numeric integration of f(p, x) from a to b.</span>
|
||||||
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a><span class="sd"> The integration is performed using scipy.integrate.quad().</span>
|
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a>
|
||||||
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a><span class="sd"> All parameters that can be passed to scipy.integrate.quad may also be passed to this function.</span>
|
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a><span class="sd"> The integration is performed using scipy.integrate.quad().</span>
|
||||||
</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a><span class="sd"> The output is the same as for scipy.integrate.quad, the first element being an Obs.</span>
|
</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a><span class="sd"> All parameters that can be passed to scipy.integrate.quad may also be passed to this function.</span>
|
||||||
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a>
|
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a><span class="sd"> The output is the same as for scipy.integrate.quad, the first element being an Obs.</span>
|
||||||
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a><span class="sd"> Parameters</span>
|
</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="sd"> ----------</span>
|
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a><span class="sd"> func : object</span>
|
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a><span class="sd"> function to integrate, has to be of the form</span>
|
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a><span class="sd"> func : object</span>
|
||||||
</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a>
|
</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a><span class="sd"> function to integrate, has to be of the form</span>
|
||||||
</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a><span class="sd"> ```python</span>
|
</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="sd"> import autograd.numpy as anp</span>
|
</span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a><span class="sd"> ```python</span>
|
||||||
</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a>
|
</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a><span class="sd"> import autograd.numpy as anp</span>
|
||||||
</span><span id="L-22"><a href="#L-22"><span class="linenos">22</span></a><span class="sd"> def func(p, x):</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"> return p[0] + p[1] * x + p[2] * anp.sinh(x)</span>
|
</span><span id="L-23"><a href="#L-23"><span class="linenos">23</span></a><span class="sd"> def func(p, x):</span>
|
||||||
</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a><span class="sd"> ```</span>
|
</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a><span class="sd"> return p[0] + p[1] * x + p[2] * anp.sinh(x)</span>
|
||||||
</span><span id="L-25"><a href="#L-25"><span class="linenos">25</span></a><span class="sd"> where x is the integration variable.</span>
|
</span><span id="L-25"><a href="#L-25"><span class="linenos">25</span></a><span class="sd"> ```</span>
|
||||||
</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a><span class="sd"> p : list of floats or Obs</span>
|
</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a><span class="sd"> where x is the integration variable.</span>
|
||||||
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a><span class="sd"> parameters of the function func.</span>
|
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a><span class="sd"> p : list of floats or Obs</span>
|
||||||
</span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a><span class="sd"> a: float or Obs</span>
|
</span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a><span class="sd"> parameters of the function func.</span>
|
||||||
</span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a><span class="sd"> Lower limit of integration (use -numpy.inf for -infinity).</span>
|
</span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a><span class="sd"> a: float or Obs</span>
|
||||||
</span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a><span class="sd"> b: float or Obs</span>
|
</span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a><span class="sd"> Lower limit of integration (use -numpy.inf for -infinity).</span>
|
||||||
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a><span class="sd"> Upper limit of integration (use -numpy.inf for -infinity).</span>
|
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a><span class="sd"> b: float or Obs</span>
|
||||||
</span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a><span class="sd"> All parameters of scipy.integrate.quad</span>
|
</span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a><span class="sd"> Upper limit of integration (use -numpy.inf for -infinity).</span>
|
||||||
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a>
|
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a><span class="sd"> All parameters of scipy.integrate.quad</span>
|
||||||
</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a><span class="sd"> Returns</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"> -------</span>
|
</span><span id="L-35"><a href="#L-35"><span class="linenos">35</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a><span class="sd"> y : Obs</span>
|
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a><span class="sd"> The integral of func from `a` to `b`.</span>
|
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a><span class="sd"> y : Obs</span>
|
||||||
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a><span class="sd"> abserr : float</span>
|
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a><span class="sd"> The integral of func from `a` to `b`.</span>
|
||||||
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a><span class="sd"> An estimate of the absolute error in the result.</span>
|
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a><span class="sd"> abserr : float</span>
|
||||||
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a><span class="sd"> infodict : dict</span>
|
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a><span class="sd"> An estimate of the absolute error in the result.</span>
|
||||||
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a><span class="sd"> A dictionary containing additional information.</span>
|
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a><span class="sd"> infodict : dict</span>
|
||||||
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a><span class="sd"> Run scipy.integrate.quad_explain() for more information.</span>
|
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a><span class="sd"> A dictionary containing additional information.</span>
|
||||||
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a><span class="sd"> message</span>
|
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a><span class="sd"> Run scipy.integrate.quad_explain() for more information.</span>
|
||||||
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a><span class="sd"> A convergence message.</span>
|
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a><span class="sd"> message</span>
|
||||||
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a><span class="sd"> explain</span>
|
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a><span class="sd"> A convergence message.</span>
|
||||||
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a><span class="sd"> Appended only with 'cos' or 'sin' weighting and infinite</span>
|
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a><span class="sd"> explain</span>
|
||||||
</span><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a><span class="sd"> integration limits, it contains an explanation of the codes in</span>
|
</span><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a><span class="sd"> Appended only with 'cos' or 'sin' weighting and infinite</span>
|
||||||
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a><span class="sd"> infodict['ierlst']</span>
|
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a><span class="sd"> integration limits, it contains an explanation of the codes in</span>
|
||||||
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a><span class="sd"> '''</span>
|
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a><span class="sd"> infodict['ierlst']</span>
|
||||||
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a>
|
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a><span class="sd"> '''</span>
|
||||||
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a> <span class="n">Np</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
|
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a>
|
||||||
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a> <span class="n">isobs</span> <span class="o">=</span> <span class="p">[</span><span class="kc">True</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">pi</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">else</span> <span class="kc">False</span> <span class="k">for</span> <span class="n">pi</span> <span class="ow">in</span> <span class="n">p</span><span class="p">]</span>
|
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a> <span class="n">Np</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
|
||||||
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a> <span class="n">pval</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">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="k">if</span> <span class="n">isobs</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">else</span> <span class="n">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Np</span><span class="p">)],)</span>
|
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a> <span class="n">isobs</span> <span class="o">=</span> <span class="p">[</span><span class="kc">True</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">pi</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">else</span> <span class="kc">False</span> <span class="k">for</span> <span class="n">pi</span> <span class="ow">in</span> <span class="n">p</span><span class="p">]</span>
|
||||||
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a> <span class="n">pobs</span> <span class="o">=</span> <span class="p">[</span><span class="n">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Np</span><span class="p">)</span> <span class="k">if</span> <span class="n">isobs</span><span class="p">[</span><span class="n">i</span><span class="p">]]</span>
|
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a> <span class="n">pval</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">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="k">if</span> <span class="n">isobs</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">else</span> <span class="n">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Np</span><span class="p">)],)</span>
|
||||||
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a>
|
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a> <span class="n">pobs</span> <span class="o">=</span> <span class="p">[</span><span class="n">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Np</span><span class="p">)</span> <span class="k">if</span> <span class="n">isobs</span><span class="p">[</span><span class="n">i</span><span class="p">]]</span>
|
||||||
</span><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a> <span class="n">bounds</span> <span class="o">=</span> <span class="p">[</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">]</span>
|
</span><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a>
|
||||||
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a> <span class="n">isobs_b</span> <span class="o">=</span> <span class="p">[</span><span class="kc">True</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">bi</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">else</span> <span class="kc">False</span> <span class="k">for</span> <span class="n">bi</span> <span class="ow">in</span> <span class="n">bounds</span><span class="p">]</span>
|
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a> <span class="n">bounds</span> <span class="o">=</span> <span class="p">[</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">]</span>
|
||||||
</span><span id="L-58"><a href="#L-58"><span class="linenos">58</span></a> <span class="n">bval</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">bounds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="k">if</span> <span class="n">isobs_b</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">else</span> <span class="n">bounds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">)])</span>
|
</span><span id="L-58"><a href="#L-58"><span class="linenos">58</span></a> <span class="n">isobs_b</span> <span class="o">=</span> <span class="p">[</span><span class="kc">True</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">bi</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">else</span> <span class="kc">False</span> <span class="k">for</span> <span class="n">bi</span> <span class="ow">in</span> <span class="n">bounds</span><span class="p">]</span>
|
||||||
</span><span id="L-59"><a href="#L-59"><span class="linenos">59</span></a> <span class="n">bobs</span> <span class="o">=</span> <span class="p">[</span><span class="n">bounds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="k">if</span> <span class="n">isobs_b</span><span class="p">[</span><span class="n">i</span><span class="p">]]</span>
|
</span><span id="L-59"><a href="#L-59"><span class="linenos">59</span></a> <span class="n">bval</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">bounds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="k">if</span> <span class="n">isobs_b</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">else</span> <span class="n">bounds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">)])</span>
|
||||||
</span><span id="L-60"><a href="#L-60"><span class="linenos">60</span></a> <span class="n">bsign</span> <span class="o">=</span> <span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">]</span>
|
</span><span id="L-60"><a href="#L-60"><span class="linenos">60</span></a> <span class="n">bobs</span> <span class="o">=</span> <span class="p">[</span><span class="n">bounds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="k">if</span> <span class="n">isobs_b</span><span class="p">[</span><span class="n">i</span><span class="p">]]</span>
|
||||||
</span><span id="L-61"><a href="#L-61"><span class="linenos">61</span></a>
|
</span><span id="L-61"><a href="#L-61"><span class="linenos">61</span></a> <span class="n">bsign</span> <span class="o">=</span> <span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">]</span>
|
||||||
</span><span id="L-62"><a href="#L-62"><span class="linenos">62</span></a> <span class="n">ifunc</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vectorize</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">func</span><span class="p">(</span><span class="n">pval</span><span class="p">,</span> <span class="n">x</span><span class="p">))</span>
|
</span><span id="L-62"><a href="#L-62"><span class="linenos">62</span></a>
|
||||||
</span><span id="L-63"><a href="#L-63"><span class="linenos">63</span></a>
|
</span><span id="L-63"><a href="#L-63"><span class="linenos">63</span></a> <span class="n">ifunc</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vectorize</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">func</span><span class="p">(</span><span class="n">pval</span><span class="p">,</span> <span class="n">x</span><span class="p">))</span>
|
||||||
</span><span id="L-64"><a href="#L-64"><span class="linenos">64</span></a> <span class="n">intpars</span> <span class="o">=</span> <span class="n">squad</span><span class="o">.</span><span class="vm">__code__</span><span class="o">.</span><span class="n">co_varnames</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="mi">3</span> <span class="o">+</span> <span class="nb">len</span><span class="p">(</span><span class="n">squad</span><span class="o">.</span><span class="vm">__defaults__</span><span class="p">)]</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="n">ikwargs</span> <span class="o">=</span> <span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">kwargs</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">intpars</span> <span class="k">if</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">}</span>
|
</span><span id="L-65"><a href="#L-65"><span class="linenos">65</span></a> <span class="n">intpars</span> <span class="o">=</span> <span class="n">squad</span><span class="o">.</span><span class="vm">__code__</span><span class="o">.</span><span class="n">co_varnames</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="mi">3</span> <span class="o">+</span> <span class="nb">len</span><span class="p">(</span><span class="n">squad</span><span class="o">.</span><span class="vm">__defaults__</span><span class="p">)]</span>
|
||||||
</span><span id="L-66"><a href="#L-66"><span class="linenos">66</span></a>
|
</span><span id="L-66"><a href="#L-66"><span class="linenos">66</span></a> <span class="n">ikwargs</span> <span class="o">=</span> <span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">kwargs</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">intpars</span> <span class="k">if</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">}</span>
|
||||||
</span><span id="L-67"><a href="#L-67"><span class="linenos">67</span></a> <span class="n">integration_result</span> <span class="o">=</span> <span class="n">squad</span><span class="p">(</span><span class="n">ifunc</span><span class="p">,</span> <span class="n">bval</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">bval</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="o">**</span><span class="n">ikwargs</span><span class="p">)</span>
|
</span><span id="L-67"><a href="#L-67"><span class="linenos">67</span></a>
|
||||||
</span><span id="L-68"><a href="#L-68"><span class="linenos">68</span></a> <span class="n">val</span> <span class="o">=</span> <span class="n">integration_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
</span><span id="L-68"><a href="#L-68"><span class="linenos">68</span></a> <span class="n">integration_result</span> <span class="o">=</span> <span class="n">squad</span><span class="p">(</span><span class="n">ifunc</span><span class="p">,</span> <span class="n">bval</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">bval</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="o">**</span><span class="n">ikwargs</span><span class="p">)</span>
|
||||||
</span><span id="L-69"><a href="#L-69"><span class="linenos">69</span></a>
|
</span><span id="L-69"><a href="#L-69"><span class="linenos">69</span></a> <span class="n">val</span> <span class="o">=</span> <span class="n">integration_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||||
</span><span id="L-70"><a href="#L-70"><span class="linenos">70</span></a> <span class="n">jac</span> <span class="o">=</span> <span class="n">jacobian</span><span class="p">(</span><span class="n">func</span><span class="p">)</span>
|
</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><span id="L-71"><a href="#L-71"><span class="linenos">71</span></a> <span class="n">jac</span> <span class="o">=</span> <span class="n">jacobian</span><span class="p">(</span><span class="n">func</span><span class="p">)</span>
|
||||||
</span><span id="L-72"><a href="#L-72"><span class="linenos">72</span></a> <span class="n">derivint</span> <span class="o">=</span> <span class="p">[]</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="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Np</span><span class="p">):</span>
|
</span><span id="L-73"><a href="#L-73"><span class="linenos">73</span></a> <span class="n">derivint</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="L-74"><a href="#L-74"><span class="linenos">74</span></a> <span class="k">if</span> <span class="n">isobs</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span>
|
</span><span id="L-74"><a href="#L-74"><span class="linenos">74</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Np</span><span class="p">):</span>
|
||||||
</span><span id="L-75"><a href="#L-75"><span class="linenos">75</span></a> <span class="n">ifunc</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vectorize</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">jac</span><span class="p">(</span><span class="n">pval</span><span class="p">,</span> <span class="n">x</span><span class="p">)[</span><span class="n">i</span><span class="p">])</span>
|
</span><span id="L-75"><a href="#L-75"><span class="linenos">75</span></a> <span class="k">if</span> <span class="n">isobs</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span>
|
||||||
</span><span id="L-76"><a href="#L-76"><span class="linenos">76</span></a> <span class="n">derivint</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">squad</span><span class="p">(</span><span class="n">ifunc</span><span class="p">,</span> <span class="n">bounds</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">bounds</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="o">**</span><span class="n">ikwargs</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="L-76"><a href="#L-76"><span class="linenos">76</span></a> <span class="n">ifunc</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vectorize</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">i</span><span class="o">=</span><span class="n">i</span><span class="p">:</span> <span class="n">jac</span><span class="p">(</span><span class="n">pval</span><span class="p">,</span> <span class="n">x</span><span class="p">)[</span><span class="n">i</span><span class="p">])</span>
|
||||||
</span><span id="L-77"><a href="#L-77"><span class="linenos">77</span></a>
|
</span><span id="L-77"><a href="#L-77"><span class="linenos">77</span></a> <span class="n">derivint</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">squad</span><span class="p">(</span><span class="n">ifunc</span><span class="p">,</span> <span class="n">bounds</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">bounds</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="o">**</span><span class="n">ikwargs</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="L-78"><a href="#L-78"><span class="linenos">78</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">):</span>
|
</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">if</span> <span class="n">isobs_b</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span>
|
</span><span id="L-79"><a href="#L-79"><span class="linenos">79</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">):</span>
|
||||||
</span><span id="L-80"><a href="#L-80"><span class="linenos">80</span></a> <span class="n">derivint</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">bsign</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">*</span> <span class="n">func</span><span class="p">(</span><span class="n">pval</span><span class="p">,</span> <span class="n">bval</span><span class="p">[</span><span class="n">i</span><span class="p">]))</span>
|
</span><span id="L-80"><a href="#L-80"><span class="linenos">80</span></a> <span class="k">if</span> <span class="n">isobs_b</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span>
|
||||||
</span><span id="L-81"><a href="#L-81"><span class="linenos">81</span></a>
|
</span><span id="L-81"><a href="#L-81"><span class="linenos">81</span></a> <span class="n">derivint</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">bsign</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">*</span> <span class="n">func</span><span class="p">(</span><span class="n">pval</span><span class="p">,</span> <span class="n">bval</span><span class="p">[</span><span class="n">i</span><span class="p">]))</span>
|
||||||
</span><span id="L-82"><a href="#L-82"><span class="linenos">82</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">derivint</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
</span><span id="L-82"><a href="#L-82"><span class="linenos">82</span></a>
|
||||||
</span><span id="L-83"><a href="#L-83"><span class="linenos">83</span></a> <span class="k">return</span> <span class="n">integration_result</span>
|
</span><span id="L-83"><a href="#L-83"><span class="linenos">83</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">derivint</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||||
</span><span id="L-84"><a href="#L-84"><span class="linenos">84</span></a>
|
</span><span id="L-84"><a href="#L-84"><span class="linenos">84</span></a> <span class="k">return</span> <span class="n">integration_result</span>
|
||||||
</span><span id="L-85"><a href="#L-85"><span class="linenos">85</span></a> <span class="n">res</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="mi">0</span> <span class="o">*</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="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 class="o">*</span> <span class="p">(</span><span class="n">pval</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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 class="o">+</span> <span class="n">val</span><span class="p">,</span> <span class="n">pobs</span> <span class="o">+</span> <span class="n">bobs</span><span class="p">,</span> <span class="n">man_grad</span><span class="o">=</span><span class="n">derivint</span><span class="p">)</span>
|
</span><span id="L-85"><a href="#L-85"><span class="linenos">85</span></a>
|
||||||
</span><span id="L-86"><a href="#L-86"><span class="linenos">86</span></a>
|
</span><span id="L-86"><a href="#L-86"><span class="linenos">86</span></a> <span class="n">res</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="mi">0</span> <span class="o">*</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="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 class="o">*</span> <span class="p">(</span><span class="n">pval</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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 class="o">+</span> <span class="n">val</span><span class="p">,</span> <span class="n">pobs</span> <span class="o">+</span> <span class="n">bobs</span><span class="p">,</span> <span class="n">man_grad</span><span class="o">=</span><span class="n">derivint</span><span class="p">)</span>
|
||||||
</span><span id="L-87"><a href="#L-87"><span class="linenos">87</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">res</span><span class="p">,</span> <span class="o">*</span><span class="n">integration_result</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span>
|
</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">return</span> <span class="p">(</span><span class="n">res</span><span class="p">,</span> <span class="o">*</span><span class="n">integration_result</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -178,87 +179,87 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#quad"></a>
|
<a class="headerlink" href="#quad"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="quad-8"><a href="#quad-8"><span class="linenos"> 8</span></a><span class="k">def</span><span class="w"> </span><span class="nf">quad</span><span class="p">(</span><span class="n">func</span><span class="p">,</span> <span class="n">p</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="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="quad-9"><a href="#quad-9"><span class="linenos"> 9</span></a><span class="k">def</span><span class="w"> </span><span class="nf">quad</span><span class="p">(</span><span class="n">func</span><span class="p">,</span> <span class="n">p</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="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||||
</span><span id="quad-9"><a href="#quad-9"><span class="linenos"> 9</span></a><span class="w"> </span><span class="sd">'''Performs a (one-dimensional) numeric integration of f(p, x) from a to b.</span>
|
</span><span id="quad-10"><a href="#quad-10"><span class="linenos">10</span></a><span class="w"> </span><span class="sd">'''Performs a (one-dimensional) numeric integration of f(p, x) from a to b.</span>
|
||||||
</span><span id="quad-10"><a href="#quad-10"><span class="linenos">10</span></a>
|
</span><span id="quad-11"><a href="#quad-11"><span class="linenos">11</span></a>
|
||||||
</span><span id="quad-11"><a href="#quad-11"><span class="linenos">11</span></a><span class="sd"> The integration is performed using scipy.integrate.quad().</span>
|
</span><span id="quad-12"><a href="#quad-12"><span class="linenos">12</span></a><span class="sd"> The integration is performed using scipy.integrate.quad().</span>
|
||||||
</span><span id="quad-12"><a href="#quad-12"><span class="linenos">12</span></a><span class="sd"> All parameters that can be passed to scipy.integrate.quad may also be passed to this function.</span>
|
</span><span id="quad-13"><a href="#quad-13"><span class="linenos">13</span></a><span class="sd"> All parameters that can be passed to scipy.integrate.quad may also be passed to this function.</span>
|
||||||
</span><span id="quad-13"><a href="#quad-13"><span class="linenos">13</span></a><span class="sd"> The output is the same as for scipy.integrate.quad, the first element being an Obs.</span>
|
</span><span id="quad-14"><a href="#quad-14"><span class="linenos">14</span></a><span class="sd"> The output is the same as for scipy.integrate.quad, the first element being an Obs.</span>
|
||||||
</span><span id="quad-14"><a href="#quad-14"><span class="linenos">14</span></a>
|
</span><span id="quad-15"><a href="#quad-15"><span class="linenos">15</span></a>
|
||||||
</span><span id="quad-15"><a href="#quad-15"><span class="linenos">15</span></a><span class="sd"> Parameters</span>
|
</span><span id="quad-16"><a href="#quad-16"><span class="linenos">16</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="quad-16"><a href="#quad-16"><span class="linenos">16</span></a><span class="sd"> ----------</span>
|
</span><span id="quad-17"><a href="#quad-17"><span class="linenos">17</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="quad-17"><a href="#quad-17"><span class="linenos">17</span></a><span class="sd"> func : object</span>
|
</span><span id="quad-18"><a href="#quad-18"><span class="linenos">18</span></a><span class="sd"> func : object</span>
|
||||||
</span><span id="quad-18"><a href="#quad-18"><span class="linenos">18</span></a><span class="sd"> function to integrate, has to be of the form</span>
|
</span><span id="quad-19"><a href="#quad-19"><span class="linenos">19</span></a><span class="sd"> function to integrate, has to be of the form</span>
|
||||||
</span><span id="quad-19"><a href="#quad-19"><span class="linenos">19</span></a>
|
</span><span id="quad-20"><a href="#quad-20"><span class="linenos">20</span></a>
|
||||||
</span><span id="quad-20"><a href="#quad-20"><span class="linenos">20</span></a><span class="sd"> ```python</span>
|
</span><span id="quad-21"><a href="#quad-21"><span class="linenos">21</span></a><span class="sd"> ```python</span>
|
||||||
</span><span id="quad-21"><a href="#quad-21"><span class="linenos">21</span></a><span class="sd"> import autograd.numpy as anp</span>
|
</span><span id="quad-22"><a href="#quad-22"><span class="linenos">22</span></a><span class="sd"> import autograd.numpy as anp</span>
|
||||||
</span><span id="quad-22"><a href="#quad-22"><span class="linenos">22</span></a>
|
</span><span id="quad-23"><a href="#quad-23"><span class="linenos">23</span></a>
|
||||||
</span><span id="quad-23"><a href="#quad-23"><span class="linenos">23</span></a><span class="sd"> def func(p, x):</span>
|
</span><span id="quad-24"><a href="#quad-24"><span class="linenos">24</span></a><span class="sd"> def func(p, x):</span>
|
||||||
</span><span id="quad-24"><a href="#quad-24"><span class="linenos">24</span></a><span class="sd"> return p[0] + p[1] * x + p[2] * anp.sinh(x)</span>
|
</span><span id="quad-25"><a href="#quad-25"><span class="linenos">25</span></a><span class="sd"> return p[0] + p[1] * x + p[2] * anp.sinh(x)</span>
|
||||||
</span><span id="quad-25"><a href="#quad-25"><span class="linenos">25</span></a><span class="sd"> ```</span>
|
</span><span id="quad-26"><a href="#quad-26"><span class="linenos">26</span></a><span class="sd"> ```</span>
|
||||||
</span><span id="quad-26"><a href="#quad-26"><span class="linenos">26</span></a><span class="sd"> where x is the integration variable.</span>
|
</span><span id="quad-27"><a href="#quad-27"><span class="linenos">27</span></a><span class="sd"> where x is the integration variable.</span>
|
||||||
</span><span id="quad-27"><a href="#quad-27"><span class="linenos">27</span></a><span class="sd"> p : list of floats or Obs</span>
|
</span><span id="quad-28"><a href="#quad-28"><span class="linenos">28</span></a><span class="sd"> p : list of floats or Obs</span>
|
||||||
</span><span id="quad-28"><a href="#quad-28"><span class="linenos">28</span></a><span class="sd"> parameters of the function func.</span>
|
</span><span id="quad-29"><a href="#quad-29"><span class="linenos">29</span></a><span class="sd"> parameters of the function func.</span>
|
||||||
</span><span id="quad-29"><a href="#quad-29"><span class="linenos">29</span></a><span class="sd"> a: float or Obs</span>
|
</span><span id="quad-30"><a href="#quad-30"><span class="linenos">30</span></a><span class="sd"> a: float or Obs</span>
|
||||||
</span><span id="quad-30"><a href="#quad-30"><span class="linenos">30</span></a><span class="sd"> Lower limit of integration (use -numpy.inf for -infinity).</span>
|
</span><span id="quad-31"><a href="#quad-31"><span class="linenos">31</span></a><span class="sd"> Lower limit of integration (use -numpy.inf for -infinity).</span>
|
||||||
</span><span id="quad-31"><a href="#quad-31"><span class="linenos">31</span></a><span class="sd"> b: float or Obs</span>
|
</span><span id="quad-32"><a href="#quad-32"><span class="linenos">32</span></a><span class="sd"> b: float or Obs</span>
|
||||||
</span><span id="quad-32"><a href="#quad-32"><span class="linenos">32</span></a><span class="sd"> Upper limit of integration (use -numpy.inf for -infinity).</span>
|
</span><span id="quad-33"><a href="#quad-33"><span class="linenos">33</span></a><span class="sd"> Upper limit of integration (use -numpy.inf for -infinity).</span>
|
||||||
</span><span id="quad-33"><a href="#quad-33"><span class="linenos">33</span></a><span class="sd"> All parameters of scipy.integrate.quad</span>
|
</span><span id="quad-34"><a href="#quad-34"><span class="linenos">34</span></a><span class="sd"> All parameters of scipy.integrate.quad</span>
|
||||||
</span><span id="quad-34"><a href="#quad-34"><span class="linenos">34</span></a>
|
</span><span id="quad-35"><a href="#quad-35"><span class="linenos">35</span></a>
|
||||||
</span><span id="quad-35"><a href="#quad-35"><span class="linenos">35</span></a><span class="sd"> Returns</span>
|
</span><span id="quad-36"><a href="#quad-36"><span class="linenos">36</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="quad-36"><a href="#quad-36"><span class="linenos">36</span></a><span class="sd"> -------</span>
|
</span><span id="quad-37"><a href="#quad-37"><span class="linenos">37</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="quad-37"><a href="#quad-37"><span class="linenos">37</span></a><span class="sd"> y : Obs</span>
|
</span><span id="quad-38"><a href="#quad-38"><span class="linenos">38</span></a><span class="sd"> y : Obs</span>
|
||||||
</span><span id="quad-38"><a href="#quad-38"><span class="linenos">38</span></a><span class="sd"> The integral of func from `a` to `b`.</span>
|
</span><span id="quad-39"><a href="#quad-39"><span class="linenos">39</span></a><span class="sd"> The integral of func from `a` to `b`.</span>
|
||||||
</span><span id="quad-39"><a href="#quad-39"><span class="linenos">39</span></a><span class="sd"> abserr : float</span>
|
</span><span id="quad-40"><a href="#quad-40"><span class="linenos">40</span></a><span class="sd"> abserr : float</span>
|
||||||
</span><span id="quad-40"><a href="#quad-40"><span class="linenos">40</span></a><span class="sd"> An estimate of the absolute error in the result.</span>
|
</span><span id="quad-41"><a href="#quad-41"><span class="linenos">41</span></a><span class="sd"> An estimate of the absolute error in the result.</span>
|
||||||
</span><span id="quad-41"><a href="#quad-41"><span class="linenos">41</span></a><span class="sd"> infodict : dict</span>
|
</span><span id="quad-42"><a href="#quad-42"><span class="linenos">42</span></a><span class="sd"> infodict : dict</span>
|
||||||
</span><span id="quad-42"><a href="#quad-42"><span class="linenos">42</span></a><span class="sd"> A dictionary containing additional information.</span>
|
</span><span id="quad-43"><a href="#quad-43"><span class="linenos">43</span></a><span class="sd"> A dictionary containing additional information.</span>
|
||||||
</span><span id="quad-43"><a href="#quad-43"><span class="linenos">43</span></a><span class="sd"> Run scipy.integrate.quad_explain() for more information.</span>
|
</span><span id="quad-44"><a href="#quad-44"><span class="linenos">44</span></a><span class="sd"> Run scipy.integrate.quad_explain() for more information.</span>
|
||||||
</span><span id="quad-44"><a href="#quad-44"><span class="linenos">44</span></a><span class="sd"> message</span>
|
</span><span id="quad-45"><a href="#quad-45"><span class="linenos">45</span></a><span class="sd"> message</span>
|
||||||
</span><span id="quad-45"><a href="#quad-45"><span class="linenos">45</span></a><span class="sd"> A convergence message.</span>
|
</span><span id="quad-46"><a href="#quad-46"><span class="linenos">46</span></a><span class="sd"> A convergence message.</span>
|
||||||
</span><span id="quad-46"><a href="#quad-46"><span class="linenos">46</span></a><span class="sd"> explain</span>
|
</span><span id="quad-47"><a href="#quad-47"><span class="linenos">47</span></a><span class="sd"> explain</span>
|
||||||
</span><span id="quad-47"><a href="#quad-47"><span class="linenos">47</span></a><span class="sd"> Appended only with 'cos' or 'sin' weighting and infinite</span>
|
</span><span id="quad-48"><a href="#quad-48"><span class="linenos">48</span></a><span class="sd"> Appended only with 'cos' or 'sin' weighting and infinite</span>
|
||||||
</span><span id="quad-48"><a href="#quad-48"><span class="linenos">48</span></a><span class="sd"> integration limits, it contains an explanation of the codes in</span>
|
</span><span id="quad-49"><a href="#quad-49"><span class="linenos">49</span></a><span class="sd"> integration limits, it contains an explanation of the codes in</span>
|
||||||
</span><span id="quad-49"><a href="#quad-49"><span class="linenos">49</span></a><span class="sd"> infodict['ierlst']</span>
|
</span><span id="quad-50"><a href="#quad-50"><span class="linenos">50</span></a><span class="sd"> infodict['ierlst']</span>
|
||||||
</span><span id="quad-50"><a href="#quad-50"><span class="linenos">50</span></a><span class="sd"> '''</span>
|
</span><span id="quad-51"><a href="#quad-51"><span class="linenos">51</span></a><span class="sd"> '''</span>
|
||||||
</span><span id="quad-51"><a href="#quad-51"><span class="linenos">51</span></a>
|
</span><span id="quad-52"><a href="#quad-52"><span class="linenos">52</span></a>
|
||||||
</span><span id="quad-52"><a href="#quad-52"><span class="linenos">52</span></a> <span class="n">Np</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
|
</span><span id="quad-53"><a href="#quad-53"><span class="linenos">53</span></a> <span class="n">Np</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
|
||||||
</span><span id="quad-53"><a href="#quad-53"><span class="linenos">53</span></a> <span class="n">isobs</span> <span class="o">=</span> <span class="p">[</span><span class="kc">True</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">pi</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">else</span> <span class="kc">False</span> <span class="k">for</span> <span class="n">pi</span> <span class="ow">in</span> <span class="n">p</span><span class="p">]</span>
|
</span><span id="quad-54"><a href="#quad-54"><span class="linenos">54</span></a> <span class="n">isobs</span> <span class="o">=</span> <span class="p">[</span><span class="kc">True</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">pi</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">else</span> <span class="kc">False</span> <span class="k">for</span> <span class="n">pi</span> <span class="ow">in</span> <span class="n">p</span><span class="p">]</span>
|
||||||
</span><span id="quad-54"><a href="#quad-54"><span class="linenos">54</span></a> <span class="n">pval</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">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="k">if</span> <span class="n">isobs</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">else</span> <span class="n">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Np</span><span class="p">)],)</span>
|
</span><span id="quad-55"><a href="#quad-55"><span class="linenos">55</span></a> <span class="n">pval</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">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="k">if</span> <span class="n">isobs</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">else</span> <span class="n">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Np</span><span class="p">)],)</span>
|
||||||
</span><span id="quad-55"><a href="#quad-55"><span class="linenos">55</span></a> <span class="n">pobs</span> <span class="o">=</span> <span class="p">[</span><span class="n">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Np</span><span class="p">)</span> <span class="k">if</span> <span class="n">isobs</span><span class="p">[</span><span class="n">i</span><span class="p">]]</span>
|
</span><span id="quad-56"><a href="#quad-56"><span class="linenos">56</span></a> <span class="n">pobs</span> <span class="o">=</span> <span class="p">[</span><span class="n">p</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Np</span><span class="p">)</span> <span class="k">if</span> <span class="n">isobs</span><span class="p">[</span><span class="n">i</span><span class="p">]]</span>
|
||||||
</span><span id="quad-56"><a href="#quad-56"><span class="linenos">56</span></a>
|
</span><span id="quad-57"><a href="#quad-57"><span class="linenos">57</span></a>
|
||||||
</span><span id="quad-57"><a href="#quad-57"><span class="linenos">57</span></a> <span class="n">bounds</span> <span class="o">=</span> <span class="p">[</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">]</span>
|
</span><span id="quad-58"><a href="#quad-58"><span class="linenos">58</span></a> <span class="n">bounds</span> <span class="o">=</span> <span class="p">[</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">]</span>
|
||||||
</span><span id="quad-58"><a href="#quad-58"><span class="linenos">58</span></a> <span class="n">isobs_b</span> <span class="o">=</span> <span class="p">[</span><span class="kc">True</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">bi</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">else</span> <span class="kc">False</span> <span class="k">for</span> <span class="n">bi</span> <span class="ow">in</span> <span class="n">bounds</span><span class="p">]</span>
|
</span><span id="quad-59"><a href="#quad-59"><span class="linenos">59</span></a> <span class="n">isobs_b</span> <span class="o">=</span> <span class="p">[</span><span class="kc">True</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">bi</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">else</span> <span class="kc">False</span> <span class="k">for</span> <span class="n">bi</span> <span class="ow">in</span> <span class="n">bounds</span><span class="p">]</span>
|
||||||
</span><span id="quad-59"><a href="#quad-59"><span class="linenos">59</span></a> <span class="n">bval</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">bounds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="k">if</span> <span class="n">isobs_b</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">else</span> <span class="n">bounds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">)])</span>
|
</span><span id="quad-60"><a href="#quad-60"><span class="linenos">60</span></a> <span class="n">bval</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">bounds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">value</span> <span class="k">if</span> <span class="n">isobs_b</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">else</span> <span class="n">bounds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">)])</span>
|
||||||
</span><span id="quad-60"><a href="#quad-60"><span class="linenos">60</span></a> <span class="n">bobs</span> <span class="o">=</span> <span class="p">[</span><span class="n">bounds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="k">if</span> <span class="n">isobs_b</span><span class="p">[</span><span class="n">i</span><span class="p">]]</span>
|
</span><span id="quad-61"><a href="#quad-61"><span class="linenos">61</span></a> <span class="n">bobs</span> <span class="o">=</span> <span class="p">[</span><span class="n">bounds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="k">if</span> <span class="n">isobs_b</span><span class="p">[</span><span class="n">i</span><span class="p">]]</span>
|
||||||
</span><span id="quad-61"><a href="#quad-61"><span class="linenos">61</span></a> <span class="n">bsign</span> <span class="o">=</span> <span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">]</span>
|
</span><span id="quad-62"><a href="#quad-62"><span class="linenos">62</span></a> <span class="n">bsign</span> <span class="o">=</span> <span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">]</span>
|
||||||
</span><span id="quad-62"><a href="#quad-62"><span class="linenos">62</span></a>
|
</span><span id="quad-63"><a href="#quad-63"><span class="linenos">63</span></a>
|
||||||
</span><span id="quad-63"><a href="#quad-63"><span class="linenos">63</span></a> <span class="n">ifunc</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vectorize</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">func</span><span class="p">(</span><span class="n">pval</span><span class="p">,</span> <span class="n">x</span><span class="p">))</span>
|
</span><span id="quad-64"><a href="#quad-64"><span class="linenos">64</span></a> <span class="n">ifunc</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vectorize</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">func</span><span class="p">(</span><span class="n">pval</span><span class="p">,</span> <span class="n">x</span><span class="p">))</span>
|
||||||
</span><span id="quad-64"><a href="#quad-64"><span class="linenos">64</span></a>
|
</span><span id="quad-65"><a href="#quad-65"><span class="linenos">65</span></a>
|
||||||
</span><span id="quad-65"><a href="#quad-65"><span class="linenos">65</span></a> <span class="n">intpars</span> <span class="o">=</span> <span class="n">squad</span><span class="o">.</span><span class="vm">__code__</span><span class="o">.</span><span class="n">co_varnames</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="mi">3</span> <span class="o">+</span> <span class="nb">len</span><span class="p">(</span><span class="n">squad</span><span class="o">.</span><span class="vm">__defaults__</span><span class="p">)]</span>
|
</span><span id="quad-66"><a href="#quad-66"><span class="linenos">66</span></a> <span class="n">intpars</span> <span class="o">=</span> <span class="n">squad</span><span class="o">.</span><span class="vm">__code__</span><span class="o">.</span><span class="n">co_varnames</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="mi">3</span> <span class="o">+</span> <span class="nb">len</span><span class="p">(</span><span class="n">squad</span><span class="o">.</span><span class="vm">__defaults__</span><span class="p">)]</span>
|
||||||
</span><span id="quad-66"><a href="#quad-66"><span class="linenos">66</span></a> <span class="n">ikwargs</span> <span class="o">=</span> <span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">kwargs</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">intpars</span> <span class="k">if</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">}</span>
|
</span><span id="quad-67"><a href="#quad-67"><span class="linenos">67</span></a> <span class="n">ikwargs</span> <span class="o">=</span> <span class="p">{</span><span class="n">k</span><span class="p">:</span> <span class="n">kwargs</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">intpars</span> <span class="k">if</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">}</span>
|
||||||
</span><span id="quad-67"><a href="#quad-67"><span class="linenos">67</span></a>
|
</span><span id="quad-68"><a href="#quad-68"><span class="linenos">68</span></a>
|
||||||
</span><span id="quad-68"><a href="#quad-68"><span class="linenos">68</span></a> <span class="n">integration_result</span> <span class="o">=</span> <span class="n">squad</span><span class="p">(</span><span class="n">ifunc</span><span class="p">,</span> <span class="n">bval</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">bval</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="o">**</span><span class="n">ikwargs</span><span class="p">)</span>
|
</span><span id="quad-69"><a href="#quad-69"><span class="linenos">69</span></a> <span class="n">integration_result</span> <span class="o">=</span> <span class="n">squad</span><span class="p">(</span><span class="n">ifunc</span><span class="p">,</span> <span class="n">bval</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">bval</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="o">**</span><span class="n">ikwargs</span><span class="p">)</span>
|
||||||
</span><span id="quad-69"><a href="#quad-69"><span class="linenos">69</span></a> <span class="n">val</span> <span class="o">=</span> <span class="n">integration_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
</span><span id="quad-70"><a href="#quad-70"><span class="linenos">70</span></a> <span class="n">val</span> <span class="o">=</span> <span class="n">integration_result</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||||
</span><span id="quad-70"><a href="#quad-70"><span class="linenos">70</span></a>
|
</span><span id="quad-71"><a href="#quad-71"><span class="linenos">71</span></a>
|
||||||
</span><span id="quad-71"><a href="#quad-71"><span class="linenos">71</span></a> <span class="n">jac</span> <span class="o">=</span> <span class="n">jacobian</span><span class="p">(</span><span class="n">func</span><span class="p">)</span>
|
</span><span id="quad-72"><a href="#quad-72"><span class="linenos">72</span></a> <span class="n">jac</span> <span class="o">=</span> <span class="n">jacobian</span><span class="p">(</span><span class="n">func</span><span class="p">)</span>
|
||||||
</span><span id="quad-72"><a href="#quad-72"><span class="linenos">72</span></a>
|
</span><span id="quad-73"><a href="#quad-73"><span class="linenos">73</span></a>
|
||||||
</span><span id="quad-73"><a href="#quad-73"><span class="linenos">73</span></a> <span class="n">derivint</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="quad-74"><a href="#quad-74"><span class="linenos">74</span></a> <span class="n">derivint</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="quad-74"><a href="#quad-74"><span class="linenos">74</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Np</span><span class="p">):</span>
|
</span><span id="quad-75"><a href="#quad-75"><span class="linenos">75</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Np</span><span class="p">):</span>
|
||||||
</span><span id="quad-75"><a href="#quad-75"><span class="linenos">75</span></a> <span class="k">if</span> <span class="n">isobs</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span>
|
</span><span id="quad-76"><a href="#quad-76"><span class="linenos">76</span></a> <span class="k">if</span> <span class="n">isobs</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span>
|
||||||
</span><span id="quad-76"><a href="#quad-76"><span class="linenos">76</span></a> <span class="n">ifunc</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vectorize</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">jac</span><span class="p">(</span><span class="n">pval</span><span class="p">,</span> <span class="n">x</span><span class="p">)[</span><span class="n">i</span><span class="p">])</span>
|
</span><span id="quad-77"><a href="#quad-77"><span class="linenos">77</span></a> <span class="n">ifunc</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vectorize</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">i</span><span class="o">=</span><span class="n">i</span><span class="p">:</span> <span class="n">jac</span><span class="p">(</span><span class="n">pval</span><span class="p">,</span> <span class="n">x</span><span class="p">)[</span><span class="n">i</span><span class="p">])</span>
|
||||||
</span><span id="quad-77"><a href="#quad-77"><span class="linenos">77</span></a> <span class="n">derivint</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">squad</span><span class="p">(</span><span class="n">ifunc</span><span class="p">,</span> <span class="n">bounds</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">bounds</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="o">**</span><span class="n">ikwargs</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="quad-78"><a href="#quad-78"><span class="linenos">78</span></a> <span class="n">derivint</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">squad</span><span class="p">(</span><span class="n">ifunc</span><span class="p">,</span> <span class="n">bounds</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">bounds</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="o">**</span><span class="n">ikwargs</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="quad-78"><a href="#quad-78"><span class="linenos">78</span></a>
|
</span><span id="quad-79"><a href="#quad-79"><span class="linenos">79</span></a>
|
||||||
</span><span id="quad-79"><a href="#quad-79"><span class="linenos">79</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">):</span>
|
</span><span id="quad-80"><a href="#quad-80"><span class="linenos">80</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2</span><span class="p">):</span>
|
||||||
</span><span id="quad-80"><a href="#quad-80"><span class="linenos">80</span></a> <span class="k">if</span> <span class="n">isobs_b</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span>
|
</span><span id="quad-81"><a href="#quad-81"><span class="linenos">81</span></a> <span class="k">if</span> <span class="n">isobs_b</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span>
|
||||||
</span><span id="quad-81"><a href="#quad-81"><span class="linenos">81</span></a> <span class="n">derivint</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">bsign</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">*</span> <span class="n">func</span><span class="p">(</span><span class="n">pval</span><span class="p">,</span> <span class="n">bval</span><span class="p">[</span><span class="n">i</span><span class="p">]))</span>
|
</span><span id="quad-82"><a href="#quad-82"><span class="linenos">82</span></a> <span class="n">derivint</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">bsign</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">*</span> <span class="n">func</span><span class="p">(</span><span class="n">pval</span><span class="p">,</span> <span class="n">bval</span><span class="p">[</span><span class="n">i</span><span class="p">]))</span>
|
||||||
</span><span id="quad-82"><a href="#quad-82"><span class="linenos">82</span></a>
|
</span><span id="quad-83"><a href="#quad-83"><span class="linenos">83</span></a>
|
||||||
</span><span id="quad-83"><a href="#quad-83"><span class="linenos">83</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">derivint</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
</span><span id="quad-84"><a href="#quad-84"><span class="linenos">84</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">derivint</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||||
</span><span id="quad-84"><a href="#quad-84"><span class="linenos">84</span></a> <span class="k">return</span> <span class="n">integration_result</span>
|
</span><span id="quad-85"><a href="#quad-85"><span class="linenos">85</span></a> <span class="k">return</span> <span class="n">integration_result</span>
|
||||||
</span><span id="quad-85"><a href="#quad-85"><span class="linenos">85</span></a>
|
</span><span id="quad-86"><a href="#quad-86"><span class="linenos">86</span></a>
|
||||||
</span><span id="quad-86"><a href="#quad-86"><span class="linenos">86</span></a> <span class="n">res</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="mi">0</span> <span class="o">*</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="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 class="o">*</span> <span class="p">(</span><span class="n">pval</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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 class="o">+</span> <span class="n">val</span><span class="p">,</span> <span class="n">pobs</span> <span class="o">+</span> <span class="n">bobs</span><span class="p">,</span> <span class="n">man_grad</span><span class="o">=</span><span class="n">derivint</span><span class="p">)</span>
|
</span><span id="quad-87"><a href="#quad-87"><span class="linenos">87</span></a> <span class="n">res</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="mi">0</span> <span class="o">*</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="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 class="o">*</span> <span class="p">(</span><span class="n">pval</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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 class="o">+</span> <span class="n">val</span><span class="p">,</span> <span class="n">pobs</span> <span class="o">+</span> <span class="n">bobs</span><span class="p">,</span> <span class="n">man_grad</span><span class="o">=</span><span class="n">derivint</span><span class="p">)</span>
|
||||||
</span><span id="quad-87"><a href="#quad-87"><span class="linenos">87</span></a>
|
</span><span id="quad-88"><a href="#quad-88"><span class="linenos">88</span></a>
|
||||||
</span><span id="quad-88"><a href="#quad-88"><span class="linenos">88</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">res</span><span class="p">,</span> <span class="o">*</span><span class="n">integration_result</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span>
|
</span><span id="quad-89"><a href="#quad-89"><span class="linenos">89</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">res</span><span class="p">,</span> <span class="o">*</span><span class="n">integration_result</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -91,191 +91,193 @@
|
||||||
|
|
||||||
<label class="view-source-button" for="mod-misc-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="mod-misc-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">platform</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">pickle</span>
|
||||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">platform</span>
|
||||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">scipy</span>
|
</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="kn">import</span><span class="w"> </span><span class="nn">matplotlib</span>
|
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">matplotlib</span>
|
||||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</span>
|
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</span>
|
||||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">pandas</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pd</span>
|
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
||||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">pickle</span>
|
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">pandas</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pd</span>
|
||||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.obs</span><span class="w"> </span><span class="kn">import</span> <span class="n">Obs</span>
|
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">scipy</span>
|
||||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.version</span><span class="w"> </span><span class="kn">import</span> <span class="n">__version__</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><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.obs</span><span class="w"> </span><span class="kn">import</span> <span class="n">Obs</span>
|
||||||
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a>
|
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.version</span><span class="w"> </span><span class="kn">import</span> <span class="n">__version__</span>
|
||||||
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a><span class="k">def</span><span class="w"> </span><span class="nf">print_config</span><span class="p">():</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="w"> </span><span class="sd">"""Print information about version of python, pyerrors and dependencies."""</span>
|
</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 class="n">config</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"system"</span><span class="p">:</span> <span class="n">platform</span><span class="o">.</span><span class="n">system</span><span class="p">(),</span>
|
</span><span id="L-14"><a href="#L-14"><span class="linenos"> 14</span></a><span class="k">def</span><span class="w"> </span><span class="nf">print_config</span><span class="p">():</span>
|
||||||
</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a> <span class="s2">"python"</span><span class="p">:</span> <span class="n">platform</span><span class="o">.</span><span class="n">python_version</span><span class="p">(),</span>
|
</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a><span class="w"> </span><span class="sd">"""Print information about version of python, pyerrors and dependencies."""</span>
|
||||||
</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a> <span class="s2">"pyerrors"</span><span class="p">:</span> <span class="n">__version__</span><span class="p">,</span>
|
</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a> <span class="n">config</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"system"</span><span class="p">:</span> <span class="n">platform</span><span class="o">.</span><span class="n">system</span><span class="p">(),</span>
|
||||||
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a> <span class="s2">"numpy"</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">__version__</span><span class="p">,</span>
|
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a> <span class="s2">"python"</span><span class="p">:</span> <span class="n">platform</span><span class="o">.</span><span class="n">python_version</span><span class="p">(),</span>
|
||||||
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a> <span class="s2">"scipy"</span><span class="p">:</span> <span class="n">scipy</span><span class="o">.</span><span class="n">__version__</span><span class="p">,</span>
|
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a> <span class="s2">"pyerrors"</span><span class="p">:</span> <span class="n">__version__</span><span class="p">,</span>
|
||||||
</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a> <span class="s2">"matplotlib"</span><span class="p">:</span> <span class="n">matplotlib</span><span class="o">.</span><span class="n">__version__</span><span class="p">,</span>
|
</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a> <span class="s2">"numpy"</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">__version__</span><span class="p">,</span>
|
||||||
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a> <span class="s2">"pandas"</span><span class="p">:</span> <span class="n">pd</span><span class="o">.</span><span class="n">__version__</span><span class="p">}</span>
|
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a> <span class="s2">"scipy"</span><span class="p">:</span> <span class="n">scipy</span><span class="o">.</span><span class="n">__version__</span><span class="p">,</span>
|
||||||
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a>
|
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a> <span class="s2">"matplotlib"</span><span class="p">:</span> <span class="n">matplotlib</span><span class="o">.</span><span class="n">__version__</span><span class="p">,</span>
|
||||||
</span><span id="L-22"><a href="#L-22"><span class="linenos"> 22</span></a> <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">config</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
</span><span id="L-22"><a href="#L-22"><span class="linenos"> 22</span></a> <span class="s2">"pandas"</span><span class="p">:</span> <span class="n">pd</span><span class="o">.</span><span class="n">__version__</span><span class="p">}</span>
|
||||||
</span><span id="L-23"><a href="#L-23"><span class="linenos"> 23</span></a> <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">key</span><span class="si">:</span><span class="s2"> <10</span><span class="si">}</span><span class="se">\t</span><span class="s2"> </span><span class="si">{</span><span class="n">value</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
</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-24"><a href="#L-24"><span class="linenos"> 24</span></a> <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">config</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
||||||
</span><span id="L-25"><a href="#L-25"><span class="linenos"> 25</span></a>
|
</span><span id="L-25"><a href="#L-25"><span class="linenos"> 25</span></a> <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">key</span><span class="si">:</span><span class="s2"> <10</span><span class="si">}</span><span class="se">\t</span><span class="s2"> </span><span class="si">{</span><span class="n">value</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||||
</span><span id="L-26"><a href="#L-26"><span class="linenos"> 26</span></a><span class="k">def</span><span class="w"> </span><span class="nf">errorbar</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">axes</span><span class="o">=</span><span class="n">plt</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
</span><span id="L-26"><a href="#L-26"><span class="linenos"> 26</span></a>
|
||||||
</span><span id="L-27"><a href="#L-27"><span class="linenos"> 27</span></a><span class="w"> </span><span class="sd">"""pyerrors wrapper for the errorbars method of matplotlib</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><span id="L-28"><a href="#L-28"><span class="linenos"> 28</span></a><span class="k">def</span><span class="w"> </span><span class="nf">errorbar</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">axes</span><span class="o">=</span><span class="n">plt</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||||
</span><span id="L-29"><a href="#L-29"><span class="linenos"> 29</span></a><span class="sd"> Parameters</span>
|
</span><span id="L-29"><a href="#L-29"><span class="linenos"> 29</span></a><span class="w"> </span><span class="sd">"""pyerrors wrapper for the errorbars method of matplotlib</span>
|
||||||
</span><span id="L-30"><a href="#L-30"><span class="linenos"> 30</span></a><span class="sd"> ----------</span>
|
</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 class="sd"> x : list</span>
|
</span><span id="L-31"><a href="#L-31"><span class="linenos"> 31</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-32"><a href="#L-32"><span class="linenos"> 32</span></a><span class="sd"> A list of x-values which can be Obs.</span>
|
</span><span id="L-32"><a href="#L-32"><span class="linenos"> 32</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a><span class="sd"> y : list</span>
|
</span><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a><span class="sd"> x : list</span>
|
||||||
</span><span id="L-34"><a href="#L-34"><span class="linenos"> 34</span></a><span class="sd"> A list of y-values which can be Obs.</span>
|
</span><span id="L-34"><a href="#L-34"><span class="linenos"> 34</span></a><span class="sd"> A list of x-values which can be Obs.</span>
|
||||||
</span><span id="L-35"><a href="#L-35"><span class="linenos"> 35</span></a><span class="sd"> axes : (matplotlib.pyplot.axes)</span>
|
</span><span id="L-35"><a href="#L-35"><span class="linenos"> 35</span></a><span class="sd"> y : list</span>
|
||||||
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a><span class="sd"> The axes to plot on. default is plt.</span>
|
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a><span class="sd"> A list of y-values which can be Obs.</span>
|
||||||
</span><span id="L-37"><a href="#L-37"><span class="linenos"> 37</span></a><span class="sd"> """</span>
|
</span><span id="L-37"><a href="#L-37"><span class="linenos"> 37</span></a><span class="sd"> axes : (matplotlib.pyplot.axes)</span>
|
||||||
</span><span id="L-38"><a href="#L-38"><span class="linenos"> 38</span></a> <span class="n">val</span> <span class="o">=</span> <span class="p">{}</span>
|
</span><span id="L-38"><a href="#L-38"><span class="linenos"> 38</span></a><span class="sd"> The axes to plot on. default is plt.</span>
|
||||||
</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a> <span class="n">err</span> <span class="o">=</span> <span class="p">{}</span>
|
</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a> <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">comp</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">([</span><span class="s2">"x"</span><span class="p">,</span> <span class="s2">"y"</span><span class="p">],</span> <span class="p">[</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">]):</span>
|
</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a> <span class="n">val</span> <span class="o">=</span> <span class="p">{}</span>
|
||||||
</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a> <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">o</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">):</span>
|
</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a> <span class="n">err</span> <span class="o">=</span> <span class="p">{}</span>
|
||||||
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">all</span><span class="p">(</span><span class="nb">hasattr</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="s1">'e_dvalue'</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">):</span>
|
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a> <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">comp</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">([</span><span class="s2">"x"</span><span class="p">,</span> <span class="s2">"y"</span><span class="p">],</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">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||||
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</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="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">]</span>
|
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a> <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">o</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">):</span>
|
||||||
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a> <span class="n">val</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">]</span>
|
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">all</span><span class="p">(</span><span class="nb">hasattr</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="s1">'e_dvalue'</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">):</span>
|
||||||
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a> <span class="n">err</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">]</span>
|
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</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="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">]</span>
|
||||||
</span><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a> <span class="n">val</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">]</span>
|
||||||
</span><span id="L-47"><a href="#L-47"><span class="linenos"> 47</span></a> <span class="n">val</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">comp</span>
|
</span><span id="L-47"><a href="#L-47"><span class="linenos"> 47</span></a> <span class="n">err</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">]</span>
|
||||||
</span><span id="L-48"><a href="#L-48"><span class="linenos"> 48</span></a> <span class="n">err</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
|
</span><span id="L-48"><a href="#L-48"><span class="linenos"> 48</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a>
|
</span><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a> <span class="n">val</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">comp</span>
|
||||||
</span><span id="L-50"><a href="#L-50"><span class="linenos"> 50</span></a> <span class="k">if</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">err"</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
</span><span id="L-50"><a href="#L-50"><span class="linenos"> 50</span></a> <span class="n">err</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
|
||||||
</span><span id="L-51"><a href="#L-51"><span class="linenos"> 51</span></a> <span class="n">err</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="o">.</span><span class="n">get</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">err"</span><span class="p">)</span>
|
</span><span id="L-51"><a href="#L-51"><span class="linenos"> 51</span></a>
|
||||||
</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a> <span class="n">kwargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">err"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a> <span class="k">if</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">err"</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||||
</span><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a>
|
</span><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a> <span class="n">err</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="o">.</span><span class="n">get</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">err"</span><span class="p">)</span>
|
||||||
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a> <span class="n">axes</span><span class="o">.</span><span class="n">errorbar</span><span class="p">(</span><span class="n">val</span><span class="p">[</span><span class="s2">"x"</span><span class="p">],</span> <span class="n">val</span><span class="p">[</span><span class="s2">"y"</span><span class="p">],</span> <span class="n">xerr</span><span class="o">=</span><span class="n">err</span><span class="p">[</span><span class="s2">"x"</span><span class="p">],</span> <span class="n">yerr</span><span class="o">=</span><span class="n">err</span><span class="p">[</span><span class="s2">"y"</span><span class="p">],</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a> <span class="n">kwargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">err"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||||
</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</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><span id="L-56"><a href="#L-56"><span class="linenos"> 56</span></a> <span class="n">axes</span><span class="o">.</span><span class="n">errorbar</span><span class="p">(</span><span class="n">val</span><span class="p">[</span><span class="s2">"x"</span><span class="p">],</span> <span class="n">val</span><span class="p">[</span><span class="s2">"y"</span><span class="p">],</span> <span class="n">xerr</span><span class="o">=</span><span class="n">err</span><span class="p">[</span><span class="s2">"x"</span><span class="p">],</span> <span class="n">yerr</span><span class="o">=</span><span class="n">err</span><span class="p">[</span><span class="s2">"y"</span><span class="p">],</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||||
</span><span id="L-57"><a href="#L-57"><span class="linenos"> 57</span></a><span class="k">def</span><span class="w"> </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-57"><a href="#L-57"><span class="linenos"> 57</span></a>
|
||||||
</span><span id="L-58"><a href="#L-58"><span class="linenos"> 58</span></a><span class="w"> </span><span class="sd">"""Dump object into pickle file.</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><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a><span class="k">def</span><span class="w"> </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-60"><a href="#L-60"><span class="linenos"> 60</span></a><span class="sd"> Parameters</span>
|
</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a><span class="w"> </span><span class="sd">"""Dump object into pickle file.</span>
|
||||||
</span><span id="L-61"><a href="#L-61"><span class="linenos"> 61</span></a><span class="sd"> ----------</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="sd"> obj : object</span>
|
</span><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a><span class="sd"> object to be saved in the pickle file</span>
|
</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a><span class="sd"> name : str</span>
|
</span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a><span class="sd"> obj : object</span>
|
||||||
</span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a><span class="sd"> name of the file</span>
|
</span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a><span class="sd"> object to be saved in the pickle file</span>
|
||||||
</span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a><span class="sd"> path : str</span>
|
</span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a><span class="sd"> name : str</span>
|
||||||
</span><span id="L-67"><a href="#L-67"><span class="linenos"> 67</span></a><span class="sd"> specifies a custom path for the file (default '.')</span>
|
</span><span id="L-67"><a href="#L-67"><span class="linenos"> 67</span></a><span class="sd"> name of the file</span>
|
||||||
</span><span id="L-68"><a href="#L-68"><span class="linenos"> 68</span></a>
|
</span><span id="L-68"><a href="#L-68"><span class="linenos"> 68</span></a><span class="sd"> path : str</span>
|
||||||
</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a><span class="sd"> Returns</span>
|
</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a><span class="sd"> specifies a custom path for the file (default '.')</span>
|
||||||
</span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a><span class="sd"> -------</span>
|
</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="sd"> None</span>
|
</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a><span class="sd"> """</span>
|
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a> <span class="k">if</span> <span class="s1">'path'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a><span class="sd"> None</span>
|
||||||
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a> <span class="n">file_name</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'path'</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'.p'</span>
|
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a> <span class="k">if</span> <span class="s1">'path'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||||
</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a> <span class="n">file_name</span> <span class="o">=</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'.p'</span>
|
</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a> <span class="n">file_name</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'path'</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'.p'</span>
|
||||||
</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_name</span><span class="p">,</span> <span class="s1">'wb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fb</span><span class="p">:</span>
|
</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a> <span class="n">pickle</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">fb</span><span class="p">)</span>
|
</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a> <span class="n">file_name</span> <span class="o">=</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'.p'</span>
|
||||||
</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a>
|
</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_name</span><span class="p">,</span> <span class="s1">'wb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fb</span><span class="p">:</span>
|
||||||
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a>
|
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="n">pickle</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">fb</span><span class="p">)</span>
|
||||||
</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a><span class="k">def</span><span class="w"> </span><span class="nf">load_object</span><span class="p">(</span><span class="n">path</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="w"> </span><span class="sd">"""Load object from pickle file.</span>
|
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a>
|
||||||
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a>
|
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a><span class="k">def</span><span class="w"> </span><span class="nf">load_object</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
||||||
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a><span class="sd"> Parameters</span>
|
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a><span class="w"> </span><span class="sd">"""Load object from pickle file.</span>
|
||||||
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a><span class="sd"> ----------</span>
|
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a>
|
||||||
</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a><span class="sd"> path : str</span>
|
</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</span></a><span class="sd"> path to the file</span>
|
</span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a>
|
</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a><span class="sd"> path : str</span>
|
||||||
</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a><span class="sd"> Returns</span>
|
</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a><span class="sd"> path to the file</span>
|
||||||
</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a><span class="sd"> -------</span>
|
</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a>
|
||||||
</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a><span class="sd"> object : Obs</span>
|
</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a><span class="sd"> Loaded Object</span>
|
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-93"><a href="#L-93"><span class="linenos"> 93</span></a><span class="sd"> """</span>
|
</span><span id="L-93"><a href="#L-93"><span class="linenos"> 93</span></a><span class="sd"> object : Obs</span>
|
||||||
</span><span id="L-94"><a href="#L-94"><span class="linenos"> 94</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span>
|
</span><span id="L-94"><a href="#L-94"><span class="linenos"> 94</span></a><span class="sd"> Loaded Object</span>
|
||||||
</span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a> <span class="k">return</span> <span class="n">pickle</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">file</span><span class="p">)</span>
|
</span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-96"><a href="#L-96"><span class="linenos"> 96</span></a>
|
</span><span id="L-96"><a href="#L-96"><span class="linenos"> 96</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span>
|
||||||
</span><span id="L-97"><a href="#L-97"><span class="linenos"> 97</span></a>
|
</span><span id="L-97"><a href="#L-97"><span class="linenos"> 97</span></a> <span class="k">return</span> <span class="n">pickle</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">file</span><span class="p">)</span>
|
||||||
</span><span id="L-98"><a href="#L-98"><span class="linenos"> 98</span></a><span class="k">def</span><span class="w"> </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-98"><a href="#L-98"><span class="linenos"> 98</span></a>
|
||||||
</span><span id="L-99"><a href="#L-99"><span class="linenos"> 99</span></a><span class="w"> </span><span class="sd">"""Generate an Obs object with given value, dvalue and name for test purposes</span>
|
</span><span id="L-99"><a href="#L-99"><span class="linenos"> 99</span></a>
|
||||||
</span><span id="L-100"><a href="#L-100"><span class="linenos">100</span></a>
|
</span><span id="L-100"><a href="#L-100"><span class="linenos">100</span></a><span class="k">def</span><span class="w"> </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-101"><a href="#L-101"><span class="linenos">101</span></a><span class="sd"> Parameters</span>
|
</span><span id="L-101"><a href="#L-101"><span class="linenos">101</span></a><span class="w"> </span><span class="sd">"""Generate an Obs object with given value, dvalue and name for test purposes</span>
|
||||||
</span><span id="L-102"><a href="#L-102"><span class="linenos">102</span></a><span class="sd"> ----------</span>
|
</span><span id="L-102"><a href="#L-102"><span class="linenos">102</span></a>
|
||||||
</span><span id="L-103"><a href="#L-103"><span class="linenos">103</span></a><span class="sd"> value : float</span>
|
</span><span id="L-103"><a href="#L-103"><span class="linenos">103</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-104"><a href="#L-104"><span class="linenos">104</span></a><span class="sd"> central value of the Obs to be generated.</span>
|
</span><span id="L-104"><a href="#L-104"><span class="linenos">104</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a><span class="sd"> dvalue : float</span>
|
</span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a><span class="sd"> value : float</span>
|
||||||
</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a><span class="sd"> error of the Obs to be generated.</span>
|
</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a><span class="sd"> central value of the Obs to be generated.</span>
|
||||||
</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a><span class="sd"> name : str</span>
|
</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a><span class="sd"> dvalue : float</span>
|
||||||
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a><span class="sd"> name of the ensemble for which the Obs is to be generated.</span>
|
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a><span class="sd"> error of the Obs to be generated.</span>
|
||||||
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a><span class="sd"> samples: int</span>
|
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a><span class="sd"> name : str</span>
|
||||||
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a><span class="sd"> number of samples for the Obs (default 1000).</span>
|
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a><span class="sd"> name of the ensemble for which the Obs is to be generated.</span>
|
||||||
</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a>
|
</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a><span class="sd"> samples: int</span>
|
||||||
</span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a><span class="sd"> Returns</span>
|
</span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a><span class="sd"> number of samples for the Obs (default 1000).</span>
|
||||||
</span><span id="L-113"><a href="#L-113"><span class="linenos">113</span></a><span class="sd"> -------</span>
|
</span><span id="L-113"><a href="#L-113"><span class="linenos">113</span></a>
|
||||||
</span><span id="L-114"><a href="#L-114"><span class="linenos">114</span></a><span class="sd"> res : Obs</span>
|
</span><span id="L-114"><a href="#L-114"><span class="linenos">114</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-115"><a href="#L-115"><span class="linenos">115</span></a><span class="sd"> Generated Observable</span>
|
</span><span id="L-115"><a href="#L-115"><span class="linenos">115</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-116"><a href="#L-116"><span class="linenos">116</span></a><span class="sd"> """</span>
|
</span><span id="L-116"><a href="#L-116"><span class="linenos">116</span></a><span class="sd"> res : Obs</span>
|
||||||
</span><span id="L-117"><a href="#L-117"><span class="linenos">117</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-117"><a href="#L-117"><span class="linenos">117</span></a><span class="sd"> Generated Observable</span>
|
||||||
</span><span id="L-118"><a href="#L-118"><span class="linenos">118</span></a> <span class="k">return</span> <span class="n">Obs</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">samples</span><span class="p">)</span> <span class="o">+</span> <span class="n">value</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span>
|
</span><span id="L-118"><a href="#L-118"><span class="linenos">118</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-119"><a href="#L-119"><span class="linenos">119</span></a> <span class="k">else</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="n">dvalue</span> <span class="o"><=</span> <span class="mf">0.0</span><span class="p">:</span>
|
||||||
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100</span><span class="p">):</span>
|
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a> <span class="k">return</span> <span class="n">Obs</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">samples</span><span class="p">)</span> <span class="o">+</span> <span class="n">value</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span>
|
||||||
</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">normal</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">dvalue</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">samples</span><span class="p">),</span> <span class="n">samples</span><span class="p">)]</span>
|
</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a> <span class="n">deltas</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">deltas</span><span class="p">)</span>
|
</span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100</span><span class="p">):</span>
|
||||||
</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a> <span class="n">deltas</span> <span class="o">*=</span> <span class="n">dvalue</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">((</span><span class="n">np</span><span class="o">.</span><span class="n">var</span><span class="p">(</span><span class="n">deltas</span><span class="p">)</span> <span class="o">/</span> <span class="n">samples</span><span class="p">))</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">/</span> <span class="n">samples</span><span class="p">)</span>
|
</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">normal</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">dvalue</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">samples</span><span class="p">),</span> <span class="n">samples</span><span class="p">)]</span> <span class="c1"># noqa: NPY002</span>
|
||||||
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="n">deltas</span> <span class="o">+=</span> <span class="n">value</span>
|
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="n">deltas</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">deltas</span><span class="p">)</span>
|
||||||
</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a> <span class="n">res</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span>
|
</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a> <span class="n">deltas</span> <span class="o">*=</span> <span class="n">dvalue</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">var</span><span class="p">(</span><span class="n">deltas</span><span class="p">)</span> <span class="o">/</span> <span class="n">samples</span><span class="p">)</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">/</span> <span class="n">samples</span><span class="p">)</span>
|
||||||
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a> <span class="n">res</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="n">S</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">tau_exp</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
|
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a> <span class="n">deltas</span> <span class="o">+=</span> <span class="n">value</span>
|
||||||
</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a> <span class="k">if</span> <span class="nb">abs</span><span class="p">(</span><span class="n">res</span><span class="o">.</span><span class="n">dvalue</span> <span class="o">-</span> <span class="n">dvalue</span><span class="p">)</span> <span class="o"><</span> <span class="mf">1e-10</span> <span class="o">*</span> <span class="n">dvalue</span><span class="p">:</span>
|
</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a> <span class="n">res</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span>
|
||||||
</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a> <span class="k">break</span>
|
</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a> <span class="n">res</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="n">S</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">tau_exp</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
|
||||||
</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a>
|
</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a> <span class="k">if</span> <span class="nb">abs</span><span class="p">(</span><span class="n">res</span><span class="o">.</span><span class="n">dvalue</span> <span class="o">-</span> <span class="n">dvalue</span><span class="p">)</span> <span class="o"><</span> <span class="mf">1e-10</span> <span class="o">*</span> <span class="n">dvalue</span><span class="p">:</span>
|
||||||
</span><span id="L-130"><a href="#L-130"><span class="linenos">130</span></a> <span class="n">res</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
</span><span id="L-130"><a href="#L-130"><span class="linenos">130</span></a> <span class="k">break</span>
|
||||||
</span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a>
|
</span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a>
|
||||||
</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="k">return</span> <span class="n">res</span>
|
</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="n">res</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||||
</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a>
|
</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a>
|
||||||
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a>
|
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a> <span class="k">return</span> <span class="n">res</span>
|
||||||
</span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a><span class="k">def</span><span class="w"> </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-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 class="w"> </span><span class="sd">""" Generate observables with given covariance and autocorrelation times.</span>
|
</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><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a><span class="k">def</span><span class="w"> </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-138"><a href="#L-138"><span class="linenos">138</span></a><span class="sd"> Parameters</span>
|
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a><span class="w"> </span><span class="sd">""" Generate observables with given covariance and autocorrelation times.</span>
|
||||||
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a><span class="sd"> ----------</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"> means : list</span>
|
</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"> list containing the mean value of each observable.</span>
|
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-142"><a href="#L-142"><span class="linenos">142</span></a><span class="sd"> cov : numpy.ndarray</span>
|
</span><span id="L-142"><a href="#L-142"><span class="linenos">142</span></a><span class="sd"> means : list</span>
|
||||||
</span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a><span class="sd"> covariance matrix for the data to be generated.</span>
|
</span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a><span class="sd"> list containing the mean value of each observable.</span>
|
||||||
</span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a><span class="sd"> name : str</span>
|
</span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a><span class="sd"> cov : numpy.ndarray</span>
|
||||||
</span><span id="L-145"><a href="#L-145"><span class="linenos">145</span></a><span class="sd"> ensemble name for the data to be geneated.</span>
|
</span><span id="L-145"><a href="#L-145"><span class="linenos">145</span></a><span class="sd"> covariance matrix for the data to be generated.</span>
|
||||||
</span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a><span class="sd"> tau : float or list</span>
|
</span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a><span class="sd"> name : str</span>
|
||||||
</span><span id="L-147"><a href="#L-147"><span class="linenos">147</span></a><span class="sd"> can either be a real number or a list with an entry for</span>
|
</span><span id="L-147"><a href="#L-147"><span class="linenos">147</span></a><span class="sd"> ensemble name for the data to be geneated.</span>
|
||||||
</span><span id="L-148"><a href="#L-148"><span class="linenos">148</span></a><span class="sd"> every dataset.</span>
|
</span><span id="L-148"><a href="#L-148"><span class="linenos">148</span></a><span class="sd"> tau : float or list</span>
|
||||||
</span><span id="L-149"><a href="#L-149"><span class="linenos">149</span></a><span class="sd"> samples : int</span>
|
</span><span id="L-149"><a href="#L-149"><span class="linenos">149</span></a><span class="sd"> can either be a real number or a list with an entry for</span>
|
||||||
</span><span id="L-150"><a href="#L-150"><span class="linenos">150</span></a><span class="sd"> number of samples to be generated for each observable.</span>
|
</span><span id="L-150"><a href="#L-150"><span class="linenos">150</span></a><span class="sd"> every dataset.</span>
|
||||||
</span><span id="L-151"><a href="#L-151"><span class="linenos">151</span></a>
|
</span><span id="L-151"><a href="#L-151"><span class="linenos">151</span></a><span class="sd"> samples : int</span>
|
||||||
</span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a><span class="sd"> Returns</span>
|
</span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a><span class="sd"> number of samples to be generated for each observable.</span>
|
||||||
</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a><span class="sd"> -------</span>
|
</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a>
|
||||||
</span><span id="L-154"><a href="#L-154"><span class="linenos">154</span></a><span class="sd"> corr_obs : list[Obs]</span>
|
</span><span id="L-154"><a href="#L-154"><span class="linenos">154</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-155"><a href="#L-155"><span class="linenos">155</span></a><span class="sd"> Generated observable list</span>
|
</span><span id="L-155"><a href="#L-155"><span class="linenos">155</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-156"><a href="#L-156"><span class="linenos">156</span></a><span class="sd"> """</span>
|
</span><span id="L-156"><a href="#L-156"><span class="linenos">156</span></a><span class="sd"> corr_obs : list[Obs]</span>
|
||||||
</span><span id="L-157"><a href="#L-157"><span class="linenos">157</span></a>
|
</span><span id="L-157"><a href="#L-157"><span class="linenos">157</span></a><span class="sd"> Generated observable list</span>
|
||||||
</span><span id="L-158"><a href="#L-158"><span class="linenos">158</span></a> <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">means</span><span class="p">)</span> <span class="o">==</span> <span class="n">cov</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
|
</span><span id="L-158"><a href="#L-158"><span class="linenos">158</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-159"><a href="#L-159"><span class="linenos">159</span></a> <span class="n">tau</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">tau</span><span class="p">)</span>
|
</span><span id="L-159"><a href="#L-159"><span class="linenos">159</span></a>
|
||||||
</span><span id="L-160"><a href="#L-160"><span class="linenos">160</span></a> <span class="k">if</span> <span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">tau</span><span class="p">)</span> <span class="o"><</span> <span class="mf">0.5</span><span class="p">:</span>
|
</span><span id="L-160"><a href="#L-160"><span class="linenos">160</span></a> <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">means</span><span class="p">)</span> <span class="o">==</span> <span class="n">cov</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
|
||||||
</span><span id="L-161"><a href="#L-161"><span class="linenos">161</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'All integrated autocorrelations have to be >= 0.5.'</span><span class="p">)</span>
|
</span><span id="L-161"><a href="#L-161"><span class="linenos">161</span></a> <span class="n">tau</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">tau</span><span class="p">)</span>
|
||||||
</span><span id="L-162"><a href="#L-162"><span class="linenos">162</span></a>
|
</span><span id="L-162"><a href="#L-162"><span class="linenos">162</span></a> <span class="k">if</span> <span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">tau</span><span class="p">)</span> <span class="o"><</span> <span class="mf">0.5</span><span class="p">:</span>
|
||||||
</span><span id="L-163"><a href="#L-163"><span class="linenos">163</span></a> <span class="n">a</span> <span class="o">=</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="n">tau</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="n">tau</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
|
</span><span id="L-163"><a href="#L-163"><span class="linenos">163</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'All integrated autocorrelations have to be >= 0.5.'</span><span class="p">)</span>
|
||||||
</span><span id="L-164"><a href="#L-164"><span class="linenos">164</span></a> <span class="n">rand</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">multivariate_normal</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">zeros_like</span><span class="p">(</span><span class="n">means</span><span class="p">),</span> <span class="n">cov</span> <span class="o">*</span> <span class="n">samples</span><span class="p">,</span> <span class="n">samples</span><span class="p">)</span>
|
</span><span id="L-164"><a href="#L-164"><span class="linenos">164</span></a>
|
||||||
</span><span id="L-165"><a href="#L-165"><span class="linenos">165</span></a>
|
</span><span id="L-165"><a href="#L-165"><span class="linenos">165</span></a> <span class="n">a</span> <span class="o">=</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="n">tau</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="n">tau</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
|
||||||
</span><span id="L-166"><a href="#L-166"><span class="linenos">166</span></a> <span class="c1"># Normalize samples such that sample variance matches input</span>
|
</span><span id="L-166"><a href="#L-166"><span class="linenos">166</span></a> <span class="n">rand</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">multivariate_normal</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">zeros_like</span><span class="p">(</span><span class="n">means</span><span class="p">),</span> <span class="n">cov</span> <span class="o">*</span> <span class="n">samples</span><span class="p">,</span> <span class="n">samples</span><span class="p">)</span> <span class="c1"># noqa: NPY002</span>
|
||||||
</span><span id="L-167"><a href="#L-167"><span class="linenos">167</span></a> <span class="n">norm</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">np</span><span class="o">.</span><span class="n">var</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">ddof</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="n">samples</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">rand</span><span class="o">.</span><span class="n">T</span><span class="p">])</span>
|
</span><span id="L-167"><a href="#L-167"><span class="linenos">167</span></a>
|
||||||
</span><span id="L-168"><a href="#L-168"><span class="linenos">168</span></a> <span class="n">rand</span> <span class="o">=</span> <span class="n">rand</span> <span class="o">@</span> <span class="n">np</span><span class="o">.</span><span class="n">diag</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="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="n">cov</span><span class="p">)))</span> <span class="o">@</span> <span class="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="mi">1</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">norm</span><span class="p">))</span>
|
</span><span id="L-168"><a href="#L-168"><span class="linenos">168</span></a> <span class="c1"># Normalize samples such that sample variance matches input</span>
|
||||||
</span><span id="L-169"><a href="#L-169"><span class="linenos">169</span></a>
|
</span><span id="L-169"><a href="#L-169"><span class="linenos">169</span></a> <span class="n">norm</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">np</span><span class="o">.</span><span class="n">var</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">ddof</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="n">samples</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">rand</span><span class="o">.</span><span class="n">T</span><span class="p">])</span>
|
||||||
</span><span id="L-170"><a href="#L-170"><span class="linenos">170</span></a> <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">rand</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span>
|
</span><span id="L-170"><a href="#L-170"><span class="linenos">170</span></a> <span class="n">rand</span> <span class="o">=</span> <span class="n">rand</span> <span class="o">@</span> <span class="n">np</span><span class="o">.</span><span class="n">diag</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="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="n">cov</span><span class="p">)))</span> <span class="o">@</span> <span class="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="mi">1</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">norm</span><span class="p">))</span>
|
||||||
</span><span id="L-171"><a href="#L-171"><span class="linenos">171</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">samples</span><span class="p">):</span>
|
</span><span id="L-171"><a href="#L-171"><span class="linenos">171</span></a>
|
||||||
</span><span id="L-172"><a href="#L-172"><span class="linenos">172</span></a> <span class="n">data</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">sqrt</span><span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">a</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="o">*</span> <span class="n">rand</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">a</span> <span class="o">*</span> <span class="n">data</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
|
</span><span id="L-172"><a href="#L-172"><span class="linenos">172</span></a> <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">rand</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span>
|
||||||
</span><span id="L-173"><a href="#L-173"><span class="linenos">173</span></a> <span class="n">corr_data</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">data</span><span class="p">)</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">data</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="n">means</span>
|
</span><span id="L-173"><a href="#L-173"><span class="linenos">173</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">samples</span><span class="p">):</span>
|
||||||
</span><span id="L-174"><a href="#L-174"><span class="linenos">174</span></a> <span class="k">return</span> <span class="p">[</span><span class="n">Obs</span><span class="p">([</span><span class="n">dat</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span> <span class="k">for</span> <span class="n">dat</span> <span class="ow">in</span> <span class="n">corr_data</span><span class="o">.</span><span class="n">T</span><span class="p">]</span>
|
</span><span id="L-174"><a href="#L-174"><span class="linenos">174</span></a> <span class="n">data</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">sqrt</span><span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">a</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="o">*</span> <span class="n">rand</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">a</span> <span class="o">*</span> <span class="n">data</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
|
||||||
</span><span id="L-175"><a href="#L-175"><span class="linenos">175</span></a>
|
</span><span id="L-175"><a href="#L-175"><span class="linenos">175</span></a> <span class="n">corr_data</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">data</span><span class="p">)</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">data</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="n">means</span>
|
||||||
</span><span id="L-176"><a href="#L-176"><span class="linenos">176</span></a>
|
</span><span id="L-176"><a href="#L-176"><span class="linenos">176</span></a> <span class="k">return</span> <span class="p">[</span><span class="n">Obs</span><span class="p">([</span><span class="n">dat</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span> <span class="k">for</span> <span class="n">dat</span> <span class="ow">in</span> <span class="n">corr_data</span><span class="o">.</span><span class="n">T</span><span class="p">]</span>
|
||||||
</span><span id="L-177"><a href="#L-177"><span class="linenos">177</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_assert_equal_properties</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">otype</span><span class="o">=</span><span class="n">Obs</span><span class="p">):</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="n">otype</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="L-178"><a href="#L-178"><span class="linenos">178</span></a>
|
||||||
</span><span id="L-179"><a href="#L-179"><span class="linenos">179</span></a> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">[</span><span class="mi">1</span><span class="p">:]:</span>
|
</span><span id="L-179"><a href="#L-179"><span class="linenos">179</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_assert_equal_properties</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">otype</span><span class="o">=</span><span class="n">Obs</span><span class="p">):</span>
|
||||||
</span><span id="L-180"><a href="#L-180"><span class="linenos">180</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">otype</span><span class="p">):</span>
|
</span><span id="L-180"><a href="#L-180"><span class="linenos">180</span></a> <span class="n">otype</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="L-181"><a href="#L-181"><span class="linenos">181</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Wrong data type in list."</span><span class="p">)</span>
|
</span><span id="L-181"><a href="#L-181"><span class="linenos">181</span></a> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">[</span><span class="mi">1</span><span class="p">:]:</span>
|
||||||
</span><span id="L-182"><a href="#L-182"><span class="linenos">182</span></a> <span class="k">for</span> <span class="n">attr</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">"reweighted"</span><span class="p">,</span> <span class="s2">"e_content"</span><span class="p">,</span> <span class="s2">"idl"</span><span class="p">]:</span>
|
</span><span id="L-182"><a href="#L-182"><span class="linenos">182</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">otype</span><span class="p">):</span>
|
||||||
</span><span id="L-183"><a href="#L-183"><span class="linenos">183</span></a> <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">attr</span><span class="p">):</span>
|
</span><span id="L-183"><a href="#L-183"><span class="linenos">183</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Wrong data type in list."</span><span class="p">)</span>
|
||||||
</span><span id="L-184"><a href="#L-184"><span class="linenos">184</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">attr</span><span class="p">)</span> <span class="o">==</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">attr</span><span class="p">):</span>
|
</span><span id="L-184"><a href="#L-184"><span class="linenos">184</span></a> <span class="k">for</span> <span class="n">attr</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">"reweighted"</span><span class="p">,</span> <span class="s2">"e_content"</span><span class="p">,</span> <span class="s2">"idl"</span><span class="p">]:</span>
|
||||||
</span><span id="L-185"><a href="#L-185"><span class="linenos">185</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">"All Obs in list have to have the same state '</span><span class="si">{</span><span class="n">attr</span><span class="si">}</span><span class="s2">'."</span><span class="p">)</span>
|
</span><span id="L-185"><a href="#L-185"><span class="linenos">185</span></a> <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">attr</span><span class="p">):</span>
|
||||||
|
</span><span id="L-186"><a href="#L-186"><span class="linenos">186</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">attr</span><span class="p">)</span> <span class="o">==</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">attr</span><span class="p">):</span>
|
||||||
|
</span><span id="L-187"><a href="#L-187"><span class="linenos">187</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="sa">f</span><span class="s2">"All Obs in list have to have the same state '</span><span class="si">{</span><span class="n">attr</span><span class="si">}</span><span class="s2">'."</span><span class="p">)</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -291,18 +293,18 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#print_config"></a>
|
<a class="headerlink" href="#print_config"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="print_config-13"><a href="#print_config-13"><span class="linenos">13</span></a><span class="k">def</span><span class="w"> </span><span class="nf">print_config</span><span class="p">():</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="print_config-15"><a href="#print_config-15"><span class="linenos">15</span></a><span class="k">def</span><span class="w"> </span><span class="nf">print_config</span><span class="p">():</span>
|
||||||
</span><span id="print_config-14"><a href="#print_config-14"><span class="linenos">14</span></a><span class="w"> </span><span class="sd">"""Print information about version of python, pyerrors and dependencies."""</span>
|
</span><span id="print_config-16"><a href="#print_config-16"><span class="linenos">16</span></a><span class="w"> </span><span class="sd">"""Print information about version of python, pyerrors and dependencies."""</span>
|
||||||
</span><span id="print_config-15"><a href="#print_config-15"><span class="linenos">15</span></a> <span class="n">config</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"system"</span><span class="p">:</span> <span class="n">platform</span><span class="o">.</span><span class="n">system</span><span class="p">(),</span>
|
</span><span id="print_config-17"><a href="#print_config-17"><span class="linenos">17</span></a> <span class="n">config</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"system"</span><span class="p">:</span> <span class="n">platform</span><span class="o">.</span><span class="n">system</span><span class="p">(),</span>
|
||||||
</span><span id="print_config-16"><a href="#print_config-16"><span class="linenos">16</span></a> <span class="s2">"python"</span><span class="p">:</span> <span class="n">platform</span><span class="o">.</span><span class="n">python_version</span><span class="p">(),</span>
|
</span><span id="print_config-18"><a href="#print_config-18"><span class="linenos">18</span></a> <span class="s2">"python"</span><span class="p">:</span> <span class="n">platform</span><span class="o">.</span><span class="n">python_version</span><span class="p">(),</span>
|
||||||
</span><span id="print_config-17"><a href="#print_config-17"><span class="linenos">17</span></a> <span class="s2">"pyerrors"</span><span class="p">:</span> <span class="n">__version__</span><span class="p">,</span>
|
</span><span id="print_config-19"><a href="#print_config-19"><span class="linenos">19</span></a> <span class="s2">"pyerrors"</span><span class="p">:</span> <span class="n">__version__</span><span class="p">,</span>
|
||||||
</span><span id="print_config-18"><a href="#print_config-18"><span class="linenos">18</span></a> <span class="s2">"numpy"</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">__version__</span><span class="p">,</span>
|
</span><span id="print_config-20"><a href="#print_config-20"><span class="linenos">20</span></a> <span class="s2">"numpy"</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">__version__</span><span class="p">,</span>
|
||||||
</span><span id="print_config-19"><a href="#print_config-19"><span class="linenos">19</span></a> <span class="s2">"scipy"</span><span class="p">:</span> <span class="n">scipy</span><span class="o">.</span><span class="n">__version__</span><span class="p">,</span>
|
</span><span id="print_config-21"><a href="#print_config-21"><span class="linenos">21</span></a> <span class="s2">"scipy"</span><span class="p">:</span> <span class="n">scipy</span><span class="o">.</span><span class="n">__version__</span><span class="p">,</span>
|
||||||
</span><span id="print_config-20"><a href="#print_config-20"><span class="linenos">20</span></a> <span class="s2">"matplotlib"</span><span class="p">:</span> <span class="n">matplotlib</span><span class="o">.</span><span class="n">__version__</span><span class="p">,</span>
|
</span><span id="print_config-22"><a href="#print_config-22"><span class="linenos">22</span></a> <span class="s2">"matplotlib"</span><span class="p">:</span> <span class="n">matplotlib</span><span class="o">.</span><span class="n">__version__</span><span class="p">,</span>
|
||||||
</span><span id="print_config-21"><a href="#print_config-21"><span class="linenos">21</span></a> <span class="s2">"pandas"</span><span class="p">:</span> <span class="n">pd</span><span class="o">.</span><span class="n">__version__</span><span class="p">}</span>
|
</span><span id="print_config-23"><a href="#print_config-23"><span class="linenos">23</span></a> <span class="s2">"pandas"</span><span class="p">:</span> <span class="n">pd</span><span class="o">.</span><span class="n">__version__</span><span class="p">}</span>
|
||||||
</span><span id="print_config-22"><a href="#print_config-22"><span class="linenos">22</span></a>
|
</span><span id="print_config-24"><a href="#print_config-24"><span class="linenos">24</span></a>
|
||||||
</span><span id="print_config-23"><a href="#print_config-23"><span class="linenos">23</span></a> <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">config</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
</span><span id="print_config-25"><a href="#print_config-25"><span class="linenos">25</span></a> <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">config</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
||||||
</span><span id="print_config-24"><a href="#print_config-24"><span class="linenos">24</span></a> <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">key</span><span class="si">:</span><span class="s2"> <10</span><span class="si">}</span><span class="se">\t</span><span class="s2"> </span><span class="si">{</span><span class="n">value</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
</span><span id="print_config-26"><a href="#print_config-26"><span class="linenos">26</span></a> <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">key</span><span class="si">:</span><span class="s2"> <10</span><span class="si">}</span><span class="se">\t</span><span class="s2"> </span><span class="si">{</span><span class="n">value</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -322,35 +324,35 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#errorbar"></a>
|
<a class="headerlink" href="#errorbar"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="errorbar-27"><a href="#errorbar-27"><span class="linenos">27</span></a><span class="k">def</span><span class="w"> </span><span class="nf">errorbar</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">axes</span><span class="o">=</span><span class="n">plt</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="errorbar-29"><a href="#errorbar-29"><span class="linenos">29</span></a><span class="k">def</span><span class="w"> </span><span class="nf">errorbar</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">axes</span><span class="o">=</span><span class="n">plt</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||||
</span><span id="errorbar-28"><a href="#errorbar-28"><span class="linenos">28</span></a><span class="w"> </span><span class="sd">"""pyerrors wrapper for the errorbars method of matplotlib</span>
|
</span><span id="errorbar-30"><a href="#errorbar-30"><span class="linenos">30</span></a><span class="w"> </span><span class="sd">"""pyerrors wrapper for the errorbars method of matplotlib</span>
|
||||||
</span><span id="errorbar-29"><a href="#errorbar-29"><span class="linenos">29</span></a>
|
</span><span id="errorbar-31"><a href="#errorbar-31"><span class="linenos">31</span></a>
|
||||||
</span><span id="errorbar-30"><a href="#errorbar-30"><span class="linenos">30</span></a><span class="sd"> Parameters</span>
|
</span><span id="errorbar-32"><a href="#errorbar-32"><span class="linenos">32</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="errorbar-31"><a href="#errorbar-31"><span class="linenos">31</span></a><span class="sd"> ----------</span>
|
</span><span id="errorbar-33"><a href="#errorbar-33"><span class="linenos">33</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="errorbar-32"><a href="#errorbar-32"><span class="linenos">32</span></a><span class="sd"> x : list</span>
|
</span><span id="errorbar-34"><a href="#errorbar-34"><span class="linenos">34</span></a><span class="sd"> x : list</span>
|
||||||
</span><span id="errorbar-33"><a href="#errorbar-33"><span class="linenos">33</span></a><span class="sd"> A list of x-values which can be Obs.</span>
|
</span><span id="errorbar-35"><a href="#errorbar-35"><span class="linenos">35</span></a><span class="sd"> A list of x-values which can be Obs.</span>
|
||||||
</span><span id="errorbar-34"><a href="#errorbar-34"><span class="linenos">34</span></a><span class="sd"> y : list</span>
|
</span><span id="errorbar-36"><a href="#errorbar-36"><span class="linenos">36</span></a><span class="sd"> y : list</span>
|
||||||
</span><span id="errorbar-35"><a href="#errorbar-35"><span class="linenos">35</span></a><span class="sd"> A list of y-values which can be Obs.</span>
|
</span><span id="errorbar-37"><a href="#errorbar-37"><span class="linenos">37</span></a><span class="sd"> A list of y-values which can be Obs.</span>
|
||||||
</span><span id="errorbar-36"><a href="#errorbar-36"><span class="linenos">36</span></a><span class="sd"> axes : (matplotlib.pyplot.axes)</span>
|
</span><span id="errorbar-38"><a href="#errorbar-38"><span class="linenos">38</span></a><span class="sd"> axes : (matplotlib.pyplot.axes)</span>
|
||||||
</span><span id="errorbar-37"><a href="#errorbar-37"><span class="linenos">37</span></a><span class="sd"> The axes to plot on. default is plt.</span>
|
</span><span id="errorbar-39"><a href="#errorbar-39"><span class="linenos">39</span></a><span class="sd"> The axes to plot on. default is plt.</span>
|
||||||
</span><span id="errorbar-38"><a href="#errorbar-38"><span class="linenos">38</span></a><span class="sd"> """</span>
|
</span><span id="errorbar-40"><a href="#errorbar-40"><span class="linenos">40</span></a><span class="sd"> """</span>
|
||||||
</span><span id="errorbar-39"><a href="#errorbar-39"><span class="linenos">39</span></a> <span class="n">val</span> <span class="o">=</span> <span class="p">{}</span>
|
</span><span id="errorbar-41"><a href="#errorbar-41"><span class="linenos">41</span></a> <span class="n">val</span> <span class="o">=</span> <span class="p">{}</span>
|
||||||
</span><span id="errorbar-40"><a href="#errorbar-40"><span class="linenos">40</span></a> <span class="n">err</span> <span class="o">=</span> <span class="p">{}</span>
|
</span><span id="errorbar-42"><a href="#errorbar-42"><span class="linenos">42</span></a> <span class="n">err</span> <span class="o">=</span> <span class="p">{}</span>
|
||||||
</span><span id="errorbar-41"><a href="#errorbar-41"><span class="linenos">41</span></a> <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">comp</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">([</span><span class="s2">"x"</span><span class="p">,</span> <span class="s2">"y"</span><span class="p">],</span> <span class="p">[</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">]):</span>
|
</span><span id="errorbar-43"><a href="#errorbar-43"><span class="linenos">43</span></a> <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">comp</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">([</span><span class="s2">"x"</span><span class="p">,</span> <span class="s2">"y"</span><span class="p">],</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">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||||
</span><span id="errorbar-42"><a href="#errorbar-42"><span class="linenos">42</span></a> <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">o</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">):</span>
|
</span><span id="errorbar-44"><a href="#errorbar-44"><span class="linenos">44</span></a> <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">o</span><span class="p">,</span> <span class="n">Obs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">):</span>
|
||||||
</span><span id="errorbar-43"><a href="#errorbar-43"><span class="linenos">43</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">all</span><span class="p">(</span><span class="nb">hasattr</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="s1">'e_dvalue'</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">):</span>
|
</span><span id="errorbar-45"><a href="#errorbar-45"><span class="linenos">45</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">all</span><span class="p">(</span><span class="nb">hasattr</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="s1">'e_dvalue'</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">):</span>
|
||||||
</span><span id="errorbar-44"><a href="#errorbar-44"><span class="linenos">44</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="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">]</span>
|
</span><span id="errorbar-46"><a href="#errorbar-46"><span class="linenos">46</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="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">]</span>
|
||||||
</span><span id="errorbar-45"><a href="#errorbar-45"><span class="linenos">45</span></a> <span class="n">val</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">]</span>
|
</span><span id="errorbar-47"><a href="#errorbar-47"><span class="linenos">47</span></a> <span class="n">val</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">]</span>
|
||||||
</span><span id="errorbar-46"><a href="#errorbar-46"><span class="linenos">46</span></a> <span class="n">err</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">]</span>
|
</span><span id="errorbar-48"><a href="#errorbar-48"><span class="linenos">48</span></a> <span class="n">err</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">dvalue</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">comp</span><span class="p">]</span>
|
||||||
</span><span id="errorbar-47"><a href="#errorbar-47"><span class="linenos">47</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="errorbar-49"><a href="#errorbar-49"><span class="linenos">49</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="errorbar-48"><a href="#errorbar-48"><span class="linenos">48</span></a> <span class="n">val</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">comp</span>
|
</span><span id="errorbar-50"><a href="#errorbar-50"><span class="linenos">50</span></a> <span class="n">val</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">comp</span>
|
||||||
</span><span id="errorbar-49"><a href="#errorbar-49"><span class="linenos">49</span></a> <span class="n">err</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
|
</span><span id="errorbar-51"><a href="#errorbar-51"><span class="linenos">51</span></a> <span class="n">err</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
|
||||||
</span><span id="errorbar-50"><a href="#errorbar-50"><span class="linenos">50</span></a>
|
</span><span id="errorbar-52"><a href="#errorbar-52"><span class="linenos">52</span></a>
|
||||||
</span><span id="errorbar-51"><a href="#errorbar-51"><span class="linenos">51</span></a> <span class="k">if</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">err"</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
</span><span id="errorbar-53"><a href="#errorbar-53"><span class="linenos">53</span></a> <span class="k">if</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">err"</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||||
</span><span id="errorbar-52"><a href="#errorbar-52"><span class="linenos">52</span></a> <span class="n">err</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="o">.</span><span class="n">get</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">err"</span><span class="p">)</span>
|
</span><span id="errorbar-54"><a href="#errorbar-54"><span class="linenos">54</span></a> <span class="n">err</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="o">.</span><span class="n">get</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">err"</span><span class="p">)</span>
|
||||||
</span><span id="errorbar-53"><a href="#errorbar-53"><span class="linenos">53</span></a> <span class="n">kwargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">err"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
</span><span id="errorbar-55"><a href="#errorbar-55"><span class="linenos">55</span></a> <span class="n">kwargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">err"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||||
</span><span id="errorbar-54"><a href="#errorbar-54"><span class="linenos">54</span></a>
|
</span><span id="errorbar-56"><a href="#errorbar-56"><span class="linenos">56</span></a>
|
||||||
</span><span id="errorbar-55"><a href="#errorbar-55"><span class="linenos">55</span></a> <span class="n">axes</span><span class="o">.</span><span class="n">errorbar</span><span class="p">(</span><span class="n">val</span><span class="p">[</span><span class="s2">"x"</span><span class="p">],</span> <span class="n">val</span><span class="p">[</span><span class="s2">"y"</span><span class="p">],</span> <span class="n">xerr</span><span class="o">=</span><span class="n">err</span><span class="p">[</span><span class="s2">"x"</span><span class="p">],</span> <span class="n">yerr</span><span class="o">=</span><span class="n">err</span><span class="p">[</span><span class="s2">"y"</span><span class="p">],</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
</span><span id="errorbar-57"><a href="#errorbar-57"><span class="linenos">57</span></a> <span class="n">axes</span><span class="o">.</span><span class="n">errorbar</span><span class="p">(</span><span class="n">val</span><span class="p">[</span><span class="s2">"x"</span><span class="p">],</span> <span class="n">val</span><span class="p">[</span><span class="s2">"y"</span><span class="p">],</span> <span class="n">xerr</span><span class="o">=</span><span class="n">err</span><span class="p">[</span><span class="s2">"x"</span><span class="p">],</span> <span class="n">yerr</span><span class="o">=</span><span class="n">err</span><span class="p">[</span><span class="s2">"y"</span><span class="p">],</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -381,28 +383,28 @@ The axes to plot on. default is plt.</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#dump_object"></a>
|
<a class="headerlink" href="#dump_object"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="dump_object-58"><a href="#dump_object-58"><span class="linenos">58</span></a><span class="k">def</span><span class="w"> </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>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="dump_object-60"><a href="#dump_object-60"><span class="linenos">60</span></a><span class="k">def</span><span class="w"> </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-59"><a href="#dump_object-59"><span class="linenos">59</span></a><span class="w"> </span><span class="sd">"""Dump object into pickle file.</span>
|
</span><span id="dump_object-61"><a href="#dump_object-61"><span class="linenos">61</span></a><span class="w"> </span><span class="sd">"""Dump object into pickle file.</span>
|
||||||
</span><span id="dump_object-60"><a href="#dump_object-60"><span class="linenos">60</span></a>
|
</span><span id="dump_object-62"><a href="#dump_object-62"><span class="linenos">62</span></a>
|
||||||
</span><span id="dump_object-61"><a href="#dump_object-61"><span class="linenos">61</span></a><span class="sd"> Parameters</span>
|
</span><span id="dump_object-63"><a href="#dump_object-63"><span class="linenos">63</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="dump_object-62"><a href="#dump_object-62"><span class="linenos">62</span></a><span class="sd"> ----------</span>
|
</span><span id="dump_object-64"><a href="#dump_object-64"><span class="linenos">64</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="dump_object-63"><a href="#dump_object-63"><span class="linenos">63</span></a><span class="sd"> obj : object</span>
|
</span><span id="dump_object-65"><a href="#dump_object-65"><span class="linenos">65</span></a><span class="sd"> obj : object</span>
|
||||||
</span><span id="dump_object-64"><a href="#dump_object-64"><span class="linenos">64</span></a><span class="sd"> object to be saved in the pickle file</span>
|
</span><span id="dump_object-66"><a href="#dump_object-66"><span class="linenos">66</span></a><span class="sd"> object to be saved in the pickle file</span>
|
||||||
</span><span id="dump_object-65"><a href="#dump_object-65"><span class="linenos">65</span></a><span class="sd"> name : str</span>
|
</span><span id="dump_object-67"><a href="#dump_object-67"><span class="linenos">67</span></a><span class="sd"> name : str</span>
|
||||||
</span><span id="dump_object-66"><a href="#dump_object-66"><span class="linenos">66</span></a><span class="sd"> name of the file</span>
|
</span><span id="dump_object-68"><a href="#dump_object-68"><span class="linenos">68</span></a><span class="sd"> name of the file</span>
|
||||||
</span><span id="dump_object-67"><a href="#dump_object-67"><span class="linenos">67</span></a><span class="sd"> path : str</span>
|
</span><span id="dump_object-69"><a href="#dump_object-69"><span class="linenos">69</span></a><span class="sd"> path : str</span>
|
||||||
</span><span id="dump_object-68"><a href="#dump_object-68"><span class="linenos">68</span></a><span class="sd"> specifies a custom path for the file (default '.')</span>
|
</span><span id="dump_object-70"><a href="#dump_object-70"><span class="linenos">70</span></a><span class="sd"> specifies a custom path for the file (default '.')</span>
|
||||||
</span><span id="dump_object-69"><a href="#dump_object-69"><span class="linenos">69</span></a>
|
</span><span id="dump_object-71"><a href="#dump_object-71"><span class="linenos">71</span></a>
|
||||||
</span><span id="dump_object-70"><a href="#dump_object-70"><span class="linenos">70</span></a><span class="sd"> Returns</span>
|
</span><span id="dump_object-72"><a href="#dump_object-72"><span class="linenos">72</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="dump_object-71"><a href="#dump_object-71"><span class="linenos">71</span></a><span class="sd"> -------</span>
|
</span><span id="dump_object-73"><a href="#dump_object-73"><span class="linenos">73</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="dump_object-72"><a href="#dump_object-72"><span class="linenos">72</span></a><span class="sd"> None</span>
|
</span><span id="dump_object-74"><a href="#dump_object-74"><span class="linenos">74</span></a><span class="sd"> None</span>
|
||||||
</span><span id="dump_object-73"><a href="#dump_object-73"><span class="linenos">73</span></a><span class="sd"> """</span>
|
</span><span id="dump_object-75"><a href="#dump_object-75"><span class="linenos">75</span></a><span class="sd"> """</span>
|
||||||
</span><span id="dump_object-74"><a href="#dump_object-74"><span class="linenos">74</span></a> <span class="k">if</span> <span class="s1">'path'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
</span><span id="dump_object-76"><a href="#dump_object-76"><span class="linenos">76</span></a> <span class="k">if</span> <span class="s1">'path'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||||
</span><span id="dump_object-75"><a href="#dump_object-75"><span class="linenos">75</span></a> <span class="n">file_name</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'path'</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'.p'</span>
|
</span><span id="dump_object-77"><a href="#dump_object-77"><span class="linenos">77</span></a> <span class="n">file_name</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'path'</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'.p'</span>
|
||||||
</span><span id="dump_object-76"><a href="#dump_object-76"><span class="linenos">76</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="dump_object-78"><a href="#dump_object-78"><span class="linenos">78</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="dump_object-77"><a href="#dump_object-77"><span class="linenos">77</span></a> <span class="n">file_name</span> <span class="o">=</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'.p'</span>
|
</span><span id="dump_object-79"><a href="#dump_object-79"><span class="linenos">79</span></a> <span class="n">file_name</span> <span class="o">=</span> <span class="n">name</span> <span class="o">+</span> <span class="s1">'.p'</span>
|
||||||
</span><span id="dump_object-78"><a href="#dump_object-78"><span class="linenos">78</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_name</span><span class="p">,</span> <span class="s1">'wb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fb</span><span class="p">:</span>
|
</span><span id="dump_object-80"><a href="#dump_object-80"><span class="linenos">80</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_name</span><span class="p">,</span> <span class="s1">'wb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fb</span><span class="p">:</span>
|
||||||
</span><span id="dump_object-79"><a href="#dump_object-79"><span class="linenos">79</span></a> <span class="n">pickle</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">fb</span><span class="p">)</span>
|
</span><span id="dump_object-81"><a href="#dump_object-81"><span class="linenos">81</span></a> <span class="n">pickle</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">fb</span><span class="p">)</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -439,21 +441,21 @@ specifies a custom path for the file (default '.')</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#load_object"></a>
|
<a class="headerlink" href="#load_object"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="load_object-82"><a href="#load_object-82"><span class="linenos">82</span></a><span class="k">def</span><span class="w"> </span><span class="nf">load_object</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="load_object-84"><a href="#load_object-84"><span class="linenos">84</span></a><span class="k">def</span><span class="w"> </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-83"><a href="#load_object-83"><span class="linenos">83</span></a><span class="w"> </span><span class="sd">"""Load object from pickle file.</span>
|
</span><span id="load_object-85"><a href="#load_object-85"><span class="linenos">85</span></a><span class="w"> </span><span class="sd">"""Load object from pickle file.</span>
|
||||||
</span><span id="load_object-84"><a href="#load_object-84"><span class="linenos">84</span></a>
|
</span><span id="load_object-86"><a href="#load_object-86"><span class="linenos">86</span></a>
|
||||||
</span><span id="load_object-85"><a href="#load_object-85"><span class="linenos">85</span></a><span class="sd"> Parameters</span>
|
</span><span id="load_object-87"><a href="#load_object-87"><span class="linenos">87</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="load_object-86"><a href="#load_object-86"><span class="linenos">86</span></a><span class="sd"> ----------</span>
|
</span><span id="load_object-88"><a href="#load_object-88"><span class="linenos">88</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="load_object-87"><a href="#load_object-87"><span class="linenos">87</span></a><span class="sd"> path : str</span>
|
</span><span id="load_object-89"><a href="#load_object-89"><span class="linenos">89</span></a><span class="sd"> path : str</span>
|
||||||
</span><span id="load_object-88"><a href="#load_object-88"><span class="linenos">88</span></a><span class="sd"> path to the file</span>
|
</span><span id="load_object-90"><a href="#load_object-90"><span class="linenos">90</span></a><span class="sd"> path to the file</span>
|
||||||
</span><span id="load_object-89"><a href="#load_object-89"><span class="linenos">89</span></a>
|
</span><span id="load_object-91"><a href="#load_object-91"><span class="linenos">91</span></a>
|
||||||
</span><span id="load_object-90"><a href="#load_object-90"><span class="linenos">90</span></a><span class="sd"> Returns</span>
|
</span><span id="load_object-92"><a href="#load_object-92"><span class="linenos">92</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="load_object-91"><a href="#load_object-91"><span class="linenos">91</span></a><span class="sd"> -------</span>
|
</span><span id="load_object-93"><a href="#load_object-93"><span class="linenos">93</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="load_object-92"><a href="#load_object-92"><span class="linenos">92</span></a><span class="sd"> object : Obs</span>
|
</span><span id="load_object-94"><a href="#load_object-94"><span class="linenos">94</span></a><span class="sd"> object : Obs</span>
|
||||||
</span><span id="load_object-93"><a href="#load_object-93"><span class="linenos">93</span></a><span class="sd"> Loaded Object</span>
|
</span><span id="load_object-95"><a href="#load_object-95"><span class="linenos">95</span></a><span class="sd"> Loaded Object</span>
|
||||||
</span><span id="load_object-94"><a href="#load_object-94"><span class="linenos">94</span></a><span class="sd"> """</span>
|
</span><span id="load_object-96"><a href="#load_object-96"><span class="linenos">96</span></a><span class="sd"> """</span>
|
||||||
</span><span id="load_object-95"><a href="#load_object-95"><span class="linenos">95</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span>
|
</span><span id="load_object-97"><a href="#load_object-97"><span class="linenos">97</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span>
|
||||||
</span><span id="load_object-96"><a href="#load_object-96"><span class="linenos">96</span></a> <span class="k">return</span> <span class="n">pickle</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">file</span><span class="p">)</span>
|
</span><span id="load_object-98"><a href="#load_object-98"><span class="linenos">98</span></a> <span class="k">return</span> <span class="n">pickle</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">file</span><span class="p">)</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -487,41 +489,41 @@ Loaded Object</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#pseudo_Obs"></a>
|
<a class="headerlink" href="#pseudo_Obs"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="pseudo_Obs-99"><a href="#pseudo_Obs-99"><span class="linenos"> 99</span></a><span class="k">def</span><span class="w"> </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>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="pseudo_Obs-101"><a href="#pseudo_Obs-101"><span class="linenos">101</span></a><span class="k">def</span><span class="w"> </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-100"><a href="#pseudo_Obs-100"><span class="linenos">100</span></a><span class="w"> </span><span class="sd">"""Generate an Obs object with given value, dvalue and name for test purposes</span>
|
</span><span id="pseudo_Obs-102"><a href="#pseudo_Obs-102"><span class="linenos">102</span></a><span class="w"> </span><span class="sd">"""Generate an Obs object with given value, dvalue and name for test purposes</span>
|
||||||
</span><span id="pseudo_Obs-101"><a href="#pseudo_Obs-101"><span class="linenos">101</span></a>
|
</span><span id="pseudo_Obs-103"><a href="#pseudo_Obs-103"><span class="linenos">103</span></a>
|
||||||
</span><span id="pseudo_Obs-102"><a href="#pseudo_Obs-102"><span class="linenos">102</span></a><span class="sd"> Parameters</span>
|
</span><span id="pseudo_Obs-104"><a href="#pseudo_Obs-104"><span class="linenos">104</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="pseudo_Obs-103"><a href="#pseudo_Obs-103"><span class="linenos">103</span></a><span class="sd"> ----------</span>
|
</span><span id="pseudo_Obs-105"><a href="#pseudo_Obs-105"><span class="linenos">105</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="pseudo_Obs-104"><a href="#pseudo_Obs-104"><span class="linenos">104</span></a><span class="sd"> value : float</span>
|
</span><span id="pseudo_Obs-106"><a href="#pseudo_Obs-106"><span class="linenos">106</span></a><span class="sd"> value : float</span>
|
||||||
</span><span id="pseudo_Obs-105"><a href="#pseudo_Obs-105"><span class="linenos">105</span></a><span class="sd"> central value of the Obs to be generated.</span>
|
</span><span id="pseudo_Obs-107"><a href="#pseudo_Obs-107"><span class="linenos">107</span></a><span class="sd"> central value of the Obs to be generated.</span>
|
||||||
</span><span id="pseudo_Obs-106"><a href="#pseudo_Obs-106"><span class="linenos">106</span></a><span class="sd"> dvalue : float</span>
|
</span><span id="pseudo_Obs-108"><a href="#pseudo_Obs-108"><span class="linenos">108</span></a><span class="sd"> dvalue : float</span>
|
||||||
</span><span id="pseudo_Obs-107"><a href="#pseudo_Obs-107"><span class="linenos">107</span></a><span class="sd"> error of the Obs to be generated.</span>
|
</span><span id="pseudo_Obs-109"><a href="#pseudo_Obs-109"><span class="linenos">109</span></a><span class="sd"> error of the Obs to be generated.</span>
|
||||||
</span><span id="pseudo_Obs-108"><a href="#pseudo_Obs-108"><span class="linenos">108</span></a><span class="sd"> name : str</span>
|
</span><span id="pseudo_Obs-110"><a href="#pseudo_Obs-110"><span class="linenos">110</span></a><span class="sd"> name : str</span>
|
||||||
</span><span id="pseudo_Obs-109"><a href="#pseudo_Obs-109"><span class="linenos">109</span></a><span class="sd"> name of the ensemble for which the Obs is to be generated.</span>
|
</span><span id="pseudo_Obs-111"><a href="#pseudo_Obs-111"><span class="linenos">111</span></a><span class="sd"> name of the ensemble for which the Obs is to be generated.</span>
|
||||||
</span><span id="pseudo_Obs-110"><a href="#pseudo_Obs-110"><span class="linenos">110</span></a><span class="sd"> samples: int</span>
|
</span><span id="pseudo_Obs-112"><a href="#pseudo_Obs-112"><span class="linenos">112</span></a><span class="sd"> samples: int</span>
|
||||||
</span><span id="pseudo_Obs-111"><a href="#pseudo_Obs-111"><span class="linenos">111</span></a><span class="sd"> number of samples for the Obs (default 1000).</span>
|
</span><span id="pseudo_Obs-113"><a href="#pseudo_Obs-113"><span class="linenos">113</span></a><span class="sd"> number of samples for the Obs (default 1000).</span>
|
||||||
</span><span id="pseudo_Obs-112"><a href="#pseudo_Obs-112"><span class="linenos">112</span></a>
|
</span><span id="pseudo_Obs-114"><a href="#pseudo_Obs-114"><span class="linenos">114</span></a>
|
||||||
</span><span id="pseudo_Obs-113"><a href="#pseudo_Obs-113"><span class="linenos">113</span></a><span class="sd"> Returns</span>
|
</span><span id="pseudo_Obs-115"><a href="#pseudo_Obs-115"><span class="linenos">115</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="pseudo_Obs-114"><a href="#pseudo_Obs-114"><span class="linenos">114</span></a><span class="sd"> -------</span>
|
</span><span id="pseudo_Obs-116"><a href="#pseudo_Obs-116"><span class="linenos">116</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="pseudo_Obs-115"><a href="#pseudo_Obs-115"><span class="linenos">115</span></a><span class="sd"> res : Obs</span>
|
</span><span id="pseudo_Obs-117"><a href="#pseudo_Obs-117"><span class="linenos">117</span></a><span class="sd"> res : Obs</span>
|
||||||
</span><span id="pseudo_Obs-116"><a href="#pseudo_Obs-116"><span class="linenos">116</span></a><span class="sd"> Generated Observable</span>
|
</span><span id="pseudo_Obs-118"><a href="#pseudo_Obs-118"><span class="linenos">118</span></a><span class="sd"> Generated Observable</span>
|
||||||
</span><span id="pseudo_Obs-117"><a href="#pseudo_Obs-117"><span class="linenos">117</span></a><span class="sd"> """</span>
|
</span><span id="pseudo_Obs-119"><a href="#pseudo_Obs-119"><span class="linenos">119</span></a><span class="sd"> """</span>
|
||||||
</span><span id="pseudo_Obs-118"><a href="#pseudo_Obs-118"><span class="linenos">118</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="pseudo_Obs-120"><a href="#pseudo_Obs-120"><span class="linenos">120</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="pseudo_Obs-119"><a href="#pseudo_Obs-119"><span class="linenos">119</span></a> <span class="k">return</span> <span class="n">Obs</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">samples</span><span class="p">)</span> <span class="o">+</span> <span class="n">value</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span>
|
</span><span id="pseudo_Obs-121"><a href="#pseudo_Obs-121"><span class="linenos">121</span></a> <span class="k">return</span> <span class="n">Obs</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">samples</span><span class="p">)</span> <span class="o">+</span> <span class="n">value</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span>
|
||||||
</span><span id="pseudo_Obs-120"><a href="#pseudo_Obs-120"><span class="linenos">120</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="pseudo_Obs-122"><a href="#pseudo_Obs-122"><span class="linenos">122</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="pseudo_Obs-121"><a href="#pseudo_Obs-121"><span class="linenos">121</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100</span><span class="p">):</span>
|
</span><span id="pseudo_Obs-123"><a href="#pseudo_Obs-123"><span class="linenos">123</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100</span><span class="p">):</span>
|
||||||
</span><span id="pseudo_Obs-122"><a href="#pseudo_Obs-122"><span class="linenos">122</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">normal</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">dvalue</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">samples</span><span class="p">),</span> <span class="n">samples</span><span class="p">)]</span>
|
</span><span id="pseudo_Obs-124"><a href="#pseudo_Obs-124"><span class="linenos">124</span></a> <span class="n">deltas</span> <span class="o">=</span> <span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">normal</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">dvalue</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">samples</span><span class="p">),</span> <span class="n">samples</span><span class="p">)]</span> <span class="c1"># noqa: NPY002</span>
|
||||||
</span><span id="pseudo_Obs-123"><a href="#pseudo_Obs-123"><span class="linenos">123</span></a> <span class="n">deltas</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">deltas</span><span class="p">)</span>
|
</span><span id="pseudo_Obs-125"><a href="#pseudo_Obs-125"><span class="linenos">125</span></a> <span class="n">deltas</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">deltas</span><span class="p">)</span>
|
||||||
</span><span id="pseudo_Obs-124"><a href="#pseudo_Obs-124"><span class="linenos">124</span></a> <span class="n">deltas</span> <span class="o">*=</span> <span class="n">dvalue</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">((</span><span class="n">np</span><span class="o">.</span><span class="n">var</span><span class="p">(</span><span class="n">deltas</span><span class="p">)</span> <span class="o">/</span> <span class="n">samples</span><span class="p">))</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">/</span> <span class="n">samples</span><span class="p">)</span>
|
</span><span id="pseudo_Obs-126"><a href="#pseudo_Obs-126"><span class="linenos">126</span></a> <span class="n">deltas</span> <span class="o">*=</span> <span class="n">dvalue</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">var</span><span class="p">(</span><span class="n">deltas</span><span class="p">)</span> <span class="o">/</span> <span class="n">samples</span><span class="p">)</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">/</span> <span class="n">samples</span><span class="p">)</span>
|
||||||
</span><span id="pseudo_Obs-125"><a href="#pseudo_Obs-125"><span class="linenos">125</span></a> <span class="n">deltas</span> <span class="o">+=</span> <span class="n">value</span>
|
</span><span id="pseudo_Obs-127"><a href="#pseudo_Obs-127"><span class="linenos">127</span></a> <span class="n">deltas</span> <span class="o">+=</span> <span class="n">value</span>
|
||||||
</span><span id="pseudo_Obs-126"><a href="#pseudo_Obs-126"><span class="linenos">126</span></a> <span class="n">res</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span>
|
</span><span id="pseudo_Obs-128"><a href="#pseudo_Obs-128"><span class="linenos">128</span></a> <span class="n">res</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">(</span><span class="n">deltas</span><span class="p">,</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span>
|
||||||
</span><span id="pseudo_Obs-127"><a href="#pseudo_Obs-127"><span class="linenos">127</span></a> <span class="n">res</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="n">S</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">tau_exp</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
|
</span><span id="pseudo_Obs-129"><a href="#pseudo_Obs-129"><span class="linenos">129</span></a> <span class="n">res</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="n">S</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">tau_exp</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
|
||||||
</span><span id="pseudo_Obs-128"><a href="#pseudo_Obs-128"><span class="linenos">128</span></a> <span class="k">if</span> <span class="nb">abs</span><span class="p">(</span><span class="n">res</span><span class="o">.</span><span class="n">dvalue</span> <span class="o">-</span> <span class="n">dvalue</span><span class="p">)</span> <span class="o"><</span> <span class="mf">1e-10</span> <span class="o">*</span> <span class="n">dvalue</span><span class="p">:</span>
|
</span><span id="pseudo_Obs-130"><a href="#pseudo_Obs-130"><span class="linenos">130</span></a> <span class="k">if</span> <span class="nb">abs</span><span class="p">(</span><span class="n">res</span><span class="o">.</span><span class="n">dvalue</span> <span class="o">-</span> <span class="n">dvalue</span><span class="p">)</span> <span class="o"><</span> <span class="mf">1e-10</span> <span class="o">*</span> <span class="n">dvalue</span><span class="p">:</span>
|
||||||
</span><span id="pseudo_Obs-129"><a href="#pseudo_Obs-129"><span class="linenos">129</span></a> <span class="k">break</span>
|
</span><span id="pseudo_Obs-131"><a href="#pseudo_Obs-131"><span class="linenos">131</span></a> <span class="k">break</span>
|
||||||
</span><span id="pseudo_Obs-130"><a href="#pseudo_Obs-130"><span class="linenos">130</span></a>
|
|
||||||
</span><span id="pseudo_Obs-131"><a href="#pseudo_Obs-131"><span class="linenos">131</span></a> <span class="n">res</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
|
||||||
</span><span id="pseudo_Obs-132"><a href="#pseudo_Obs-132"><span class="linenos">132</span></a>
|
</span><span id="pseudo_Obs-132"><a href="#pseudo_Obs-132"><span class="linenos">132</span></a>
|
||||||
</span><span id="pseudo_Obs-133"><a href="#pseudo_Obs-133"><span class="linenos">133</span></a> <span class="k">return</span> <span class="n">res</span>
|
</span><span id="pseudo_Obs-133"><a href="#pseudo_Obs-133"><span class="linenos">133</span></a> <span class="n">res</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||||
|
</span><span id="pseudo_Obs-134"><a href="#pseudo_Obs-134"><span class="linenos">134</span></a>
|
||||||
|
</span><span id="pseudo_Obs-135"><a href="#pseudo_Obs-135"><span class="linenos">135</span></a> <span class="k">return</span> <span class="n">res</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -561,46 +563,46 @@ Generated Observable</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#gen_correlated_data"></a>
|
<a class="headerlink" href="#gen_correlated_data"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="gen_correlated_data-136"><a href="#gen_correlated_data-136"><span class="linenos">136</span></a><span class="k">def</span><span class="w"> </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>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="gen_correlated_data-138"><a href="#gen_correlated_data-138"><span class="linenos">138</span></a><span class="k">def</span><span class="w"> </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-137"><a href="#gen_correlated_data-137"><span class="linenos">137</span></a><span class="w"> </span><span class="sd">""" Generate observables with given covariance and autocorrelation times.</span>
|
</span><span id="gen_correlated_data-139"><a href="#gen_correlated_data-139"><span class="linenos">139</span></a><span class="w"> </span><span class="sd">""" Generate observables with given covariance and autocorrelation times.</span>
|
||||||
</span><span id="gen_correlated_data-138"><a href="#gen_correlated_data-138"><span class="linenos">138</span></a>
|
</span><span id="gen_correlated_data-140"><a href="#gen_correlated_data-140"><span class="linenos">140</span></a>
|
||||||
</span><span id="gen_correlated_data-139"><a href="#gen_correlated_data-139"><span class="linenos">139</span></a><span class="sd"> Parameters</span>
|
</span><span id="gen_correlated_data-141"><a href="#gen_correlated_data-141"><span class="linenos">141</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="gen_correlated_data-140"><a href="#gen_correlated_data-140"><span class="linenos">140</span></a><span class="sd"> ----------</span>
|
</span><span id="gen_correlated_data-142"><a href="#gen_correlated_data-142"><span class="linenos">142</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="gen_correlated_data-141"><a href="#gen_correlated_data-141"><span class="linenos">141</span></a><span class="sd"> means : list</span>
|
</span><span id="gen_correlated_data-143"><a href="#gen_correlated_data-143"><span class="linenos">143</span></a><span class="sd"> means : list</span>
|
||||||
</span><span id="gen_correlated_data-142"><a href="#gen_correlated_data-142"><span class="linenos">142</span></a><span class="sd"> list containing the mean value of each observable.</span>
|
</span><span id="gen_correlated_data-144"><a href="#gen_correlated_data-144"><span class="linenos">144</span></a><span class="sd"> list containing the mean value of each observable.</span>
|
||||||
</span><span id="gen_correlated_data-143"><a href="#gen_correlated_data-143"><span class="linenos">143</span></a><span class="sd"> cov : numpy.ndarray</span>
|
</span><span id="gen_correlated_data-145"><a href="#gen_correlated_data-145"><span class="linenos">145</span></a><span class="sd"> cov : numpy.ndarray</span>
|
||||||
</span><span id="gen_correlated_data-144"><a href="#gen_correlated_data-144"><span class="linenos">144</span></a><span class="sd"> covariance matrix for the data to be generated.</span>
|
</span><span id="gen_correlated_data-146"><a href="#gen_correlated_data-146"><span class="linenos">146</span></a><span class="sd"> covariance matrix for the data to be generated.</span>
|
||||||
</span><span id="gen_correlated_data-145"><a href="#gen_correlated_data-145"><span class="linenos">145</span></a><span class="sd"> name : str</span>
|
</span><span id="gen_correlated_data-147"><a href="#gen_correlated_data-147"><span class="linenos">147</span></a><span class="sd"> name : str</span>
|
||||||
</span><span id="gen_correlated_data-146"><a href="#gen_correlated_data-146"><span class="linenos">146</span></a><span class="sd"> ensemble name for the data to be geneated.</span>
|
</span><span id="gen_correlated_data-148"><a href="#gen_correlated_data-148"><span class="linenos">148</span></a><span class="sd"> ensemble name for the data to be geneated.</span>
|
||||||
</span><span id="gen_correlated_data-147"><a href="#gen_correlated_data-147"><span class="linenos">147</span></a><span class="sd"> tau : float or list</span>
|
</span><span id="gen_correlated_data-149"><a href="#gen_correlated_data-149"><span class="linenos">149</span></a><span class="sd"> tau : float or list</span>
|
||||||
</span><span id="gen_correlated_data-148"><a href="#gen_correlated_data-148"><span class="linenos">148</span></a><span class="sd"> can either be a real number or a list with an entry for</span>
|
</span><span id="gen_correlated_data-150"><a href="#gen_correlated_data-150"><span class="linenos">150</span></a><span class="sd"> can either be a real number or a list with an entry for</span>
|
||||||
</span><span id="gen_correlated_data-149"><a href="#gen_correlated_data-149"><span class="linenos">149</span></a><span class="sd"> every dataset.</span>
|
</span><span id="gen_correlated_data-151"><a href="#gen_correlated_data-151"><span class="linenos">151</span></a><span class="sd"> every dataset.</span>
|
||||||
</span><span id="gen_correlated_data-150"><a href="#gen_correlated_data-150"><span class="linenos">150</span></a><span class="sd"> samples : int</span>
|
</span><span id="gen_correlated_data-152"><a href="#gen_correlated_data-152"><span class="linenos">152</span></a><span class="sd"> samples : int</span>
|
||||||
</span><span id="gen_correlated_data-151"><a href="#gen_correlated_data-151"><span class="linenos">151</span></a><span class="sd"> number of samples to be generated for each observable.</span>
|
</span><span id="gen_correlated_data-153"><a href="#gen_correlated_data-153"><span class="linenos">153</span></a><span class="sd"> number of samples to be generated for each observable.</span>
|
||||||
</span><span id="gen_correlated_data-152"><a href="#gen_correlated_data-152"><span class="linenos">152</span></a>
|
</span><span id="gen_correlated_data-154"><a href="#gen_correlated_data-154"><span class="linenos">154</span></a>
|
||||||
</span><span id="gen_correlated_data-153"><a href="#gen_correlated_data-153"><span class="linenos">153</span></a><span class="sd"> Returns</span>
|
</span><span id="gen_correlated_data-155"><a href="#gen_correlated_data-155"><span class="linenos">155</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="gen_correlated_data-154"><a href="#gen_correlated_data-154"><span class="linenos">154</span></a><span class="sd"> -------</span>
|
</span><span id="gen_correlated_data-156"><a href="#gen_correlated_data-156"><span class="linenos">156</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="gen_correlated_data-155"><a href="#gen_correlated_data-155"><span class="linenos">155</span></a><span class="sd"> corr_obs : list[Obs]</span>
|
</span><span id="gen_correlated_data-157"><a href="#gen_correlated_data-157"><span class="linenos">157</span></a><span class="sd"> corr_obs : list[Obs]</span>
|
||||||
</span><span id="gen_correlated_data-156"><a href="#gen_correlated_data-156"><span class="linenos">156</span></a><span class="sd"> Generated observable list</span>
|
</span><span id="gen_correlated_data-158"><a href="#gen_correlated_data-158"><span class="linenos">158</span></a><span class="sd"> Generated observable list</span>
|
||||||
</span><span id="gen_correlated_data-157"><a href="#gen_correlated_data-157"><span class="linenos">157</span></a><span class="sd"> """</span>
|
</span><span id="gen_correlated_data-159"><a href="#gen_correlated_data-159"><span class="linenos">159</span></a><span class="sd"> """</span>
|
||||||
</span><span id="gen_correlated_data-158"><a href="#gen_correlated_data-158"><span class="linenos">158</span></a>
|
</span><span id="gen_correlated_data-160"><a href="#gen_correlated_data-160"><span class="linenos">160</span></a>
|
||||||
</span><span id="gen_correlated_data-159"><a href="#gen_correlated_data-159"><span class="linenos">159</span></a> <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">means</span><span class="p">)</span> <span class="o">==</span> <span class="n">cov</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
|
</span><span id="gen_correlated_data-161"><a href="#gen_correlated_data-161"><span class="linenos">161</span></a> <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">means</span><span class="p">)</span> <span class="o">==</span> <span class="n">cov</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
|
||||||
</span><span id="gen_correlated_data-160"><a href="#gen_correlated_data-160"><span class="linenos">160</span></a> <span class="n">tau</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">tau</span><span class="p">)</span>
|
</span><span id="gen_correlated_data-162"><a href="#gen_correlated_data-162"><span class="linenos">162</span></a> <span class="n">tau</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">tau</span><span class="p">)</span>
|
||||||
</span><span id="gen_correlated_data-161"><a href="#gen_correlated_data-161"><span class="linenos">161</span></a> <span class="k">if</span> <span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">tau</span><span class="p">)</span> <span class="o"><</span> <span class="mf">0.5</span><span class="p">:</span>
|
</span><span id="gen_correlated_data-163"><a href="#gen_correlated_data-163"><span class="linenos">163</span></a> <span class="k">if</span> <span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">tau</span><span class="p">)</span> <span class="o"><</span> <span class="mf">0.5</span><span class="p">:</span>
|
||||||
</span><span id="gen_correlated_data-162"><a href="#gen_correlated_data-162"><span class="linenos">162</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'All integrated autocorrelations have to be >= 0.5.'</span><span class="p">)</span>
|
</span><span id="gen_correlated_data-164"><a href="#gen_correlated_data-164"><span class="linenos">164</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'All integrated autocorrelations have to be >= 0.5.'</span><span class="p">)</span>
|
||||||
</span><span id="gen_correlated_data-163"><a href="#gen_correlated_data-163"><span class="linenos">163</span></a>
|
</span><span id="gen_correlated_data-165"><a href="#gen_correlated_data-165"><span class="linenos">165</span></a>
|
||||||
</span><span id="gen_correlated_data-164"><a href="#gen_correlated_data-164"><span class="linenos">164</span></a> <span class="n">a</span> <span class="o">=</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="n">tau</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="n">tau</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
|
</span><span id="gen_correlated_data-166"><a href="#gen_correlated_data-166"><span class="linenos">166</span></a> <span class="n">a</span> <span class="o">=</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="n">tau</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="n">tau</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
|
||||||
</span><span id="gen_correlated_data-165"><a href="#gen_correlated_data-165"><span class="linenos">165</span></a> <span class="n">rand</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">multivariate_normal</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">zeros_like</span><span class="p">(</span><span class="n">means</span><span class="p">),</span> <span class="n">cov</span> <span class="o">*</span> <span class="n">samples</span><span class="p">,</span> <span class="n">samples</span><span class="p">)</span>
|
</span><span id="gen_correlated_data-167"><a href="#gen_correlated_data-167"><span class="linenos">167</span></a> <span class="n">rand</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">multivariate_normal</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">zeros_like</span><span class="p">(</span><span class="n">means</span><span class="p">),</span> <span class="n">cov</span> <span class="o">*</span> <span class="n">samples</span><span class="p">,</span> <span class="n">samples</span><span class="p">)</span> <span class="c1"># noqa: NPY002</span>
|
||||||
</span><span id="gen_correlated_data-166"><a href="#gen_correlated_data-166"><span class="linenos">166</span></a>
|
</span><span id="gen_correlated_data-168"><a href="#gen_correlated_data-168"><span class="linenos">168</span></a>
|
||||||
</span><span id="gen_correlated_data-167"><a href="#gen_correlated_data-167"><span class="linenos">167</span></a> <span class="c1"># Normalize samples such that sample variance matches input</span>
|
</span><span id="gen_correlated_data-169"><a href="#gen_correlated_data-169"><span class="linenos">169</span></a> <span class="c1"># Normalize samples such that sample variance matches input</span>
|
||||||
</span><span id="gen_correlated_data-168"><a href="#gen_correlated_data-168"><span class="linenos">168</span></a> <span class="n">norm</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">np</span><span class="o">.</span><span class="n">var</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">ddof</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="n">samples</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">rand</span><span class="o">.</span><span class="n">T</span><span class="p">])</span>
|
</span><span id="gen_correlated_data-170"><a href="#gen_correlated_data-170"><span class="linenos">170</span></a> <span class="n">norm</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">np</span><span class="o">.</span><span class="n">var</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">ddof</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="n">samples</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">rand</span><span class="o">.</span><span class="n">T</span><span class="p">])</span>
|
||||||
</span><span id="gen_correlated_data-169"><a href="#gen_correlated_data-169"><span class="linenos">169</span></a> <span class="n">rand</span> <span class="o">=</span> <span class="n">rand</span> <span class="o">@</span> <span class="n">np</span><span class="o">.</span><span class="n">diag</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="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="n">cov</span><span class="p">)))</span> <span class="o">@</span> <span class="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="mi">1</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">norm</span><span class="p">))</span>
|
</span><span id="gen_correlated_data-171"><a href="#gen_correlated_data-171"><span class="linenos">171</span></a> <span class="n">rand</span> <span class="o">=</span> <span class="n">rand</span> <span class="o">@</span> <span class="n">np</span><span class="o">.</span><span class="n">diag</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="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="n">cov</span><span class="p">)))</span> <span class="o">@</span> <span class="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="mi">1</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">norm</span><span class="p">))</span>
|
||||||
</span><span id="gen_correlated_data-170"><a href="#gen_correlated_data-170"><span class="linenos">170</span></a>
|
</span><span id="gen_correlated_data-172"><a href="#gen_correlated_data-172"><span class="linenos">172</span></a>
|
||||||
</span><span id="gen_correlated_data-171"><a href="#gen_correlated_data-171"><span class="linenos">171</span></a> <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">rand</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span>
|
</span><span id="gen_correlated_data-173"><a href="#gen_correlated_data-173"><span class="linenos">173</span></a> <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">rand</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span>
|
||||||
</span><span id="gen_correlated_data-172"><a href="#gen_correlated_data-172"><span class="linenos">172</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">samples</span><span class="p">):</span>
|
</span><span id="gen_correlated_data-174"><a href="#gen_correlated_data-174"><span class="linenos">174</span></a> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">samples</span><span class="p">):</span>
|
||||||
</span><span id="gen_correlated_data-173"><a href="#gen_correlated_data-173"><span class="linenos">173</span></a> <span class="n">data</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">sqrt</span><span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">a</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="o">*</span> <span class="n">rand</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">a</span> <span class="o">*</span> <span class="n">data</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
|
</span><span id="gen_correlated_data-175"><a href="#gen_correlated_data-175"><span class="linenos">175</span></a> <span class="n">data</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">sqrt</span><span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">a</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="o">*</span> <span class="n">rand</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">a</span> <span class="o">*</span> <span class="n">data</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
|
||||||
</span><span id="gen_correlated_data-174"><a href="#gen_correlated_data-174"><span class="linenos">174</span></a> <span class="n">corr_data</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">data</span><span class="p">)</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">data</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="n">means</span>
|
</span><span id="gen_correlated_data-176"><a href="#gen_correlated_data-176"><span class="linenos">176</span></a> <span class="n">corr_data</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">data</span><span class="p">)</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">data</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="n">means</span>
|
||||||
</span><span id="gen_correlated_data-175"><a href="#gen_correlated_data-175"><span class="linenos">175</span></a> <span class="k">return</span> <span class="p">[</span><span class="n">Obs</span><span class="p">([</span><span class="n">dat</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span> <span class="k">for</span> <span class="n">dat</span> <span class="ow">in</span> <span class="n">corr_data</span><span class="o">.</span><span class="n">T</span><span class="p">]</span>
|
</span><span id="gen_correlated_data-177"><a href="#gen_correlated_data-177"><span class="linenos">177</span></a> <span class="k">return</span> <span class="p">[</span><span class="n">Obs</span><span class="p">([</span><span class="n">dat</span><span class="p">],</span> <span class="p">[</span><span class="n">name</span><span class="p">])</span> <span class="k">for</span> <span class="n">dat</span> <span class="ow">in</span> <span class="n">corr_data</span><span class="o">.</span><span class="n">T</span><span class="p">]</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -78,67 +78,68 @@
|
||||||
|
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
||||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">scipy.linalg</span>
|
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">scipy.linalg</span>
|
||||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.obs</span><span class="w"> </span><span class="kn">import</span> <span class="n">Obs</span>
|
</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="kn">from</span><span class="w"> </span><span class="nn">.linalg</span><span class="w"> </span><span class="kn">import</span> <span class="n">svd</span><span class="p">,</span> <span class="n">eig</span>
|
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.linalg</span><span class="w"> </span><span class="kn">import</span> <span class="n">eig</span><span class="p">,</span> <span class="n">svd</span>
|
||||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a>
|
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.obs</span><span class="w"> </span><span class="kn">import</span> <span class="n">Obs</span>
|
||||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</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="w"> </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-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 class="w"> </span><span class="sd">"""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="k">def</span><span class="w"> </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-9"><a href="#L-9"><span class="linenos"> 9</span></a>
|
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="w"> </span><span class="sd">"""Matrix pencil method to extract k energy levels from data</span>
|
||||||
</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-10"><a href="#L-10"><span class="linenos">10</span></a>
|
||||||
</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>
|
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a><span class="sd"> Implementation of the matrix pencil method based on</span>
|
||||||
</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a>
|
</span><span id="L-12"><a href="#L-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>
|
||||||
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a><span class="sd"> Parameters</span>
|
</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 class="sd"> ----------</span>
|
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a><span class="sd"> data : list</span>
|
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a><span class="sd"> can be a list of Obs for the analysis of a single correlator, or a list of lists</span>
|
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a><span class="sd"> data : list</span>
|
||||||
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a><span class="sd"> of Obs if several correlators are to analyzed at once.</span>
|
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a><span class="sd"> can be a list of Obs for the analysis of a single correlator, or a list of lists</span>
|
||||||
</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a><span class="sd"> k : int</span>
|
</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a><span class="sd"> of Obs if several correlators are to analyzed at once.</span>
|
||||||
</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a><span class="sd"> Number of states to extract (default 1).</span>
|
</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a><span class="sd"> k : int</span>
|
||||||
</span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a><span class="sd"> p : int</span>
|
</span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a><span class="sd"> Number of states to extract (default 1).</span>
|
||||||
</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a><span class="sd"> matrix pencil parameter which filters noise. The optimal value is expected between</span>
|
</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a><span class="sd"> p : int</span>
|
||||||
</span><span id="L-22"><a href="#L-22"><span class="linenos">22</span></a><span class="sd"> len(data)/3 and 2*len(data)/3. The computation is more expensive the closer p is</span>
|
</span><span id="L-22"><a href="#L-22"><span class="linenos">22</span></a><span class="sd"> matrix pencil parameter which filters noise. The optimal value is expected between</span>
|
||||||
</span><span id="L-23"><a href="#L-23"><span class="linenos">23</span></a><span class="sd"> to len(data)/2 but could possibly suppress more noise (default len(data)//2).</span>
|
</span><span id="L-23"><a href="#L-23"><span class="linenos">23</span></a><span class="sd"> len(data)/3 and 2*len(data)/3. The computation is more expensive the closer p is</span>
|
||||||
</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a>
|
</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a><span class="sd"> to len(data)/2 but could possibly suppress more noise (default len(data)//2).</span>
|
||||||
</span><span id="L-25"><a href="#L-25"><span class="linenos">25</span></a><span class="sd"> Returns</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="sd"> -------</span>
|
</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a><span class="sd"> energy_levels : list[Obs]</span>
|
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a><span class="sd"> Extracted energy levels</span>
|
</span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a><span class="sd"> energy_levels : list[Obs]</span>
|
||||||
</span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a><span class="sd"> """</span>
|
</span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a><span class="sd"> Extracted energy levels</span>
|
||||||
</span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">corrs</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-30"><a href="#L-30"><span class="linenos">30</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a> <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">corrs</span><span class="p">]</span>
|
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">corrs</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-32"><a href="#L-32"><span class="linenos">32</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a> <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">corrs</span><span class="p">]</span>
|
||||||
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a> <span class="n">data</span> <span class="o">=</span> <span class="n">corrs</span>
|
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a>
|
</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a> <span class="n">data</span> <span class="o">=</span> <span class="n">corrs</span>
|
||||||
</span><span id="L-35"><a href="#L-35"><span class="linenos">35</span></a> <span class="n">lengths</span> <span class="o">=</span> <span class="p">[</span><span class="nb">len</span><span class="p">(</span><span class="n">d</span><span class="p">)</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">data</span><span class="p">]</span>
|
</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 class="k">if</span> <span class="n">lengths</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="n">lengths</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">lengths</span><span class="p">):</span>
|
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a> <span class="n">lengths</span> <span class="o">=</span> <span class="p">[</span><span class="nb">len</span><span class="p">(</span><span class="n">d</span><span class="p">)</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">data</span><span class="p">]</span>
|
||||||
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'All datasets have to have the same length.'</span><span class="p">)</span>
|
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a> <span class="k">if</span> <span class="n">lengths</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="n">lengths</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">lengths</span><span class="p">):</span>
|
||||||
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a>
|
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'All datasets have to have the same length.'</span><span class="p">)</span>
|
||||||
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a> <span class="n">data_sets</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</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="n">n_data</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a> <span class="n">data_sets</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||||
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a>
|
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a> <span class="n">n_data</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a> <span class="k">if</span> <span class="n">p</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a>
|
||||||
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a> <span class="n">p</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">n_data</span> <span class="o">//</span> <span class="mi">2</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span>
|
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a> <span class="k">if</span> <span class="n">p</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||||
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a> <span class="k">if</span> <span class="n">n_data</span> <span class="o"><=</span> <span class="n">p</span><span class="p">:</span>
|
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a> <span class="n">p</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">n_data</span> <span class="o">//</span> <span class="mi">2</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span>
|
||||||
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'The pencil p has to be smaller than the number of data samples.'</span><span class="p">)</span>
|
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a> <span class="k">if</span> <span class="n">n_data</span> <span class="o"><=</span> <span class="n">p</span><span class="p">:</span>
|
||||||
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a> <span class="k">if</span> <span class="n">p</span> <span class="o"><</span> <span class="n">k</span> <span class="ow">or</span> <span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span> <span class="o"><</span> <span class="n">k</span><span class="p">:</span>
|
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'The pencil p has to be smaller than the number of data samples.'</span><span class="p">)</span>
|
||||||
</span><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Cannot extract'</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="s1">'energy levels with p='</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="s1">'and N-p='</span><span class="p">,</span> <span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span><span class="p">)</span>
|
</span><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a> <span class="k">if</span> <span class="n">p</span> <span class="o"><</span> <span class="n">k</span> <span class="ow">or</span> <span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span> <span class="o"><</span> <span class="n">k</span><span class="p">:</span>
|
||||||
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a>
|
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Cannot extract'</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="s1">'energy levels with p='</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="s1">'and N-p='</span><span class="p">,</span> <span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span><span class="p">)</span>
|
||||||
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a> <span class="c1"># Construct the hankel matrices</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="n">matrix</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a> <span class="c1"># Construct the hankel matrices</span>
|
||||||
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">data_sets</span><span class="p">):</span>
|
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a> <span class="n">matrix</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a> <span class="n">matrix</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">scipy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">hankel</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="n">n</span><span class="p">][:</span><span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span><span class="p">],</span> <span class="n">data</span><span class="p">[</span><span class="n">n</span><span class="p">][</span><span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:]))</span>
|
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">data_sets</span><span class="p">):</span>
|
||||||
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a> <span class="n">matrix</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">matrix</span><span class="p">)</span>
|
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a> <span class="n">matrix</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">scipy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">hankel</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="n">n</span><span class="p">][:</span><span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span><span class="p">],</span> <span class="n">data</span><span class="p">[</span><span class="n">n</span><span class="p">][</span><span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:]))</span>
|
||||||
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a> <span class="c1"># Construct y1 and y2</span>
|
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a> <span class="n">matrix</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">matrix</span><span class="p">)</span>
|
||||||
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a> <span class="n">y1</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">(</span><span class="n">matrix</span><span class="p">[:,</span> <span class="p">:,</span> <span class="p">:</span><span class="n">p</span><span class="p">])</span>
|
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a> <span class="c1"># Construct y1 and y2</span>
|
||||||
</span><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a> <span class="n">y2</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">(</span><span class="n">matrix</span><span class="p">[:,</span> <span class="p">:,</span> <span class="mi">1</span><span class="p">:])</span>
|
</span><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a> <span class="n">y1</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">(</span><span class="n">matrix</span><span class="p">[:,</span> <span class="p">:,</span> <span class="p">:</span><span class="n">p</span><span class="p">])</span>
|
||||||
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a> <span class="c1"># Apply SVD to y2</span>
|
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a> <span class="n">y2</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">(</span><span class="n">matrix</span><span class="p">[:,</span> <span class="p">:,</span> <span class="mi">1</span><span class="p">:])</span>
|
||||||
</span><span id="L-58"><a href="#L-58"><span class="linenos">58</span></a> <span class="n">u</span><span class="p">,</span> <span class="n">s</span><span class="p">,</span> <span class="n">vh</span> <span class="o">=</span> <span class="n">svd</span><span class="p">(</span><span class="n">y2</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
</span><span id="L-58"><a href="#L-58"><span class="linenos">58</span></a> <span class="c1"># Apply SVD to y2</span>
|
||||||
</span><span id="L-59"><a href="#L-59"><span class="linenos">59</span></a> <span class="c1"># Construct z from y1 and SVD of y2, setting all singular values beyond the kth to zero</span>
|
</span><span id="L-59"><a href="#L-59"><span class="linenos">59</span></a> <span class="n">u</span><span class="p">,</span> <span class="n">s</span><span class="p">,</span> <span class="n">vh</span> <span class="o">=</span> <span class="n">svd</span><span class="p">(</span><span class="n">y2</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||||
</span><span id="L-60"><a href="#L-60"><span class="linenos">60</span></a> <span class="n">z</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="mf">1.</span> <span class="o">/</span> <span class="n">s</span><span class="p">[:</span><span class="n">k</span><span class="p">])</span> <span class="o">@</span> <span class="n">u</span><span class="p">[:,</span> <span class="p">:</span><span class="n">k</span><span class="p">]</span><span class="o">.</span><span class="n">T</span> <span class="o">@</span> <span class="n">y1</span> <span class="o">@</span> <span class="n">vh</span><span class="o">.</span><span class="n">T</span><span class="p">[:,</span> <span class="p">:</span><span class="n">k</span><span class="p">]</span>
|
</span><span id="L-60"><a href="#L-60"><span class="linenos">60</span></a> <span class="c1"># Construct z from y1 and SVD of y2, setting all singular values beyond the kth to zero</span>
|
||||||
</span><span id="L-61"><a href="#L-61"><span class="linenos">61</span></a> <span class="c1"># Return the sorted logarithms of the real eigenvalues as Obs</span>
|
</span><span id="L-61"><a href="#L-61"><span class="linenos">61</span></a> <span class="n">z</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="mf">1.</span> <span class="o">/</span> <span class="n">s</span><span class="p">[:</span><span class="n">k</span><span class="p">])</span> <span class="o">@</span> <span class="n">u</span><span class="p">[:,</span> <span class="p">:</span><span class="n">k</span><span class="p">]</span><span class="o">.</span><span class="n">T</span> <span class="o">@</span> <span class="n">y1</span> <span class="o">@</span> <span class="n">vh</span><span class="o">.</span><span class="n">T</span><span class="p">[:,</span> <span class="p">:</span><span class="n">k</span><span class="p">]</span>
|
||||||
</span><span id="L-62"><a href="#L-62"><span class="linenos">62</span></a> <span class="n">energy_levels</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">eig</span><span class="p">(</span><span class="n">z</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)))</span>
|
</span><span id="L-62"><a href="#L-62"><span class="linenos">62</span></a> <span class="c1"># Return the sorted logarithms of the real eigenvalues as Obs</span>
|
||||||
</span><span id="L-63"><a href="#L-63"><span class="linenos">63</span></a> <span class="k">return</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">energy_levels</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">abs</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="n">value</span><span class="p">))</span>
|
</span><span id="L-63"><a href="#L-63"><span class="linenos">63</span></a> <span class="n">energy_levels</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">eig</span><span class="p">(</span><span class="n">z</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)))</span>
|
||||||
|
</span><span id="L-64"><a href="#L-64"><span class="linenos">64</span></a> <span class="k">return</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">energy_levels</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">abs</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="n">value</span><span class="p">))</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -154,63 +155,63 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#matrix_pencil_method"></a>
|
<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="w"> </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>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="matrix_pencil_method-9"><a href="#matrix_pencil_method-9"><span class="linenos"> 9</span></a><span class="k">def</span><span class="w"> </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="w"> </span><span class="sd">"""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 class="w"> </span><span class="sd">"""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><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"> 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>
|
</span><span id="matrix_pencil_method-13"><a href="#matrix_pencil_method-13"><span class="linenos">13</span></a><span class="sd"> eq. (2.17) of Y. Hua, T. K. Sarkar, IEEE Trans. Acoust. 38, 814-824 (1990)</span>
|
||||||
</span><span id="matrix_pencil_method-13"><a href="#matrix_pencil_method-13"><span class="linenos">13</span></a>
|
</span><span id="matrix_pencil_method-14"><a href="#matrix_pencil_method-14"><span class="linenos">14</span></a>
|
||||||
</span><span id="matrix_pencil_method-14"><a href="#matrix_pencil_method-14"><span class="linenos">14</span></a><span class="sd"> Parameters</span>
|
</span><span id="matrix_pencil_method-15"><a href="#matrix_pencil_method-15"><span class="linenos">15</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="matrix_pencil_method-15"><a href="#matrix_pencil_method-15"><span class="linenos">15</span></a><span class="sd"> ----------</span>
|
</span><span id="matrix_pencil_method-16"><a href="#matrix_pencil_method-16"><span class="linenos">16</span></a><span class="sd"> ----------</span>
|
||||||
</span><span id="matrix_pencil_method-16"><a href="#matrix_pencil_method-16"><span class="linenos">16</span></a><span class="sd"> data : list</span>
|
</span><span id="matrix_pencil_method-17"><a href="#matrix_pencil_method-17"><span class="linenos">17</span></a><span class="sd"> data : list</span>
|
||||||
</span><span id="matrix_pencil_method-17"><a href="#matrix_pencil_method-17"><span class="linenos">17</span></a><span class="sd"> can be a list of Obs for the analysis of a single correlator, or a list of lists</span>
|
</span><span id="matrix_pencil_method-18"><a href="#matrix_pencil_method-18"><span class="linenos">18</span></a><span class="sd"> can be a list of Obs for the analysis of a single correlator, or a list of lists</span>
|
||||||
</span><span id="matrix_pencil_method-18"><a href="#matrix_pencil_method-18"><span class="linenos">18</span></a><span class="sd"> of Obs if several correlators are to analyzed at once.</span>
|
</span><span id="matrix_pencil_method-19"><a href="#matrix_pencil_method-19"><span class="linenos">19</span></a><span class="sd"> of Obs if several correlators are to analyzed at once.</span>
|
||||||
</span><span id="matrix_pencil_method-19"><a href="#matrix_pencil_method-19"><span class="linenos">19</span></a><span class="sd"> k : int</span>
|
</span><span id="matrix_pencil_method-20"><a href="#matrix_pencil_method-20"><span class="linenos">20</span></a><span class="sd"> k : int</span>
|
||||||
</span><span id="matrix_pencil_method-20"><a href="#matrix_pencil_method-20"><span class="linenos">20</span></a><span class="sd"> Number of states to extract (default 1).</span>
|
</span><span id="matrix_pencil_method-21"><a href="#matrix_pencil_method-21"><span class="linenos">21</span></a><span class="sd"> Number of states to extract (default 1).</span>
|
||||||
</span><span id="matrix_pencil_method-21"><a href="#matrix_pencil_method-21"><span class="linenos">21</span></a><span class="sd"> p : int</span>
|
</span><span id="matrix_pencil_method-22"><a href="#matrix_pencil_method-22"><span class="linenos">22</span></a><span class="sd"> p : int</span>
|
||||||
</span><span id="matrix_pencil_method-22"><a href="#matrix_pencil_method-22"><span class="linenos">22</span></a><span class="sd"> matrix pencil parameter which filters noise. The optimal value is expected between</span>
|
</span><span id="matrix_pencil_method-23"><a href="#matrix_pencil_method-23"><span class="linenos">23</span></a><span class="sd"> matrix pencil parameter which filters noise. The optimal value is expected between</span>
|
||||||
</span><span id="matrix_pencil_method-23"><a href="#matrix_pencil_method-23"><span class="linenos">23</span></a><span class="sd"> len(data)/3 and 2*len(data)/3. The computation is more expensive the closer p is</span>
|
</span><span id="matrix_pencil_method-24"><a href="#matrix_pencil_method-24"><span class="linenos">24</span></a><span class="sd"> len(data)/3 and 2*len(data)/3. The computation is more expensive the closer p is</span>
|
||||||
</span><span id="matrix_pencil_method-24"><a href="#matrix_pencil_method-24"><span class="linenos">24</span></a><span class="sd"> to len(data)/2 but could possibly suppress more noise (default len(data)//2).</span>
|
</span><span id="matrix_pencil_method-25"><a href="#matrix_pencil_method-25"><span class="linenos">25</span></a><span class="sd"> to len(data)/2 but could possibly suppress more noise (default len(data)//2).</span>
|
||||||
</span><span id="matrix_pencil_method-25"><a href="#matrix_pencil_method-25"><span class="linenos">25</span></a>
|
</span><span id="matrix_pencil_method-26"><a href="#matrix_pencil_method-26"><span class="linenos">26</span></a>
|
||||||
</span><span id="matrix_pencil_method-26"><a href="#matrix_pencil_method-26"><span class="linenos">26</span></a><span class="sd"> Returns</span>
|
</span><span id="matrix_pencil_method-27"><a href="#matrix_pencil_method-27"><span class="linenos">27</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="matrix_pencil_method-27"><a href="#matrix_pencil_method-27"><span class="linenos">27</span></a><span class="sd"> -------</span>
|
</span><span id="matrix_pencil_method-28"><a href="#matrix_pencil_method-28"><span class="linenos">28</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="matrix_pencil_method-28"><a href="#matrix_pencil_method-28"><span class="linenos">28</span></a><span class="sd"> energy_levels : list[Obs]</span>
|
</span><span id="matrix_pencil_method-29"><a href="#matrix_pencil_method-29"><span class="linenos">29</span></a><span class="sd"> energy_levels : list[Obs]</span>
|
||||||
</span><span id="matrix_pencil_method-29"><a href="#matrix_pencil_method-29"><span class="linenos">29</span></a><span class="sd"> Extracted energy levels</span>
|
</span><span id="matrix_pencil_method-30"><a href="#matrix_pencil_method-30"><span class="linenos">30</span></a><span class="sd"> Extracted energy levels</span>
|
||||||
</span><span id="matrix_pencil_method-30"><a href="#matrix_pencil_method-30"><span class="linenos">30</span></a><span class="sd"> """</span>
|
</span><span id="matrix_pencil_method-31"><a href="#matrix_pencil_method-31"><span class="linenos">31</span></a><span class="sd"> """</span>
|
||||||
</span><span id="matrix_pencil_method-31"><a href="#matrix_pencil_method-31"><span class="linenos">31</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">corrs</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="matrix_pencil_method-32"><a href="#matrix_pencil_method-32"><span class="linenos">32</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">corrs</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="matrix_pencil_method-32"><a href="#matrix_pencil_method-32"><span class="linenos">32</span></a> <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">corrs</span><span class="p">]</span>
|
</span><span id="matrix_pencil_method-33"><a href="#matrix_pencil_method-33"><span class="linenos">33</span></a> <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">corrs</span><span class="p">]</span>
|
||||||
</span><span id="matrix_pencil_method-33"><a href="#matrix_pencil_method-33"><span class="linenos">33</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="matrix_pencil_method-34"><a href="#matrix_pencil_method-34"><span class="linenos">34</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="matrix_pencil_method-34"><a href="#matrix_pencil_method-34"><span class="linenos">34</span></a> <span class="n">data</span> <span class="o">=</span> <span class="n">corrs</span>
|
</span><span id="matrix_pencil_method-35"><a href="#matrix_pencil_method-35"><span class="linenos">35</span></a> <span class="n">data</span> <span class="o">=</span> <span class="n">corrs</span>
|
||||||
</span><span id="matrix_pencil_method-35"><a href="#matrix_pencil_method-35"><span class="linenos">35</span></a>
|
</span><span id="matrix_pencil_method-36"><a href="#matrix_pencil_method-36"><span class="linenos">36</span></a>
|
||||||
</span><span id="matrix_pencil_method-36"><a href="#matrix_pencil_method-36"><span class="linenos">36</span></a> <span class="n">lengths</span> <span class="o">=</span> <span class="p">[</span><span class="nb">len</span><span class="p">(</span><span class="n">d</span><span class="p">)</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">data</span><span class="p">]</span>
|
</span><span id="matrix_pencil_method-37"><a href="#matrix_pencil_method-37"><span class="linenos">37</span></a> <span class="n">lengths</span> <span class="o">=</span> <span class="p">[</span><span class="nb">len</span><span class="p">(</span><span class="n">d</span><span class="p">)</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">data</span><span class="p">]</span>
|
||||||
</span><span id="matrix_pencil_method-37"><a href="#matrix_pencil_method-37"><span class="linenos">37</span></a> <span class="k">if</span> <span class="n">lengths</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="n">lengths</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">lengths</span><span class="p">):</span>
|
</span><span id="matrix_pencil_method-38"><a href="#matrix_pencil_method-38"><span class="linenos">38</span></a> <span class="k">if</span> <span class="n">lengths</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="n">lengths</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">lengths</span><span class="p">):</span>
|
||||||
</span><span id="matrix_pencil_method-38"><a href="#matrix_pencil_method-38"><span class="linenos">38</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'All datasets have to have the same length.'</span><span class="p">)</span>
|
</span><span id="matrix_pencil_method-39"><a href="#matrix_pencil_method-39"><span class="linenos">39</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'All datasets have to have the same length.'</span><span class="p">)</span>
|
||||||
</span><span id="matrix_pencil_method-39"><a href="#matrix_pencil_method-39"><span class="linenos">39</span></a>
|
</span><span id="matrix_pencil_method-40"><a href="#matrix_pencil_method-40"><span class="linenos">40</span></a>
|
||||||
</span><span id="matrix_pencil_method-40"><a href="#matrix_pencil_method-40"><span class="linenos">40</span></a> <span class="n">data_sets</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
</span><span id="matrix_pencil_method-41"><a href="#matrix_pencil_method-41"><span class="linenos">41</span></a> <span class="n">data_sets</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||||
</span><span id="matrix_pencil_method-41"><a href="#matrix_pencil_method-41"><span class="linenos">41</span></a> <span class="n">n_data</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="matrix_pencil_method-42"><a href="#matrix_pencil_method-42"><span class="linenos">42</span></a> <span class="n">n_data</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="matrix_pencil_method-42"><a href="#matrix_pencil_method-42"><span class="linenos">42</span></a>
|
</span><span id="matrix_pencil_method-43"><a href="#matrix_pencil_method-43"><span class="linenos">43</span></a>
|
||||||
</span><span id="matrix_pencil_method-43"><a href="#matrix_pencil_method-43"><span class="linenos">43</span></a> <span class="k">if</span> <span class="n">p</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
</span><span id="matrix_pencil_method-44"><a href="#matrix_pencil_method-44"><span class="linenos">44</span></a> <span class="k">if</span> <span class="n">p</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||||
</span><span id="matrix_pencil_method-44"><a href="#matrix_pencil_method-44"><span class="linenos">44</span></a> <span class="n">p</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">n_data</span> <span class="o">//</span> <span class="mi">2</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span>
|
</span><span id="matrix_pencil_method-45"><a href="#matrix_pencil_method-45"><span class="linenos">45</span></a> <span class="n">p</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">n_data</span> <span class="o">//</span> <span class="mi">2</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span>
|
||||||
</span><span id="matrix_pencil_method-45"><a href="#matrix_pencil_method-45"><span class="linenos">45</span></a> <span class="k">if</span> <span class="n">n_data</span> <span class="o"><=</span> <span class="n">p</span><span class="p">:</span>
|
</span><span id="matrix_pencil_method-46"><a href="#matrix_pencil_method-46"><span class="linenos">46</span></a> <span class="k">if</span> <span class="n">n_data</span> <span class="o"><=</span> <span class="n">p</span><span class="p">:</span>
|
||||||
</span><span id="matrix_pencil_method-46"><a href="#matrix_pencil_method-46"><span class="linenos">46</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'The pencil p has to be smaller than the number of data samples.'</span><span class="p">)</span>
|
</span><span id="matrix_pencil_method-47"><a href="#matrix_pencil_method-47"><span class="linenos">47</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'The pencil p has to be smaller than the number of data samples.'</span><span class="p">)</span>
|
||||||
</span><span id="matrix_pencil_method-47"><a href="#matrix_pencil_method-47"><span class="linenos">47</span></a> <span class="k">if</span> <span class="n">p</span> <span class="o"><</span> <span class="n">k</span> <span class="ow">or</span> <span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span> <span class="o"><</span> <span class="n">k</span><span class="p">:</span>
|
</span><span id="matrix_pencil_method-48"><a href="#matrix_pencil_method-48"><span class="linenos">48</span></a> <span class="k">if</span> <span class="n">p</span> <span class="o"><</span> <span class="n">k</span> <span class="ow">or</span> <span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span> <span class="o"><</span> <span class="n">k</span><span class="p">:</span>
|
||||||
</span><span id="matrix_pencil_method-48"><a href="#matrix_pencil_method-48"><span class="linenos">48</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Cannot extract'</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="s1">'energy levels with p='</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="s1">'and N-p='</span><span class="p">,</span> <span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span><span class="p">)</span>
|
</span><span id="matrix_pencil_method-49"><a href="#matrix_pencil_method-49"><span class="linenos">49</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Cannot extract'</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="s1">'energy levels with p='</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="s1">'and N-p='</span><span class="p">,</span> <span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span><span class="p">)</span>
|
||||||
</span><span id="matrix_pencil_method-49"><a href="#matrix_pencil_method-49"><span class="linenos">49</span></a>
|
</span><span id="matrix_pencil_method-50"><a href="#matrix_pencil_method-50"><span class="linenos">50</span></a>
|
||||||
</span><span id="matrix_pencil_method-50"><a href="#matrix_pencil_method-50"><span class="linenos">50</span></a> <span class="c1"># Construct the hankel matrices</span>
|
</span><span id="matrix_pencil_method-51"><a href="#matrix_pencil_method-51"><span class="linenos">51</span></a> <span class="c1"># Construct the hankel matrices</span>
|
||||||
</span><span id="matrix_pencil_method-51"><a href="#matrix_pencil_method-51"><span class="linenos">51</span></a> <span class="n">matrix</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="matrix_pencil_method-52"><a href="#matrix_pencil_method-52"><span class="linenos">52</span></a> <span class="n">matrix</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="matrix_pencil_method-52"><a href="#matrix_pencil_method-52"><span class="linenos">52</span></a> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">data_sets</span><span class="p">):</span>
|
</span><span id="matrix_pencil_method-53"><a href="#matrix_pencil_method-53"><span class="linenos">53</span></a> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">data_sets</span><span class="p">):</span>
|
||||||
</span><span id="matrix_pencil_method-53"><a href="#matrix_pencil_method-53"><span class="linenos">53</span></a> <span class="n">matrix</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">scipy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">hankel</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="n">n</span><span class="p">][:</span><span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span><span class="p">],</span> <span class="n">data</span><span class="p">[</span><span class="n">n</span><span class="p">][</span><span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:]))</span>
|
</span><span id="matrix_pencil_method-54"><a href="#matrix_pencil_method-54"><span class="linenos">54</span></a> <span class="n">matrix</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">scipy</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">hankel</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="n">n</span><span class="p">][:</span><span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span><span class="p">],</span> <span class="n">data</span><span class="p">[</span><span class="n">n</span><span class="p">][</span><span class="n">n_data</span> <span class="o">-</span> <span class="n">p</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:]))</span>
|
||||||
</span><span id="matrix_pencil_method-54"><a href="#matrix_pencil_method-54"><span class="linenos">54</span></a> <span class="n">matrix</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">matrix</span><span class="p">)</span>
|
</span><span id="matrix_pencil_method-55"><a href="#matrix_pencil_method-55"><span class="linenos">55</span></a> <span class="n">matrix</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">matrix</span><span class="p">)</span>
|
||||||
</span><span id="matrix_pencil_method-55"><a href="#matrix_pencil_method-55"><span class="linenos">55</span></a> <span class="c1"># Construct y1 and y2</span>
|
</span><span id="matrix_pencil_method-56"><a href="#matrix_pencil_method-56"><span class="linenos">56</span></a> <span class="c1"># Construct y1 and y2</span>
|
||||||
</span><span id="matrix_pencil_method-56"><a href="#matrix_pencil_method-56"><span class="linenos">56</span></a> <span class="n">y1</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">(</span><span class="n">matrix</span><span class="p">[:,</span> <span class="p">:,</span> <span class="p">:</span><span class="n">p</span><span class="p">])</span>
|
</span><span id="matrix_pencil_method-57"><a href="#matrix_pencil_method-57"><span class="linenos">57</span></a> <span class="n">y1</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">(</span><span class="n">matrix</span><span class="p">[:,</span> <span class="p">:,</span> <span class="p">:</span><span class="n">p</span><span class="p">])</span>
|
||||||
</span><span id="matrix_pencil_method-57"><a href="#matrix_pencil_method-57"><span class="linenos">57</span></a> <span class="n">y2</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">(</span><span class="n">matrix</span><span class="p">[:,</span> <span class="p">:,</span> <span class="mi">1</span><span class="p">:])</span>
|
</span><span id="matrix_pencil_method-58"><a href="#matrix_pencil_method-58"><span class="linenos">58</span></a> <span class="n">y2</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">(</span><span class="n">matrix</span><span class="p">[:,</span> <span class="p">:,</span> <span class="mi">1</span><span class="p">:])</span>
|
||||||
</span><span id="matrix_pencil_method-58"><a href="#matrix_pencil_method-58"><span class="linenos">58</span></a> <span class="c1"># Apply SVD to y2</span>
|
</span><span id="matrix_pencil_method-59"><a href="#matrix_pencil_method-59"><span class="linenos">59</span></a> <span class="c1"># Apply SVD to y2</span>
|
||||||
</span><span id="matrix_pencil_method-59"><a href="#matrix_pencil_method-59"><span class="linenos">59</span></a> <span class="n">u</span><span class="p">,</span> <span class="n">s</span><span class="p">,</span> <span class="n">vh</span> <span class="o">=</span> <span class="n">svd</span><span class="p">(</span><span class="n">y2</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
</span><span id="matrix_pencil_method-60"><a href="#matrix_pencil_method-60"><span class="linenos">60</span></a> <span class="n">u</span><span class="p">,</span> <span class="n">s</span><span class="p">,</span> <span class="n">vh</span> <span class="o">=</span> <span class="n">svd</span><span class="p">(</span><span class="n">y2</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||||
</span><span id="matrix_pencil_method-60"><a href="#matrix_pencil_method-60"><span class="linenos">60</span></a> <span class="c1"># Construct z from y1 and SVD of y2, setting all singular values beyond the kth to zero</span>
|
</span><span id="matrix_pencil_method-61"><a href="#matrix_pencil_method-61"><span class="linenos">61</span></a> <span class="c1"># Construct z from y1 and SVD of y2, setting all singular values beyond the kth to zero</span>
|
||||||
</span><span id="matrix_pencil_method-61"><a href="#matrix_pencil_method-61"><span class="linenos">61</span></a> <span class="n">z</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="mf">1.</span> <span class="o">/</span> <span class="n">s</span><span class="p">[:</span><span class="n">k</span><span class="p">])</span> <span class="o">@</span> <span class="n">u</span><span class="p">[:,</span> <span class="p">:</span><span class="n">k</span><span class="p">]</span><span class="o">.</span><span class="n">T</span> <span class="o">@</span> <span class="n">y1</span> <span class="o">@</span> <span class="n">vh</span><span class="o">.</span><span class="n">T</span><span class="p">[:,</span> <span class="p">:</span><span class="n">k</span><span class="p">]</span>
|
</span><span id="matrix_pencil_method-62"><a href="#matrix_pencil_method-62"><span class="linenos">62</span></a> <span class="n">z</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="mf">1.</span> <span class="o">/</span> <span class="n">s</span><span class="p">[:</span><span class="n">k</span><span class="p">])</span> <span class="o">@</span> <span class="n">u</span><span class="p">[:,</span> <span class="p">:</span><span class="n">k</span><span class="p">]</span><span class="o">.</span><span class="n">T</span> <span class="o">@</span> <span class="n">y1</span> <span class="o">@</span> <span class="n">vh</span><span class="o">.</span><span class="n">T</span><span class="p">[:,</span> <span class="p">:</span><span class="n">k</span><span class="p">]</span>
|
||||||
</span><span id="matrix_pencil_method-62"><a href="#matrix_pencil_method-62"><span class="linenos">62</span></a> <span class="c1"># Return the sorted logarithms of the real eigenvalues as Obs</span>
|
</span><span id="matrix_pencil_method-63"><a href="#matrix_pencil_method-63"><span class="linenos">63</span></a> <span class="c1"># Return the sorted logarithms of the real eigenvalues as Obs</span>
|
||||||
</span><span id="matrix_pencil_method-63"><a href="#matrix_pencil_method-63"><span class="linenos">63</span></a> <span class="n">energy_levels</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">eig</span><span class="p">(</span><span class="n">z</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)))</span>
|
</span><span id="matrix_pencil_method-64"><a href="#matrix_pencil_method-64"><span class="linenos">64</span></a> <span class="n">energy_levels</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">eig</span><span class="p">(</span><span class="n">z</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)))</span>
|
||||||
</span><span id="matrix_pencil_method-64"><a href="#matrix_pencil_method-64"><span class="linenos">64</span></a> <span class="k">return</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">energy_levels</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">abs</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="n">value</span><span class="p">))</span>
|
</span><span id="matrix_pencil_method-65"><a href="#matrix_pencil_method-65"><span class="linenos">65</span></a> <span class="k">return</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">energy_levels</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">abs</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="n">value</span><span class="p">))</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -79,46 +79,47 @@
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
||||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">scipy.optimize</span>
|
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">scipy.optimize</span>
|
||||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">autograd</span><span class="w"> </span><span class="kn">import</span> <span class="n">jacobian</span>
|
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">autograd</span><span class="w"> </span><span class="kn">import</span> <span class="n">jacobian</span>
|
||||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.obs</span><span class="w"> </span><span class="kn">import</span> <span class="n">derived_observable</span>
|
</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-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">.obs</span><span class="w"> </span><span class="kn">import</span> <span class="n">derived_observable</span>
|
||||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</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="w"> </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-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 class="w"> </span><span class="sa">r</span><span class="sd">'''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="k">def</span><span class="w"> </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-9"><a href="#L-9"><span class="linenos"> 9</span></a>
|
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">'''Finds the root of the function func(x, d) where d is an `Obs`.</span>
|
||||||
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a><span class="sd"> Parameters</span>
|
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a>
|
||||||
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a><span class="sd"> -----------------</span>
|
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a><span class="sd"> Parameters</span>
|
||||||
</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a><span class="sd"> d : Obs</span>
|
</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a><span class="sd"> -----------------</span>
|
||||||
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a><span class="sd"> Obs passed to the function.</span>
|
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a><span class="sd"> d : Obs</span>
|
||||||
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a><span class="sd"> func : object</span>
|
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a><span class="sd"> Obs passed to the function.</span>
|
||||||
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a><span class="sd"> Function to be minimized. Any numpy functions have to use the autograd.numpy wrapper.</span>
|
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a><span class="sd"> func : object</span>
|
||||||
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a><span class="sd"> Example:</span>
|
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a><span class="sd"> Function to be minimized. Any numpy functions have to use the autograd.numpy wrapper.</span>
|
||||||
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a><span class="sd"> ```python</span>
|
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a><span class="sd"> Example:</span>
|
||||||
</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a><span class="sd"> import autograd.numpy as anp</span>
|
</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a><span class="sd"> ```python</span>
|
||||||
</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a><span class="sd"> def root_func(x, d):</span>
|
</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a><span class="sd"> import autograd.numpy as anp</span>
|
||||||
</span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a><span class="sd"> return anp.exp(-x ** 2) - d</span>
|
</span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a><span class="sd"> def root_func(x, d):</span>
|
||||||
</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a><span class="sd"> ```</span>
|
</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a><span class="sd"> return anp.exp(-x ** 2) - d</span>
|
||||||
</span><span id="L-22"><a href="#L-22"><span class="linenos">22</span></a><span class="sd"> guess : float</span>
|
</span><span id="L-22"><a href="#L-22"><span class="linenos">22</span></a><span class="sd"> ```</span>
|
||||||
</span><span id="L-23"><a href="#L-23"><span class="linenos">23</span></a><span class="sd"> Initial guess for the minimization.</span>
|
</span><span id="L-23"><a href="#L-23"><span class="linenos">23</span></a><span class="sd"> guess : float</span>
|
||||||
</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a>
|
</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a><span class="sd"> Initial guess for the minimization.</span>
|
||||||
</span><span id="L-25"><a href="#L-25"><span class="linenos">25</span></a><span class="sd"> Returns</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="sd"> -------</span>
|
</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a><span class="sd"> res : Obs</span>
|
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a><span class="sd"> `Obs` valued root of the function.</span>
|
</span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a><span class="sd"> res : Obs</span>
|
||||||
</span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a><span class="sd"> '''</span>
|
</span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a><span class="sd"> `Obs` valued root of the function.</span>
|
||||||
</span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a> <span class="n">d_val</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vectorize</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">value</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="n">d</span><span class="p">))</span>
|
</span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a><span class="sd"> '''</span>
|
||||||
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a>
|
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a> <span class="n">d_val</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vectorize</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">value</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="n">d</span><span class="p">))</span>
|
||||||
</span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a> <span class="n">root</span> <span class="o">=</span> <span class="n">scipy</span><span class="o">.</span><span class="n">optimize</span><span class="o">.</span><span class="n">fsolve</span><span class="p">(</span><span class="n">func</span><span class="p">,</span> <span class="n">guess</span><span class="p">,</span> <span class="n">d_val</span><span class="p">)</span>
|
</span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a>
|
||||||
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a>
|
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a> <span class="n">root</span> <span class="o">=</span> <span class="n">scipy</span><span class="o">.</span><span class="n">optimize</span><span class="o">.</span><span class="n">fsolve</span><span class="p">(</span><span class="n">func</span><span class="p">,</span> <span class="n">guess</span><span class="p">,</span> <span class="n">d_val</span><span class="p">)</span>
|
||||||
</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a> <span class="c1"># Error propagation as detailed in arXiv:1809.01289</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="k">try</span><span class="p">:</span>
|
</span><span id="L-35"><a href="#L-35"><span class="linenos">35</span></a> <span class="c1"># Error propagation as detailed in arXiv:1809.01289</span>
|
||||||
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a> <span class="n">dx</span> <span class="o">=</span> <span class="n">jacobian</span><span class="p">(</span><span class="n">func</span><span class="p">)(</span><span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">d_val</span><span class="p">)</span>
|
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a> <span class="k">try</span><span class="p">:</span>
|
||||||
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a> <span class="n">da</span> <span class="o">=</span> <span class="n">jacobian</span><span class="p">(</span><span class="k">lambda</span> <span class="n">u</span><span class="p">,</span> <span class="n">v</span><span class="p">:</span> <span class="n">func</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">u</span><span class="p">))(</span><span class="n">d_val</span><span class="p">,</span> <span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a> <span class="n">dx</span> <span class="o">=</span> <span class="n">jacobian</span><span class="p">(</span><span class="n">func</span><span class="p">)(</span><span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">d_val</span><span class="p">)</span>
|
||||||
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a> <span class="k">except</span> <span class="p">(</span><span class="ne">TypeError</span><span class="p">,</span> <span class="ne">ValueError</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">LinAlgError</span><span class="p">):</span>
|
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a> <span class="n">da</span> <span class="o">=</span> <span class="n">jacobian</span><span class="p">(</span><span class="k">lambda</span> <span class="n">u</span><span class="p">,</span> <span class="n">v</span><span class="p">:</span> <span class="n">func</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">u</span><span class="p">))(</span><span class="n">d_val</span><span class="p">,</span> <span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"It is required to use autograd.numpy instead of numpy within root functions, see the documentation for details."</span><span class="p">)</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a> <span class="k">except</span> <span class="p">(</span><span class="ne">TypeError</span><span class="p">,</span> <span class="ne">ValueError</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">LinAlgError</span><span class="p">):</span>
|
||||||
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a> <span class="n">deriv</span> <span class="o">=</span> <span class="o">-</span> <span class="n">da</span> <span class="o">/</span> <span class="n">dx</span>
|
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"It is required to use autograd.numpy instead of numpy within root functions, see the documentation for details."</span><span class="p">)</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||||
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a> <span class="n">res</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="p">(</span><span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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 class="o">/</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="n">d</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">value</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 class="o">*</span> <span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
|
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a> <span class="n">deriv</span> <span class="o">=</span> <span class="o">-</span> <span class="n">da</span> <span class="o">/</span> <span class="n">dx</span>
|
||||||
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">d</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">),</span> <span class="n">man_grad</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">deriv</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">))</span>
|
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a> <span class="n">res</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="p">(</span><span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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 class="o">/</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="n">d</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">value</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 class="o">*</span> <span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
|
||||||
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a> <span class="k">return</span> <span class="n">res</span>
|
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">d</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">),</span> <span class="n">man_grad</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">deriv</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">))</span>
|
||||||
|
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a> <span class="k">return</span> <span class="n">res</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -134,43 +135,43 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#find_root"></a>
|
<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="w"> </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>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="find_root-9"><a href="#find_root-9"><span class="linenos"> 9</span></a><span class="k">def</span><span class="w"> </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="w"> </span><span class="sa">r</span><span class="sd">'''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 class="w"> </span><span class="sa">r</span><span class="sd">'''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><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"> Parameters</span>
|
||||||
</span><span id="find_root-12"><a href="#find_root-12"><span class="linenos">12</span></a><span class="sd"> -----------------</span>
|
</span><span id="find_root-13"><a href="#find_root-13"><span class="linenos">13</span></a><span class="sd"> -----------------</span>
|
||||||
</span><span id="find_root-13"><a href="#find_root-13"><span class="linenos">13</span></a><span class="sd"> d : Obs</span>
|
</span><span id="find_root-14"><a href="#find_root-14"><span class="linenos">14</span></a><span class="sd"> d : Obs</span>
|
||||||
</span><span id="find_root-14"><a href="#find_root-14"><span class="linenos">14</span></a><span class="sd"> Obs passed to the function.</span>
|
</span><span id="find_root-15"><a href="#find_root-15"><span class="linenos">15</span></a><span class="sd"> Obs passed to the function.</span>
|
||||||
</span><span id="find_root-15"><a href="#find_root-15"><span class="linenos">15</span></a><span class="sd"> func : object</span>
|
</span><span id="find_root-16"><a href="#find_root-16"><span class="linenos">16</span></a><span class="sd"> func : object</span>
|
||||||
</span><span id="find_root-16"><a href="#find_root-16"><span class="linenos">16</span></a><span class="sd"> Function to be minimized. Any numpy functions have to use the autograd.numpy wrapper.</span>
|
</span><span id="find_root-17"><a href="#find_root-17"><span class="linenos">17</span></a><span class="sd"> Function to be minimized. Any numpy functions have to use the autograd.numpy wrapper.</span>
|
||||||
</span><span id="find_root-17"><a href="#find_root-17"><span class="linenos">17</span></a><span class="sd"> Example:</span>
|
</span><span id="find_root-18"><a href="#find_root-18"><span class="linenos">18</span></a><span class="sd"> Example:</span>
|
||||||
</span><span id="find_root-18"><a href="#find_root-18"><span class="linenos">18</span></a><span class="sd"> ```python</span>
|
</span><span id="find_root-19"><a href="#find_root-19"><span class="linenos">19</span></a><span class="sd"> ```python</span>
|
||||||
</span><span id="find_root-19"><a href="#find_root-19"><span class="linenos">19</span></a><span class="sd"> import autograd.numpy as anp</span>
|
</span><span id="find_root-20"><a href="#find_root-20"><span class="linenos">20</span></a><span class="sd"> import autograd.numpy as anp</span>
|
||||||
</span><span id="find_root-20"><a href="#find_root-20"><span class="linenos">20</span></a><span class="sd"> def root_func(x, d):</span>
|
</span><span id="find_root-21"><a href="#find_root-21"><span class="linenos">21</span></a><span class="sd"> def root_func(x, d):</span>
|
||||||
</span><span id="find_root-21"><a href="#find_root-21"><span class="linenos">21</span></a><span class="sd"> return anp.exp(-x ** 2) - d</span>
|
</span><span id="find_root-22"><a href="#find_root-22"><span class="linenos">22</span></a><span class="sd"> return anp.exp(-x ** 2) - d</span>
|
||||||
</span><span id="find_root-22"><a href="#find_root-22"><span class="linenos">22</span></a><span class="sd"> ```</span>
|
</span><span id="find_root-23"><a href="#find_root-23"><span class="linenos">23</span></a><span class="sd"> ```</span>
|
||||||
</span><span id="find_root-23"><a href="#find_root-23"><span class="linenos">23</span></a><span class="sd"> guess : float</span>
|
</span><span id="find_root-24"><a href="#find_root-24"><span class="linenos">24</span></a><span class="sd"> guess : float</span>
|
||||||
</span><span id="find_root-24"><a href="#find_root-24"><span class="linenos">24</span></a><span class="sd"> Initial guess for the minimization.</span>
|
</span><span id="find_root-25"><a href="#find_root-25"><span class="linenos">25</span></a><span class="sd"> Initial guess for the minimization.</span>
|
||||||
</span><span id="find_root-25"><a href="#find_root-25"><span class="linenos">25</span></a>
|
</span><span id="find_root-26"><a href="#find_root-26"><span class="linenos">26</span></a>
|
||||||
</span><span id="find_root-26"><a href="#find_root-26"><span class="linenos">26</span></a><span class="sd"> Returns</span>
|
</span><span id="find_root-27"><a href="#find_root-27"><span class="linenos">27</span></a><span class="sd"> Returns</span>
|
||||||
</span><span id="find_root-27"><a href="#find_root-27"><span class="linenos">27</span></a><span class="sd"> -------</span>
|
</span><span id="find_root-28"><a href="#find_root-28"><span class="linenos">28</span></a><span class="sd"> -------</span>
|
||||||
</span><span id="find_root-28"><a href="#find_root-28"><span class="linenos">28</span></a><span class="sd"> res : Obs</span>
|
</span><span id="find_root-29"><a href="#find_root-29"><span class="linenos">29</span></a><span class="sd"> res : Obs</span>
|
||||||
</span><span id="find_root-29"><a href="#find_root-29"><span class="linenos">29</span></a><span class="sd"> `Obs` valued root of the function.</span>
|
</span><span id="find_root-30"><a href="#find_root-30"><span class="linenos">30</span></a><span class="sd"> `Obs` valued root of the function.</span>
|
||||||
</span><span id="find_root-30"><a href="#find_root-30"><span class="linenos">30</span></a><span class="sd"> '''</span>
|
</span><span id="find_root-31"><a href="#find_root-31"><span class="linenos">31</span></a><span class="sd"> '''</span>
|
||||||
</span><span id="find_root-31"><a href="#find_root-31"><span class="linenos">31</span></a> <span class="n">d_val</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vectorize</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">value</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="n">d</span><span class="p">))</span>
|
</span><span id="find_root-32"><a href="#find_root-32"><span class="linenos">32</span></a> <span class="n">d_val</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vectorize</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">value</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="n">d</span><span class="p">))</span>
|
||||||
</span><span id="find_root-32"><a href="#find_root-32"><span class="linenos">32</span></a>
|
</span><span id="find_root-33"><a href="#find_root-33"><span class="linenos">33</span></a>
|
||||||
</span><span id="find_root-33"><a href="#find_root-33"><span class="linenos">33</span></a> <span class="n">root</span> <span class="o">=</span> <span class="n">scipy</span><span class="o">.</span><span class="n">optimize</span><span class="o">.</span><span class="n">fsolve</span><span class="p">(</span><span class="n">func</span><span class="p">,</span> <span class="n">guess</span><span class="p">,</span> <span class="n">d_val</span><span class="p">)</span>
|
</span><span id="find_root-34"><a href="#find_root-34"><span class="linenos">34</span></a> <span class="n">root</span> <span class="o">=</span> <span class="n">scipy</span><span class="o">.</span><span class="n">optimize</span><span class="o">.</span><span class="n">fsolve</span><span class="p">(</span><span class="n">func</span><span class="p">,</span> <span class="n">guess</span><span class="p">,</span> <span class="n">d_val</span><span class="p">)</span>
|
||||||
</span><span id="find_root-34"><a href="#find_root-34"><span class="linenos">34</span></a>
|
</span><span id="find_root-35"><a href="#find_root-35"><span class="linenos">35</span></a>
|
||||||
</span><span id="find_root-35"><a href="#find_root-35"><span class="linenos">35</span></a> <span class="c1"># Error propagation as detailed in arXiv:1809.01289</span>
|
</span><span id="find_root-36"><a href="#find_root-36"><span class="linenos">36</span></a> <span class="c1"># Error propagation as detailed in arXiv:1809.01289</span>
|
||||||
</span><span id="find_root-36"><a href="#find_root-36"><span class="linenos">36</span></a> <span class="k">try</span><span class="p">:</span>
|
</span><span id="find_root-37"><a href="#find_root-37"><span class="linenos">37</span></a> <span class="k">try</span><span class="p">:</span>
|
||||||
</span><span id="find_root-37"><a href="#find_root-37"><span class="linenos">37</span></a> <span class="n">dx</span> <span class="o">=</span> <span class="n">jacobian</span><span class="p">(</span><span class="n">func</span><span class="p">)(</span><span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">d_val</span><span class="p">)</span>
|
</span><span id="find_root-38"><a href="#find_root-38"><span class="linenos">38</span></a> <span class="n">dx</span> <span class="o">=</span> <span class="n">jacobian</span><span class="p">(</span><span class="n">func</span><span class="p">)(</span><span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">d_val</span><span class="p">)</span>
|
||||||
</span><span id="find_root-38"><a href="#find_root-38"><span class="linenos">38</span></a> <span class="n">da</span> <span class="o">=</span> <span class="n">jacobian</span><span class="p">(</span><span class="k">lambda</span> <span class="n">u</span><span class="p">,</span> <span class="n">v</span><span class="p">:</span> <span class="n">func</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">u</span><span class="p">))(</span><span class="n">d_val</span><span class="p">,</span> <span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
</span><span id="find_root-39"><a href="#find_root-39"><span class="linenos">39</span></a> <span class="n">da</span> <span class="o">=</span> <span class="n">jacobian</span><span class="p">(</span><span class="k">lambda</span> <span class="n">u</span><span class="p">,</span> <span class="n">v</span><span class="p">:</span> <span class="n">func</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">u</span><span class="p">))(</span><span class="n">d_val</span><span class="p">,</span> <span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
</span><span id="find_root-39"><a href="#find_root-39"><span class="linenos">39</span></a> <span class="k">except</span> <span class="p">(</span><span class="ne">TypeError</span><span class="p">,</span> <span class="ne">ValueError</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">LinAlgError</span><span class="p">):</span>
|
</span><span id="find_root-40"><a href="#find_root-40"><span class="linenos">40</span></a> <span class="k">except</span> <span class="p">(</span><span class="ne">TypeError</span><span class="p">,</span> <span class="ne">ValueError</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">LinAlgError</span><span class="p">):</span>
|
||||||
</span><span id="find_root-40"><a href="#find_root-40"><span class="linenos">40</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"It is required to use autograd.numpy instead of numpy within root functions, see the documentation for details."</span><span class="p">)</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
</span><span id="find_root-41"><a href="#find_root-41"><span class="linenos">41</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"It is required to use autograd.numpy instead of numpy within root functions, see the documentation for details."</span><span class="p">)</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||||
</span><span id="find_root-41"><a href="#find_root-41"><span class="linenos">41</span></a> <span class="n">deriv</span> <span class="o">=</span> <span class="o">-</span> <span class="n">da</span> <span class="o">/</span> <span class="n">dx</span>
|
</span><span id="find_root-42"><a href="#find_root-42"><span class="linenos">42</span></a> <span class="n">deriv</span> <span class="o">=</span> <span class="o">-</span> <span class="n">da</span> <span class="o">/</span> <span class="n">dx</span>
|
||||||
</span><span id="find_root-42"><a href="#find_root-42"><span class="linenos">42</span></a> <span class="n">res</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="p">(</span><span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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 class="o">/</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="n">d</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">value</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 class="o">*</span> <span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
|
</span><span id="find_root-43"><a href="#find_root-43"><span class="linenos">43</span></a> <span class="n">res</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="p">(</span><span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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 class="o">/</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="n">d</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">value</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 class="o">*</span> <span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
|
||||||
</span><span id="find_root-43"><a href="#find_root-43"><span class="linenos">43</span></a> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">d</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">),</span> <span class="n">man_grad</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">deriv</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">))</span>
|
</span><span id="find_root-44"><a href="#find_root-44"><span class="linenos">44</span></a> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">d</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">),</span> <span class="n">man_grad</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">deriv</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">))</span>
|
||||||
</span><span id="find_root-44"><a href="#find_root-44"><span class="linenos">44</span></a> <span class="k">return</span> <span class="n">res</span>
|
</span><span id="find_root-45"><a href="#find_root-45"><span class="linenos">45</span></a> <span class="k">return</span> <span class="n">res</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue