mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-03-15 14:50:25 +01:00
Documentation updated
This commit is contained in:
parent
8a798c838d
commit
35df837bb4
23 changed files with 1983 additions and 1928 deletions
|
@ -167,8 +167,8 @@ conda<span class="w"> </span>update<span class="w"> </span>-c<span class="w"> </
|
|||
<h2 id="basic-example">Basic example</h2>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="kn">import</span> <span class="nn">pyerrors</span> <span class="k">as</span> <span class="nn">pe</span>
|
||||
<pre><span></span><code><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="kn">import</span><span class="w"> </span><span class="nn">pyerrors</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pe</span>
|
||||
|
||||
<span class="n">my_obs</span> <span class="o">=</span> <span class="n">pe</span><span class="o">.</span><span class="n">Obs</span><span class="p">([</span><span class="n">samples</span><span class="p">],</span> <span class="p">[</span><span class="s1">'ensemble_name'</span><span class="p">])</span> <span class="c1"># Initialize an Obs object</span>
|
||||
<span class="n">my_new_obs</span> <span class="o">=</span> <span class="mi">2</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">my_obs</span><span class="p">)</span> <span class="o">/</span> <span class="n">my_obs</span> <span class="o">**</span> <span class="mi">2</span> <span class="c1"># Construct derived Obs object</span>
|
||||
|
@ -186,7 +186,7 @@ The samples can either be provided as python list or as numpy array.
|
|||
The second argument is a list containing the names of the respective Monte Carlo chains as strings. These strings uniquely identify a Monte Carlo chain/ensemble. <strong>It is crucial for the correct error propagation that observations from the same Monte Carlo history are labeled with the same name. See <a href="#multiple-ensemblesreplica">Multiple ensembles/replica</a> for details.</strong></p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="kn">import</span> <span class="nn">pyerrors</span> <span class="k">as</span> <span class="nn">pe</span>
|
||||
<pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn">pyerrors</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pe</span>
|
||||
|
||||
<span class="n">my_obs</span> <span class="o">=</span> <span class="n">pe</span><span class="o">.</span><span class="n">Obs</span><span class="p">([</span><span class="n">samples</span><span class="p">],</span> <span class="p">[</span><span class="s1">'ensemble_name'</span><span class="p">])</span>
|
||||
</code></pre>
|
||||
|
@ -202,8 +202,8 @@ The required derivatives $\bar{f}_\alpha$ are evaluated up to machine precision
|
|||
<p>The <code>Obs</code> class is designed such that mathematical numpy functions can be used on <code>Obs</code> just as for regular floats.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="kn">import</span> <span class="nn">pyerrors</span> <span class="k">as</span> <span class="nn">pe</span>
|
||||
<pre><span></span><code><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="kn">import</span><span class="w"> </span><span class="nn">pyerrors</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pe</span>
|
||||
|
||||
<span class="n">my_obs1</span> <span class="o">=</span> <span class="n">pe</span><span class="o">.</span><span class="n">Obs</span><span class="p">([</span><span class="n">samples1</span><span class="p">],</span> <span class="p">[</span><span class="s1">'ensemble_name'</span><span class="p">])</span>
|
||||
<span class="n">my_obs2</span> <span class="o">=</span> <span class="n">pe</span><span class="o">.</span><span class="n">Obs</span><span class="p">([</span><span class="n">samples2</span><span class="p">],</span> <span class="p">[</span><span class="s1">'ensemble_name'</span><span class="p">])</span>
|
||||
|
@ -232,7 +232,7 @@ After having arrived at the derived quantity of interest the <code>gamma_method<
|
|||
<span class="o">></span> <span class="n">Result</span> <span class="mf">1.70000000e+00</span> <span class="o">+/-</span> <span class="mf">5.72046658e-01</span> <span class="o">+/-</span> <span class="mf">7.56746598e-02</span> <span class="p">(</span><span class="mf">33.650</span><span class="o">%</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="n">t_int</span> <span class="mf">2.71422900e+00</span> <span class="o">+/-</span> <span class="mf">6.40320983e-01</span> <span class="n">S</span> <span class="o">=</span> <span class="mf">2.00</span>
|
||||
<span class="o">></span> <span class="mi">1000</span> <span class="n">samples</span> <span class="ow">in</span> <span class="mi">1</span> <span class="n">ensemble</span><span class="p">:</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble_name'</span> <span class="p">:</span> <span class="mi">1000</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span> <span class="mi">1</span> <span class="n">to</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble_name'</span> <span class="p">:</span> <span class="mi">1000</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span><span class="w"> </span><span class="mi">1</span> <span class="n">to</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -249,7 +249,7 @@ The standard value for the parameter $S$ of this automatic windowing procedure i
|
|||
<span class="o">></span> <span class="n">Result</span> <span class="mf">1.70000000e+00</span> <span class="o">+/-</span> <span class="mf">6.30675201e-01</span> <span class="o">+/-</span> <span class="mf">1.04585650e-01</span> <span class="p">(</span><span class="mf">37.099</span><span class="o">%</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="n">t_int</span> <span class="mf">3.29909703e+00</span> <span class="o">+/-</span> <span class="mf">9.77310102e-01</span> <span class="n">S</span> <span class="o">=</span> <span class="mf">3.00</span>
|
||||
<span class="o">></span> <span class="mi">1000</span> <span class="n">samples</span> <span class="ow">in</span> <span class="mi">1</span> <span class="n">ensemble</span><span class="p">:</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble_name'</span> <span class="p">:</span> <span class="mi">1000</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span> <span class="mi">1</span> <span class="n">to</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble_name'</span> <span class="p">:</span> <span class="mi">1000</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span><span class="w"> </span><span class="mi">1</span> <span class="n">to</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -268,7 +268,7 @@ In this case the error estimate is identical to the sample standard error.</p>
|
|||
<span class="o">></span> <span class="n">Result</span> <span class="mf">1.70000000e+00</span> <span class="o">+/-</span> <span class="mf">6.28097762e-01</span> <span class="o">+/-</span> <span class="mf">5.79077524e-02</span> <span class="p">(</span><span class="mf">36.947</span><span class="o">%</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="n">t_int</span> <span class="mf">3.27218667e+00</span> <span class="o">+/-</span> <span class="mf">7.99583654e-01</span> <span class="n">tau_exp</span> <span class="o">=</span> <span class="mf">7.20</span><span class="p">,</span> <span class="n">N_sigma</span> <span class="o">=</span> <span class="mi">1</span>
|
||||
<span class="o">></span> <span class="mi">1000</span> <span class="n">samples</span> <span class="ow">in</span> <span class="mi">1</span> <span class="n">ensemble</span><span class="p">:</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble_name'</span> <span class="p">:</span> <span class="mi">1000</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span> <span class="mi">1</span> <span class="n">to</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble_name'</span> <span class="p">:</span> <span class="mi">1000</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span><span class="w"> </span><span class="mi">1</span> <span class="n">to</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -286,8 +286,8 @@ In this case the error estimate is identical to the sample standard error.</p>
|
|||
<span class="n">my_sum</span><span class="o">.</span><span class="n">details</span><span class="p">()</span>
|
||||
<span class="o">></span> <span class="n">Result</span> <span class="mf">2.00697958e+00</span>
|
||||
<span class="o">></span> <span class="mi">1500</span> <span class="n">samples</span> <span class="ow">in</span> <span class="mi">2</span> <span class="n">ensembles</span><span class="p">:</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble1'</span> <span class="p">:</span> <span class="mi">1000</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span> <span class="mi">1</span> <span class="n">to</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble2'</span> <span class="p">:</span> <span class="mi">500</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span> <span class="mi">1</span> <span class="n">to</span> <span class="mi">500</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble1'</span> <span class="p">:</span> <span class="mi">1000</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span><span class="w"> </span><span class="mi">1</span> <span class="n">to</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble2'</span> <span class="p">:</span> <span class="mi">500</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span><span class="w"> </span><span class="mi">1</span> <span class="n">to</span> <span class="mi">500</span><span class="p">)</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -304,8 +304,8 @@ In this case the error estimate is identical to the sample standard error.</p>
|
|||
<span class="o">></span> <span class="n">Result</span> <span class="mf">2.00697958e+00</span>
|
||||
<span class="o">></span> <span class="mi">1500</span> <span class="n">samples</span> <span class="ow">in</span> <span class="mi">1</span> <span class="n">ensemble</span><span class="p">:</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble1'</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Replicum</span> <span class="s1">'r01'</span> <span class="p">:</span> <span class="mi">1000</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span> <span class="mi">1</span> <span class="n">to</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Replicum</span> <span class="s1">'r02'</span> <span class="p">:</span> <span class="mi">500</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span> <span class="mi">1</span> <span class="n">to</span> <span class="mi">500</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Replicum</span> <span class="s1">'r01'</span> <span class="p">:</span> <span class="mi">1000</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span><span class="w"> </span><span class="mi">1</span> <span class="n">to</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Replicum</span> <span class="s1">'r02'</span> <span class="p">:</span> <span class="mi">500</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span><span class="w"> </span><span class="mi">1</span> <span class="n">to</span> <span class="mi">500</span><span class="p">)</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -333,14 +333,14 @@ Passing arguments to the <code>gamma_method</code> still dominates over the dict
|
|||
<span class="n">obs1</span><span class="o">.</span><span class="n">details</span><span class="p">()</span>
|
||||
<span class="o">></span> <span class="n">Result</span> <span class="mf">9.98319881e-01</span>
|
||||
<span class="o">></span> <span class="mi">500</span> <span class="n">samples</span> <span class="ow">in</span> <span class="mi">1</span> <span class="n">ensemble</span><span class="p">:</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble1'</span> <span class="p">:</span> <span class="mi">500</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span> <span class="mi">20</span> <span class="n">to</span> <span class="mi">519</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble1'</span> <span class="p">:</span> <span class="mi">500</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span><span class="w"> </span><span class="mi">20</span> <span class="n">to</span> <span class="mi">519</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Observable defined on every second configuration between 5 and 1003</span>
|
||||
<span class="n">obs2</span> <span class="o">=</span> <span class="n">pe</span><span class="o">.</span><span class="n">Obs</span><span class="p">([</span><span class="n">samples2</span><span class="p">],</span> <span class="p">[</span><span class="s1">'ensemble1'</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="p">[</span><span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="mi">1005</span><span class="p">,</span> <span class="mi">2</span><span class="p">)])</span>
|
||||
<span class="n">obs2</span><span class="o">.</span><span class="n">details</span><span class="p">()</span>
|
||||
<span class="o">></span> <span class="n">Result</span> <span class="mf">9.99100712e-01</span>
|
||||
<span class="o">></span> <span class="mi">500</span> <span class="n">samples</span> <span class="ow">in</span> <span class="mi">1</span> <span class="n">ensemble</span><span class="p">:</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble1'</span> <span class="p">:</span> <span class="mi">500</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span> <span class="mi">5</span> <span class="n">to</span> <span class="mi">1003</span> <span class="ow">in</span> <span class="n">steps</span> <span class="n">of</span> <span class="mi">2</span><span class="p">)</span>
|
||||
<span class="o">></span> <span class="err">·</span> <span class="n">Ensemble</span> <span class="s1">'ensemble1'</span> <span class="p">:</span> <span class="mi">500</span> <span class="n">configurations</span> <span class="p">(</span><span class="kn">from</span><span class="w"> </span><span class="mi">5</span> <span class="n">to</span> <span class="mi">1003</span> <span class="ow">in</span> <span class="n">steps</span> <span class="n">of</span> <span class="mi">2</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Observable defined on configurations 2, 9, 28, 29 and 501</span>
|
||||
<span class="n">obs3</span> <span class="o">=</span> <span class="n">pe</span><span class="o">.</span><span class="n">Obs</span><span class="p">([</span><span class="n">samples3</span><span class="p">],</span> <span class="p">[</span><span class="s1">'ensemble1'</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="p">[[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">28</span><span class="p">,</span> <span class="mi">29</span><span class="p">,</span> <span class="mi">501</span><span class="p">]])</span>
|
||||
|
@ -459,7 +459,7 @@ Make sure to check the autocorrelation time with e.g. <code><a href="pyerrors/ob
|
|||
<p>This concept is built into the definition of <code>Covobs</code>. In <code><a href="">pyerrors</a></code>, external input is defined by $M$ mean values, a $M\times M$ covariance matrix, where $M=1$ is permissible, and a name that uniquely identifies the covariance matrix. Below, we define the pion mass, based on its mean value and error, 134.9768(5). <strong>Note, that the square of the error enters <code>cov_Obs</code></strong>, since the second argument of this function is the covariance matrix of the <code>Covobs</code>.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="kn">import</span> <span class="nn"><a href="pyerrors/obs.html">pyerrors.obs</a></span> <span class="k">as</span> <span class="nn">pe</span>
|
||||
<pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn"><a href="pyerrors/obs.html">pyerrors.obs</a></span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pe</span>
|
||||
|
||||
<span class="n">mpi</span> <span class="o">=</span> <span class="n">pe</span><span class="o">.</span><span class="n">cov_Obs</span><span class="p">(</span><span class="mf">134.9768</span><span class="p">,</span> <span class="mf">0.0005</span><span class="o">**</span><span class="mi">2</span><span class="p">,</span> <span class="s1">'pi^0 mass'</span><span class="p">)</span>
|
||||
<span class="n">mpi</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">()</span>
|
||||
|
@ -504,9 +504,9 @@ where the Jacobian is computed for each derived quantity via automatic different
|
|||
<p>Fit functions have to be of the following form</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="kn">import</span> <span class="nn">autograd.numpy</span> <span class="k">as</span> <span class="nn">anp</span>
|
||||
<pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn">autograd.numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">anp</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">a</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">anp</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span><span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="n">x</span><span class="p">)</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
@ -547,7 +547,7 @@ where the Jacobian is computed for each derived quantity via automatic different
|
|||
<p>For fit functions with multiple independent variables the fit function can be of the form</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="p">(</span><span class="n">x1</span><span class="p">,</span> <span class="n">x2</span><span class="p">)</span> <span class="o">=</span> <span class="n">x</span>
|
||||
<span class="k">return</span> <span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="n">x1</span> <span class="o">**</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">a</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">x2</span>
|
||||
</code></pre>
|
||||
|
@ -1151,19 +1151,19 @@ 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-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-480"><a href="#L-480"><span class="linenos">480</span></a><span class="kn">from</span> <span class="nn">.obs</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="nn">.correlators</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="nn">.fits</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="nn">.misc</span> <span class="kn">import</span> <span class="o">*</span>
|
||||
</span><span id="L-484"><a href="#L-484"><span class="linenos">484</span></a><span class="kn">from</span> <span class="nn">.</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-485"><a href="#L-485"><span class="linenos">485</span></a><span class="kn">from</span> <span class="nn">.</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-486"><a href="#L-486"><span class="linenos">486</span></a><span class="kn">from</span> <span class="nn">.</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-487"><a href="#L-487"><span class="linenos">487</span></a><span class="kn">from</span> <span class="nn">.</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-488"><a href="#L-488"><span class="linenos">488</span></a><span class="kn">from</span> <span class="nn">.</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-489"><a href="#L-489"><span class="linenos">489</span></a><span class="kn">from</span> <span class="nn">.</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-490"><a href="#L-490"><span class="linenos">490</span></a><span class="kn">from</span> <span class="nn">.</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-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-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-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-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-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-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-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-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-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-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-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-491"><a href="#L-491"><span class="linenos">491</span></a>
|
||||
</span><span id="L-492"><a href="#L-492"><span class="linenos">492</span></a><span class="kn">from</span> <span class="nn">.version</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>
|
||||
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -97,12 +97,12 @@
|
|||
|
||||
<label class="view-source-button" for="mod-covobs-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="nn">numpy</span> <span class="k">as</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-3"><a href="#L-3"><span class="linenos"> 3</span></a>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="k">class</span> <span class="nc">Covobs</span><span class="p">:</span>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="k">class</span><span class="w"> </span><span class="nc">Covobs</span><span class="p">:</span>
|
||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mean</span><span class="p">,</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">pos</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mean</span><span class="p">,</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">pos</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="w"> </span><span class="sd">""" Initialize Covobs object.</span>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -138,12 +138,12 @@
|
|||
</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_set_grad</span><span class="p">(</span><span class="n">grad</span><span class="p">)</span>
|
||||
</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">mean</span>
|
||||
</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a>
|
||||
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a> <span class="k">def</span> <span class="nf">errsq</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">errsq</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a><span class="w"> </span><span class="sd">""" Return the variance (= square of the error) of the Covobs</span>
|
||||
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a> <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grad</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cov</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grad</span><span class="p">))</span><span class="o">.</span><span class="n">item</span><span class="p">()</span>
|
||||
</span><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a>
|
||||
</span><span id="L-47"><a href="#L-47"><span class="linenos"> 47</span></a> <span class="k">def</span> <span class="nf">_set_cov</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cov</span><span class="p">):</span>
|
||||
</span><span id="L-47"><a href="#L-47"><span class="linenos"> 47</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_set_cov</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cov</span><span class="p">):</span>
|
||||
</span><span id="L-48"><a href="#L-48"><span class="linenos"> 48</span></a><span class="w"> </span><span class="sd">""" Set the covariance matrix of the covobs</span>
|
||||
</span><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a>
|
||||
</span><span id="L-50"><a href="#L-50"><span class="linenos"> 50</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -178,7 +178,7 @@
|
|||
</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a> <span class="k">if</span> <span class="n">ev</span> <span class="o"><</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Covariance matrix is not positive-semidefinite!'</span><span class="p">)</span>
|
||||
</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a>
|
||||
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="k">def</span> <span class="nf">_set_grad</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">grad</span><span class="p">):</span>
|
||||
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_set_grad</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">grad</span><span class="p">):</span>
|
||||
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a><span class="w"> </span><span class="sd">""" Set the gradient of the covobs</span>
|
||||
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a>
|
||||
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -195,11 +195,11 @@
|
|||
</span><span id="L-96"><a href="#L-96"><span class="linenos"> 96</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Invalid dimension of grad!'</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 class="nd">@property</span>
|
||||
</span><span id="L-99"><a href="#L-99"><span class="linenos"> 99</span></a> <span class="k">def</span> <span class="nf">cov</span><span class="p">(</span><span class="bp">self</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">cov</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-100"><a href="#L-100"><span class="linenos">100</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cov</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 class="nd">@property</span>
|
||||
</span><span id="L-103"><a href="#L-103"><span class="linenos">103</span></a> <span class="k">def</span> <span class="nf">grad</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-103"><a href="#L-103"><span class="linenos">103</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">grad</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-104"><a href="#L-104"><span class="linenos">104</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
@ -216,9 +216,9 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#Covobs"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Covobs-5"><a href="#Covobs-5"><span class="linenos"> 5</span></a><span class="k">class</span> <span class="nc">Covobs</span><span class="p">:</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Covobs-5"><a href="#Covobs-5"><span class="linenos"> 5</span></a><span class="k">class</span><span class="w"> </span><span class="nc">Covobs</span><span class="p">:</span>
|
||||
</span><span id="Covobs-6"><a href="#Covobs-6"><span class="linenos"> 6</span></a>
|
||||
</span><span id="Covobs-7"><a href="#Covobs-7"><span class="linenos"> 7</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mean</span><span class="p">,</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">pos</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="Covobs-7"><a href="#Covobs-7"><span class="linenos"> 7</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mean</span><span class="p">,</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">pos</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="Covobs-8"><a href="#Covobs-8"><span class="linenos"> 8</span></a><span class="w"> </span><span class="sd">""" Initialize Covobs object.</span>
|
||||
</span><span id="Covobs-9"><a href="#Covobs-9"><span class="linenos"> 9</span></a>
|
||||
</span><span id="Covobs-10"><a href="#Covobs-10"><span class="linenos"> 10</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -254,12 +254,12 @@
|
|||
</span><span id="Covobs-40"><a href="#Covobs-40"><span class="linenos"> 40</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_set_grad</span><span class="p">(</span><span class="n">grad</span><span class="p">)</span>
|
||||
</span><span id="Covobs-41"><a href="#Covobs-41"><span class="linenos"> 41</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">mean</span>
|
||||
</span><span id="Covobs-42"><a href="#Covobs-42"><span class="linenos"> 42</span></a>
|
||||
</span><span id="Covobs-43"><a href="#Covobs-43"><span class="linenos"> 43</span></a> <span class="k">def</span> <span class="nf">errsq</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Covobs-43"><a href="#Covobs-43"><span class="linenos"> 43</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">errsq</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Covobs-44"><a href="#Covobs-44"><span class="linenos"> 44</span></a><span class="w"> </span><span class="sd">""" Return the variance (= square of the error) of the Covobs</span>
|
||||
</span><span id="Covobs-45"><a href="#Covobs-45"><span class="linenos"> 45</span></a><span class="sd"> """</span>
|
||||
</span><span id="Covobs-46"><a href="#Covobs-46"><span class="linenos"> 46</span></a> <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grad</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cov</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grad</span><span class="p">))</span><span class="o">.</span><span class="n">item</span><span class="p">()</span>
|
||||
</span><span id="Covobs-47"><a href="#Covobs-47"><span class="linenos"> 47</span></a>
|
||||
</span><span id="Covobs-48"><a href="#Covobs-48"><span class="linenos"> 48</span></a> <span class="k">def</span> <span class="nf">_set_cov</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cov</span><span class="p">):</span>
|
||||
</span><span id="Covobs-48"><a href="#Covobs-48"><span class="linenos"> 48</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_set_cov</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cov</span><span class="p">):</span>
|
||||
</span><span id="Covobs-49"><a href="#Covobs-49"><span class="linenos"> 49</span></a><span class="w"> </span><span class="sd">""" Set the covariance matrix of the covobs</span>
|
||||
</span><span id="Covobs-50"><a href="#Covobs-50"><span class="linenos"> 50</span></a>
|
||||
</span><span id="Covobs-51"><a href="#Covobs-51"><span class="linenos"> 51</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -294,7 +294,7 @@
|
|||
</span><span id="Covobs-80"><a href="#Covobs-80"><span class="linenos"> 80</span></a> <span class="k">if</span> <span class="n">ev</span> <span class="o"><</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="Covobs-81"><a href="#Covobs-81"><span class="linenos"> 81</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Covariance matrix is not positive-semidefinite!'</span><span class="p">)</span>
|
||||
</span><span id="Covobs-82"><a href="#Covobs-82"><span class="linenos"> 82</span></a>
|
||||
</span><span id="Covobs-83"><a href="#Covobs-83"><span class="linenos"> 83</span></a> <span class="k">def</span> <span class="nf">_set_grad</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">grad</span><span class="p">):</span>
|
||||
</span><span id="Covobs-83"><a href="#Covobs-83"><span class="linenos"> 83</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_set_grad</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">grad</span><span class="p">):</span>
|
||||
</span><span id="Covobs-84"><a href="#Covobs-84"><span class="linenos"> 84</span></a><span class="w"> </span><span class="sd">""" Set the gradient of the covobs</span>
|
||||
</span><span id="Covobs-85"><a href="#Covobs-85"><span class="linenos"> 85</span></a>
|
||||
</span><span id="Covobs-86"><a href="#Covobs-86"><span class="linenos"> 86</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -311,11 +311,11 @@
|
|||
</span><span id="Covobs-97"><a href="#Covobs-97"><span class="linenos"> 97</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Invalid dimension of grad!'</span><span class="p">)</span>
|
||||
</span><span id="Covobs-98"><a href="#Covobs-98"><span class="linenos"> 98</span></a>
|
||||
</span><span id="Covobs-99"><a href="#Covobs-99"><span class="linenos"> 99</span></a> <span class="nd">@property</span>
|
||||
</span><span id="Covobs-100"><a href="#Covobs-100"><span class="linenos">100</span></a> <span class="k">def</span> <span class="nf">cov</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Covobs-100"><a href="#Covobs-100"><span class="linenos">100</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">cov</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Covobs-101"><a href="#Covobs-101"><span class="linenos">101</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cov</span>
|
||||
</span><span id="Covobs-102"><a href="#Covobs-102"><span class="linenos">102</span></a>
|
||||
</span><span id="Covobs-103"><a href="#Covobs-103"><span class="linenos">103</span></a> <span class="nd">@property</span>
|
||||
</span><span id="Covobs-104"><a href="#Covobs-104"><span class="linenos">104</span></a> <span class="k">def</span> <span class="nf">grad</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Covobs-104"><a href="#Covobs-104"><span class="linenos">104</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">grad</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Covobs-105"><a href="#Covobs-105"><span class="linenos">105</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
@ -332,7 +332,7 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#Covobs.__init__"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Covobs.__init__-7"><a href="#Covobs.__init__-7"><span class="linenos"> 7</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mean</span><span class="p">,</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">pos</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Covobs.__init__-7"><a href="#Covobs.__init__-7"><span class="linenos"> 7</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mean</span><span class="p">,</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">pos</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">grad</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="Covobs.__init__-8"><a href="#Covobs.__init__-8"><span class="linenos"> 8</span></a><span class="w"> </span><span class="sd">""" Initialize Covobs object.</span>
|
||||
</span><span id="Covobs.__init__-9"><a href="#Covobs.__init__-9"><span class="linenos"> 9</span></a>
|
||||
</span><span id="Covobs.__init__-10"><a href="#Covobs.__init__-10"><span class="linenos">10</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -424,7 +424,7 @@ Gradient of the Covobs wrt. the means belonging to cov.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#Covobs.errsq"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Covobs.errsq-43"><a href="#Covobs.errsq-43"><span class="linenos">43</span></a> <span class="k">def</span> <span class="nf">errsq</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Covobs.errsq-43"><a href="#Covobs.errsq-43"><span class="linenos">43</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">errsq</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Covobs.errsq-44"><a href="#Covobs.errsq-44"><span class="linenos">44</span></a><span class="w"> </span><span class="sd">""" Return the variance (= square of the error) of the Covobs</span>
|
||||
</span><span id="Covobs.errsq-45"><a href="#Covobs.errsq-45"><span class="linenos">45</span></a><span class="sd"> """</span>
|
||||
</span><span id="Covobs.errsq-46"><a href="#Covobs.errsq-46"><span class="linenos">46</span></a> <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">grad</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cov</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grad</span><span class="p">))</span><span class="o">.</span><span class="n">item</span><span class="p">()</span>
|
||||
|
@ -446,7 +446,7 @@ Gradient of the Covobs wrt. the means belonging to cov.</li>
|
|||
</div>
|
||||
<a class="headerlink" href="#Covobs.cov"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Covobs.cov-99"><a href="#Covobs.cov-99"><span class="linenos"> 99</span></a> <span class="nd">@property</span>
|
||||
</span><span id="Covobs.cov-100"><a href="#Covobs.cov-100"><span class="linenos">100</span></a> <span class="k">def</span> <span class="nf">cov</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Covobs.cov-100"><a href="#Covobs.cov-100"><span class="linenos">100</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">cov</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Covobs.cov-101"><a href="#Covobs.cov-101"><span class="linenos">101</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cov</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
@ -464,7 +464,7 @@ Gradient of the Covobs wrt. the means belonging to cov.</li>
|
|||
</div>
|
||||
<a class="headerlink" href="#Covobs.grad"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Covobs.grad-103"><a href="#Covobs.grad-103"><span class="linenos">103</span></a> <span class="nd">@property</span>
|
||||
</span><span id="Covobs.grad-104"><a href="#Covobs.grad-104"><span class="linenos">104</span></a> <span class="k">def</span> <span class="nf">grad</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Covobs.grad-104"><a href="#Covobs.grad-104"><span class="linenos">104</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">grad</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Covobs.grad-105"><a href="#Covobs.grad-105"><span class="linenos">105</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_grad</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
|
||||
<label class="view-source-button" for="mod-dirac-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="nn">numpy</span> <span class="k">as</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-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="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>
|
||||
|
@ -127,7 +127,7 @@
|
|||
</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-23"><a href="#L-23"><span class="linenos">23</span></a>
|
||||
</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a>
|
||||
</span><span id="L-25"><a href="#L-25"><span class="linenos">25</span></a><span class="k">def</span> <span class="nf">epsilon_tensor</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">):</span>
|
||||
</span><span id="L-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-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-27"><a href="#L-27"><span class="linenos">27</span></a>
|
||||
</span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a><span class="sd"> Based on https://codegolf.stackexchange.com/a/160375</span>
|
||||
|
@ -144,7 +144,7 @@
|
|||
</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-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-42"><a href="#L-42"><span class="linenos">42</span></a><span class="k">def</span> <span class="nf">epsilon_tensor_rank4</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">):</span>
|
||||
</span><span id="L-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-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-44"><a href="#L-44"><span class="linenos">44</span></a>
|
||||
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a><span class="sd"> Extension of https://codegolf.stackexchange.com/a/160375</span>
|
||||
|
@ -162,7 +162,7 @@
|
|||
</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-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-60"><a href="#L-60"><span class="linenos">60</span></a><span class="k">def</span> <span class="nf">Grid_gamma</span><span class="p">(</span><span class="n">gamma_tag</span><span class="p">):</span>
|
||||
</span><span id="L-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-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-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-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>
|
||||
|
@ -341,7 +341,7 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#epsilon_tensor"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="epsilon_tensor-26"><a href="#epsilon_tensor-26"><span class="linenos">26</span></a><span class="k">def</span> <span class="nf">epsilon_tensor</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">):</span>
|
||||
<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>
|
||||
</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-28"><a href="#epsilon_tensor-28"><span class="linenos">28</span></a>
|
||||
</span><span id="epsilon_tensor-29"><a href="#epsilon_tensor-29"><span class="linenos">29</span></a><span class="sd"> Based on https://codegolf.stackexchange.com/a/160375</span>
|
||||
|
@ -384,7 +384,7 @@ Element (i,j,k) of the epsilon tensor of rank 3</li>
|
|||
|
||||
</div>
|
||||
<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="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-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>
|
||||
</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-45"><a href="#epsilon_tensor_rank4-45"><span class="linenos">45</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>
|
||||
|
@ -428,7 +428,7 @@ Element (i,j,k,o) of the epsilon tensor of rank 4</li>
|
|||
|
||||
</div>
|
||||
<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="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-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>
|
||||
</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-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-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>
|
||||
|
|
|
@ -109,26 +109,26 @@
|
|||
|
||||
<label class="view-source-button" for="mod-fits-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="nn">gc</span>
|
||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">from</span> <span class="nn">collections.abc</span> <span class="kn">import</span> <span class="n">Sequence</span>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span> <span class="nn">warnings</span>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">import</span> <span class="nn">autograd.numpy</span> <span class="k">as</span> <span class="nn">anp</span>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="kn">import</span> <span class="nn">scipy.optimize</span>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">import</span> <span class="nn">scipy.stats</span>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">from</span> <span class="nn">matplotlib</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="nn">scipy.odr</span> <span class="kn">import</span> <span class="n">ODR</span><span class="p">,</span> <span class="n">Model</span><span class="p">,</span> <span class="n">RealData</span>
|
||||
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a><span class="kn">import</span> <span class="nn">iminuit</span>
|
||||
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a><span class="kn">from</span> <span class="nn">autograd</span> <span class="kn">import</span> <span class="n">jacobian</span> <span class="k">as</span> <span class="n">auto_jacobian</span>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a><span class="kn">from</span> <span class="nn">autograd</span> <span class="kn">import</span> <span class="n">hessian</span> <span class="k">as</span> <span class="n">auto_hessian</span>
|
||||
</span><span id="L-14"><a href="#L-14"><span class="linenos"> 14</span></a><span class="kn">from</span> <span class="nn">autograd</span> <span class="kn">import</span> <span class="n">elementwise_grad</span> <span class="k">as</span> <span class="n">egrad</span>
|
||||
</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a><span class="kn">from</span> <span class="nn">numdifftools</span> <span class="kn">import</span> <span class="n">Jacobian</span> <span class="k">as</span> <span class="n">num_jacobian</span>
|
||||
</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a><span class="kn">from</span> <span class="nn">numdifftools</span> <span class="kn">import</span> <span class="n">Hessian</span> <span class="k">as</span> <span class="n">num_hessian</span>
|
||||
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a><span class="kn">from</span> <span class="nn">.obs</span> <span class="kn">import</span> <span class="n">Obs</span><span class="p">,</span> <span class="n">derived_observable</span><span class="p">,</span> <span class="n">covariance</span><span class="p">,</span> <span class="n">cov_Obs</span><span class="p">,</span> <span class="n">invert_corr_cov_cholesky</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">gc</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">collections.abc</span><span class="w"> </span><span class="kn">import</span> <span class="n">Sequence</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">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-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">autograd.numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">anp</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">scipy.optimize</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">scipy.stats</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">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-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">scipy.odr</span><span class="w"> </span><span class="kn">import</span> <span class="n">ODR</span><span class="p">,</span> <span class="n">Model</span><span class="p">,</span> <span class="n">RealData</span>
|
||||
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">iminuit</span>
|
||||
</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">autograd</span><span class="w"> </span><span class="kn">import</span> <span class="n">jacobian</span> <span class="k">as</span> <span class="n">auto_jacobian</span>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</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">hessian</span> <span class="k">as</span> <span class="n">auto_hessian</span>
|
||||
</span><span id="L-14"><a href="#L-14"><span class="linenos"> 14</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">elementwise_grad</span> <span class="k">as</span> <span class="n">egrad</span>
|
||||
</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">numdifftools</span><span class="w"> </span><span class="kn">import</span> <span class="n">Jacobian</span> <span class="k">as</span> <span class="n">num_jacobian</span>
|
||||
</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">numdifftools</span><span class="w"> </span><span class="kn">import</span> <span class="n">Hessian</span> <span class="k">as</span> <span class="n">num_hessian</span>
|
||||
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</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 class="p">,</span> <span class="n">covariance</span><span class="p">,</span> <span class="n">cov_Obs</span><span class="p">,</span> <span class="n">invert_corr_cov_cholesky</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><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a><span class="k">class</span> <span class="nc">Fit_result</span><span class="p">(</span><span class="n">Sequence</span><span class="p">):</span>
|
||||
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a><span class="k">class</span><span class="w"> </span><span class="nc">Fit_result</span><span class="p">(</span><span class="n">Sequence</span><span class="p">):</span>
|
||||
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a><span class="w"> </span><span class="sd">"""Represents fit results.</span>
|
||||
</span><span id="L-22"><a href="#L-22"><span class="linenos"> 22</span></a>
|
||||
</span><span id="L-23"><a href="#L-23"><span class="linenos"> 23</span></a><span class="sd"> Attributes</span>
|
||||
|
@ -144,22 +144,22 @@
|
|||
</span><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a><span class="sd"> Hotelling t-squared p-value for correlated fits.</span>
|
||||
</span><span id="L-34"><a href="#L-34"><span class="linenos"> 34</span></a><span class="sd"> """</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">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</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">fit_parameters</span> <span class="o">=</span> <span class="kc">None</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 class="k">def</span> <span class="fm">__getitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">idx</span><span class="p">):</span>
|
||||
</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__getitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">idx</span><span class="p">):</span>
|
||||
</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">fit_parameters</span><span class="p">[</span><span class="n">idx</span><span class="p">]</span>
|
||||
</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a>
|
||||
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a> <span class="k">def</span> <span class="fm">__len__</span><span class="p">(</span><span class="bp">self</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="fm">__len__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a> <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">fit_parameters</span><span class="p">)</span>
|
||||
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a>
|
||||
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a> <span class="k">def</span> <span class="nf">gamma_method</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">gamma_method</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a><span class="w"> </span><span class="sd">"""Apply the gamma method to all fit parameters"""</span>
|
||||
</span><span id="L-47"><a href="#L-47"><span class="linenos"> 47</span></a> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">fit_parameters</span><span class="p">]</span>
|
||||
</span><span id="L-48"><a href="#L-48"><span class="linenos"> 48</span></a>
|
||||
</span><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a> <span class="n">gm</span> <span class="o">=</span> <span class="n">gamma_method</span>
|
||||
</span><span id="L-50"><a href="#L-50"><span class="linenos"> 50</span></a>
|
||||
</span><span id="L-51"><a href="#L-51"><span class="linenos"> 51</span></a> <span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-51"><a href="#L-51"><span class="linenos"> 51</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a> <span class="n">my_str</span> <span class="o">=</span> <span class="s1">'Goodness of fit:</span><span class="se">\n</span><span class="s1">'</span>
|
||||
</span><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a> <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">'chisquare_by_dof'</span><span class="p">):</span>
|
||||
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a> <span class="n">my_str</span> <span class="o">+=</span> <span class="s1">'</span><span class="se">\u03C7\u00b2</span><span class="s1">/d.o.f. = '</span> <span class="o">+</span> <span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">chisquare_by_dof</span><span class="si">:</span><span class="s1">2.6f</span><span class="si">}</span><span class="s1">'</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span>
|
||||
|
@ -176,12 +176,12 @@
|
|||
</span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a> <span class="n">my_str</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">i_par</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\t</span><span class="s1">'</span> <span class="o">+</span> <span class="s1">' '</span> <span class="o">*</span> <span class="nb">int</span><span class="p">(</span><span class="n">par</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">par</span><span class="p">)</span><span class="o">.</span><span class="n">rjust</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">par</span> <span class="o"><</span> <span class="mf">0.0</span><span class="p">))</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span>
|
||||
</span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a> <span class="k">return</span> <span class="n">my_str</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="k">def</span> <span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-68"><a href="#L-68"><span class="linenos"> 68</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a> <span class="n">m</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="nb">len</span><span class="p">,</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="vm">__dict__</span><span class="o">.</span><span class="n">keys</span><span class="p">())))</span> <span class="o">+</span> <span class="mi">1</span>
|
||||
</span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a> <span class="k">return</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">key</span><span class="o">.</span><span class="n">rjust</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> <span class="o">+</span> <span class="s1">': '</span> <span class="o">+</span> <span class="nb">repr</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> <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="nb">sorted</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="vm">__dict__</span><span class="o">.</span><span class="n">items</span><span class="p">())])</span>
|
||||
</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a>
|
||||
</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">def</span> <span class="nf">least_squares</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">priors</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a><span class="k">def</span><span class="w"> </span><span class="nf">least_squares</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">priors</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">'''Performs a non-linear fit to y = func(x).</span>
|
||||
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a><span class="sd"> ```</span>
|
||||
</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a>
|
||||
|
@ -455,15 +455,15 @@
|
|||
</span><span id="L-344"><a href="#L-344"><span class="linenos">344</span></a> <span class="n">x0</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.1</span><span class="p">]</span> <span class="o">*</span> <span class="n">n_parms</span>
|
||||
</span><span id="L-345"><a href="#L-345"><span class="linenos">345</span></a>
|
||||
</span><span id="L-346"><a href="#L-346"><span class="linenos">346</span></a> <span class="k">if</span> <span class="n">priors</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
</span><span id="L-347"><a href="#L-347"><span class="linenos">347</span></a> <span class="k">def</span> <span class="nf">general_chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">ivars</span><span class="p">,</span> <span class="n">pr</span><span class="p">):</span>
|
||||
</span><span id="L-347"><a href="#L-347"><span class="linenos">347</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">general_chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">ivars</span><span class="p">,</span> <span class="n">pr</span><span class="p">):</span>
|
||||
</span><span id="L-348"><a href="#L-348"><span class="linenos">348</span></a> <span class="n">model</span> <span class="o">=</span> <span class="n">anp</span><span class="o">.</span><span class="n">concatenate</span><span class="p">([</span><span class="n">anp</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">funcd</span><span class="p">[</span><span class="n">key</span><span class="p">](</span><span class="n">p</span><span class="p">,</span> <span class="n">xd</span><span class="p">[</span><span class="n">key</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="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">key_ls</span><span class="p">])</span>
|
||||
</span><span id="L-349"><a href="#L-349"><span class="linenos">349</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">ivars</span> <span class="o">-</span> <span class="n">model</span><span class="p">)</span> <span class="o">/</span> <span class="n">dy_f</span>
|
||||
</span><span id="L-350"><a href="#L-350"><span class="linenos">350</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-351"><a href="#L-351"><span class="linenos">351</span></a> <span class="k">def</span> <span class="nf">general_chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">ivars</span><span class="p">,</span> <span class="n">pr</span><span class="p">):</span>
|
||||
</span><span id="L-351"><a href="#L-351"><span class="linenos">351</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">general_chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">ivars</span><span class="p">,</span> <span class="n">pr</span><span class="p">):</span>
|
||||
</span><span id="L-352"><a href="#L-352"><span class="linenos">352</span></a> <span class="n">model</span> <span class="o">=</span> <span class="n">anp</span><span class="o">.</span><span class="n">concatenate</span><span class="p">([</span><span class="n">anp</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">funcd</span><span class="p">[</span><span class="n">key</span><span class="p">](</span><span class="n">p</span><span class="p">,</span> <span class="n">xd</span><span class="p">[</span><span class="n">key</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="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">key_ls</span><span class="p">])</span>
|
||||
</span><span id="L-353"><a href="#L-353"><span class="linenos">353</span></a> <span class="k">return</span> <span class="n">anp</span><span class="o">.</span><span class="n">concatenate</span><span class="p">(((</span><span class="n">ivars</span> <span class="o">-</span> <span class="n">model</span><span class="p">)</span> <span class="o">/</span> <span class="n">dy_f</span><span class="p">,</span> <span class="p">(</span><span class="n">p</span><span class="p">[</span><span class="n">prior_mask</span><span class="p">]</span> <span class="o">-</span> <span class="n">pr</span><span class="p">)</span> <span class="o">/</span> <span class="n">dp_f</span><span class="p">))</span>
|
||||
</span><span id="L-354"><a href="#L-354"><span class="linenos">354</span></a>
|
||||
</span><span id="L-355"><a href="#L-355"><span class="linenos">355</span></a> <span class="k">def</span> <span class="nf">chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="L-355"><a href="#L-355"><span class="linenos">355</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="L-356"><a href="#L-356"><span class="linenos">356</span></a> <span class="k">return</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">general_chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">y_f</span><span class="p">,</span> <span class="n">p_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="L-357"><a href="#L-357"><span class="linenos">357</span></a>
|
||||
</span><span id="L-358"><a href="#L-358"><span class="linenos">358</span></a> <span class="k">if</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'correlated_fit'</span><span class="p">)</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||
|
@ -481,11 +481,11 @@
|
|||
</span><span id="L-370"><a href="#L-370"><span class="linenos">370</span></a> <span class="n">inverrdiag</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">asarray</span><span class="p">(</span><span class="n">dy_f</span><span class="p">))</span>
|
||||
</span><span id="L-371"><a href="#L-371"><span class="linenos">371</span></a> <span class="n">chol_inv</span> <span class="o">=</span> <span class="n">invert_corr_cov_cholesky</span><span class="p">(</span><span class="n">corr</span><span class="p">,</span> <span class="n">inverrdiag</span><span class="p">)</span>
|
||||
</span><span id="L-372"><a href="#L-372"><span class="linenos">372</span></a>
|
||||
</span><span id="L-373"><a href="#L-373"><span class="linenos">373</span></a> <span class="k">def</span> <span class="nf">general_chisqfunc</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">ivars</span><span class="p">,</span> <span class="n">pr</span><span class="p">):</span>
|
||||
</span><span id="L-373"><a href="#L-373"><span class="linenos">373</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">general_chisqfunc</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">ivars</span><span class="p">,</span> <span class="n">pr</span><span class="p">):</span>
|
||||
</span><span id="L-374"><a href="#L-374"><span class="linenos">374</span></a> <span class="n">model</span> <span class="o">=</span> <span class="n">anp</span><span class="o">.</span><span class="n">concatenate</span><span class="p">([</span><span class="n">anp</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">funcd</span><span class="p">[</span><span class="n">key</span><span class="p">](</span><span class="n">p</span><span class="p">,</span> <span class="n">xd</span><span class="p">[</span><span class="n">key</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="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">key_ls</span><span class="p">])</span>
|
||||
</span><span id="L-375"><a href="#L-375"><span class="linenos">375</span></a> <span class="k">return</span> <span class="n">anp</span><span class="o">.</span><span class="n">concatenate</span><span class="p">((</span><span class="n">anp</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">chol_inv</span><span class="p">,</span> <span class="p">(</span><span class="n">ivars</span> <span class="o">-</span> <span class="n">model</span><span class="p">)),</span> <span class="p">(</span><span class="n">p</span><span class="p">[</span><span class="n">prior_mask</span><span class="p">]</span> <span class="o">-</span> <span class="n">pr</span><span class="p">)</span> <span class="o">/</span> <span class="n">dp_f</span><span class="p">))</span>
|
||||
</span><span id="L-376"><a href="#L-376"><span class="linenos">376</span></a>
|
||||
</span><span id="L-377"><a href="#L-377"><span class="linenos">377</span></a> <span class="k">def</span> <span class="nf">chisqfunc</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="L-377"><a href="#L-377"><span class="linenos">377</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">chisqfunc</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="L-378"><a href="#L-378"><span class="linenos">378</span></a> <span class="k">return</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">general_chisqfunc</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">y_f</span><span class="p">,</span> <span class="n">p_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="L-379"><a href="#L-379"><span class="linenos">379</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-380"><a href="#L-380"><span class="linenos">380</span></a> <span class="n">general_chisqfunc</span> <span class="o">=</span> <span class="n">general_chisqfunc_uncorr</span>
|
||||
|
@ -519,12 +519,12 @@
|
|||
</span><span id="L-408"><a href="#L-408"><span class="linenos">408</span></a> <span class="k">if</span> <span class="s1">'tol'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||
</span><span id="L-409"><a href="#L-409"><span class="linenos">409</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'tol cannot be set for Levenberg-Marquardt'</span><span class="p">)</span>
|
||||
</span><span id="L-410"><a href="#L-410"><span class="linenos">410</span></a>
|
||||
</span><span id="L-411"><a href="#L-411"><span class="linenos">411</span></a> <span class="k">def</span> <span class="nf">chisqfunc_residuals_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="L-411"><a href="#L-411"><span class="linenos">411</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">chisqfunc_residuals_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="L-412"><a href="#L-412"><span class="linenos">412</span></a> <span class="k">return</span> <span class="n">general_chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">y_f</span><span class="p">,</span> <span class="n">p_f</span><span class="p">)</span>
|
||||
</span><span id="L-413"><a href="#L-413"><span class="linenos">413</span></a>
|
||||
</span><span id="L-414"><a href="#L-414"><span class="linenos">414</span></a> <span class="n">fit_result</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">least_squares</span><span class="p">(</span><span class="n">chisqfunc_residuals_uncorr</span><span class="p">,</span> <span class="n">x0</span><span class="p">,</span> <span class="n">method</span><span class="o">=</span><span class="s1">'lm'</span><span class="p">,</span> <span class="n">ftol</span><span class="o">=</span><span class="mf">1e-15</span><span class="p">,</span> <span class="n">gtol</span><span class="o">=</span><span class="mf">1e-15</span><span class="p">,</span> <span class="n">xtol</span><span class="o">=</span><span class="mf">1e-15</span><span class="p">)</span>
|
||||
</span><span id="L-415"><a href="#L-415"><span class="linenos">415</span></a> <span class="k">if</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'correlated_fit'</span><span class="p">)</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||
</span><span id="L-416"><a href="#L-416"><span class="linenos">416</span></a> <span class="k">def</span> <span class="nf">chisqfunc_residuals</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="L-416"><a href="#L-416"><span class="linenos">416</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">chisqfunc_residuals</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="L-417"><a href="#L-417"><span class="linenos">417</span></a> <span class="k">return</span> <span class="n">general_chisqfunc</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">y_f</span><span class="p">,</span> <span class="n">p_f</span><span class="p">)</span>
|
||||
</span><span id="L-418"><a href="#L-418"><span class="linenos">418</span></a>
|
||||
</span><span id="L-419"><a href="#L-419"><span class="linenos">419</span></a> <span class="n">fit_result</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">least_squares</span><span class="p">(</span><span class="n">chisqfunc_residuals</span><span class="p">,</span> <span class="n">fit_result</span><span class="o">.</span><span class="n">x</span><span class="p">,</span> <span class="n">method</span><span class="o">=</span><span class="s1">'lm'</span><span class="p">,</span> <span class="n">ftol</span><span class="o">=</span><span class="mf">1e-15</span><span class="p">,</span> <span class="n">gtol</span><span class="o">=</span><span class="mf">1e-15</span><span class="p">,</span> <span class="n">xtol</span><span class="o">=</span><span class="mf">1e-15</span><span class="p">)</span>
|
||||
|
@ -551,7 +551,7 @@
|
|||
</span><span id="L-440"><a href="#L-440"><span class="linenos">440</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'chisquare/d.o.f.:'</span><span class="p">,</span> <span class="n">output</span><span class="o">.</span><span class="n">chisquare_by_dof</span><span class="p">)</span>
|
||||
</span><span id="L-441"><a href="#L-441"><span class="linenos">441</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'fit parameters'</span><span class="p">,</span> <span class="n">fit_result</span><span class="o">.</span><span class="n">x</span><span class="p">)</span>
|
||||
</span><span id="L-442"><a href="#L-442"><span class="linenos">442</span></a>
|
||||
</span><span id="L-443"><a href="#L-443"><span class="linenos">443</span></a> <span class="k">def</span> <span class="nf">prepare_hat_matrix</span><span class="p">():</span>
|
||||
</span><span id="L-443"><a href="#L-443"><span class="linenos">443</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">prepare_hat_matrix</span><span class="p">():</span>
|
||||
</span><span id="L-444"><a href="#L-444"><span class="linenos">444</span></a> <span class="n">hat_vector</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-445"><a href="#L-445"><span class="linenos">445</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">key_ls</span><span class="p">:</span>
|
||||
</span><span id="L-446"><a href="#L-446"><span class="linenos">446</span></a> <span class="k">if</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">xd</span><span class="p">[</span><span class="n">key</span><span class="p">])</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">):</span>
|
||||
|
@ -576,11 +576,11 @@
|
|||
</span><span id="L-465"><a href="#L-465"><span class="linenos">465</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="L-466"><a href="#L-466"><span class="linenos">466</span></a> <span class="n">hess</span> <span class="o">=</span> <span class="n">hessian</span><span class="p">(</span><span class="n">chisqfunc</span><span class="p">)(</span><span class="n">fitp</span><span class="p">)</span>
|
||||
</span><span id="L-467"><a href="#L-467"><span class="linenos">467</span></a> <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
|
||||
</span><span id="L-468"><a href="#L-468"><span class="linenos">468</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 fit functions, see the documentation for details."</span><span class="p">)</span> <span class="kn">from</span> <span class="kc">None</span>
|
||||
</span><span id="L-468"><a href="#L-468"><span class="linenos">468</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 fit 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-469"><a href="#L-469"><span class="linenos">469</span></a>
|
||||
</span><span id="L-470"><a href="#L-470"><span class="linenos">470</span></a> <span class="n">len_y</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">y_f</span><span class="p">)</span>
|
||||
</span><span id="L-471"><a href="#L-471"><span class="linenos">471</span></a>
|
||||
</span><span id="L-472"><a href="#L-472"><span class="linenos">472</span></a> <span class="k">def</span> <span class="nf">chisqfunc_compact</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-472"><a href="#L-472"><span class="linenos">472</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">chisqfunc_compact</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-473"><a href="#L-473"><span class="linenos">473</span></a> <span class="k">return</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">general_chisqfunc</span><span class="p">(</span><span class="n">d</span><span class="p">[:</span><span class="n">n_parms</span><span class="p">],</span> <span class="n">d</span><span class="p">[</span><span class="n">n_parms</span><span class="p">:</span> <span class="n">n_parms</span> <span class="o">+</span> <span class="n">len_y</span><span class="p">],</span> <span class="n">d</span><span class="p">[</span><span class="n">n_parms</span> <span class="o">+</span> <span class="n">len_y</span><span class="p">:])</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="L-474"><a href="#L-474"><span class="linenos">474</span></a>
|
||||
</span><span id="L-475"><a href="#L-475"><span class="linenos">475</span></a> <span class="n">jac_jac_y</span> <span class="o">=</span> <span class="n">hessian</span><span class="p">(</span><span class="n">chisqfunc_compact</span><span class="p">)(</span><span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">((</span><span class="n">fitp</span><span class="p">,</span> <span class="n">y_f</span><span class="p">,</span> <span class="n">p_f</span><span class="p">)))</span>
|
||||
|
@ -614,7 +614,7 @@
|
|||
</span><span id="L-503"><a href="#L-503"><span class="linenos">503</span></a> <span class="k">return</span> <span class="n">output</span>
|
||||
</span><span id="L-504"><a href="#L-504"><span class="linenos">504</span></a>
|
||||
</span><span id="L-505"><a href="#L-505"><span class="linenos">505</span></a>
|
||||
</span><span id="L-506"><a href="#L-506"><span class="linenos">506</span></a><span class="k">def</span> <span class="nf">total_least_squares</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-506"><a href="#L-506"><span class="linenos">506</span></a><span class="k">def</span><span class="w"> </span><span class="nf">total_least_squares</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-507"><a href="#L-507"><span class="linenos">507</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">'''Performs a non-linear fit to y = func(x) and returns a list of Obs corresponding to the fit parameters.</span>
|
||||
</span><span id="L-508"><a href="#L-508"><span class="linenos">508</span></a>
|
||||
</span><span id="L-509"><a href="#L-509"><span class="linenos">509</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -742,7 +742,7 @@
|
|||
</span><span id="L-631"><a href="#L-631"><span class="linenos">631</span></a>
|
||||
</span><span id="L-632"><a href="#L-632"><span class="linenos">632</span></a> <span class="n">m</span> <span class="o">=</span> <span class="n">x_f</span><span class="o">.</span><span class="n">size</span>
|
||||
</span><span id="L-633"><a href="#L-633"><span class="linenos">633</span></a>
|
||||
</span><span id="L-634"><a href="#L-634"><span class="linenos">634</span></a> <span class="k">def</span> <span class="nf">odr_chisquare</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="L-634"><a href="#L-634"><span class="linenos">634</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">odr_chisquare</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="L-635"><a href="#L-635"><span class="linenos">635</span></a> <span class="n">model</span> <span class="o">=</span> <span class="n">func</span><span class="p">(</span><span class="n">p</span><span class="p">[:</span><span class="n">n_parms</span><span class="p">],</span> <span class="n">p</span><span class="p">[</span><span class="n">n_parms</span><span class="p">:]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">x_shape</span><span class="p">))</span>
|
||||
</span><span id="L-636"><a href="#L-636"><span class="linenos">636</span></a> <span class="n">chisq</span> <span class="o">=</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(((</span><span class="n">y_f</span> <span class="o">-</span> <span class="n">model</span><span class="p">)</span> <span class="o">/</span> <span class="n">dy_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(((</span><span class="n">x_f</span> <span class="o">-</span> <span class="n">p</span><span class="p">[</span><span class="n">n_parms</span><span class="p">:]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">x_shape</span><span class="p">))</span> <span class="o">/</span> <span class="n">dx_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="L-637"><a href="#L-637"><span class="linenos">637</span></a> <span class="k">return</span> <span class="n">chisq</span>
|
||||
|
@ -777,9 +777,9 @@
|
|||
</span><span id="L-666"><a href="#L-666"><span class="linenos">666</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="L-667"><a href="#L-667"><span class="linenos">667</span></a> <span class="n">hess</span> <span class="o">=</span> <span class="n">hessian</span><span class="p">(</span><span class="n">odr_chisquare</span><span class="p">)(</span><span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">((</span><span class="n">fitp</span><span class="p">,</span> <span class="n">out</span><span class="o">.</span><span class="n">xplus</span><span class="o">.</span><span class="n">ravel</span><span class="p">())))</span>
|
||||
</span><span id="L-668"><a href="#L-668"><span class="linenos">668</span></a> <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
|
||||
</span><span id="L-669"><a href="#L-669"><span class="linenos">669</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 fit functions, see the documentation for details."</span><span class="p">)</span> <span class="kn">from</span> <span class="kc">None</span>
|
||||
</span><span id="L-669"><a href="#L-669"><span class="linenos">669</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 fit 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-670"><a href="#L-670"><span class="linenos">670</span></a>
|
||||
</span><span id="L-671"><a href="#L-671"><span class="linenos">671</span></a> <span class="k">def</span> <span class="nf">odr_chisquare_compact_x</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-671"><a href="#L-671"><span class="linenos">671</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">odr_chisquare_compact_x</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-672"><a href="#L-672"><span class="linenos">672</span></a> <span class="n">model</span> <span class="o">=</span> <span class="n">func</span><span class="p">(</span><span class="n">d</span><span class="p">[:</span><span class="n">n_parms</span><span class="p">],</span> <span class="n">d</span><span class="p">[</span><span class="n">n_parms</span><span class="p">:</span><span class="n">n_parms</span> <span class="o">+</span> <span class="n">m</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">x_shape</span><span class="p">))</span>
|
||||
</span><span id="L-673"><a href="#L-673"><span class="linenos">673</span></a> <span class="n">chisq</span> <span class="o">=</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(((</span><span class="n">y_f</span> <span class="o">-</span> <span class="n">model</span><span class="p">)</span> <span class="o">/</span> <span class="n">dy_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(((</span><span class="n">d</span><span class="p">[</span><span class="n">n_parms</span> <span class="o">+</span> <span class="n">m</span><span class="p">:]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">x_shape</span><span class="p">)</span> <span class="o">-</span> <span class="n">d</span><span class="p">[</span><span class="n">n_parms</span><span class="p">:</span><span class="n">n_parms</span> <span class="o">+</span> <span class="n">m</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">x_shape</span><span class="p">))</span> <span class="o">/</span> <span class="n">dx_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="L-674"><a href="#L-674"><span class="linenos">674</span></a> <span class="k">return</span> <span class="n">chisq</span>
|
||||
|
@ -792,7 +792,7 @@
|
|||
</span><span id="L-681"><a href="#L-681"><span class="linenos">681</span></a> <span class="k">except</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-682"><a href="#L-682"><span class="linenos">682</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Cannot invert hessian matrix."</span><span class="p">)</span>
|
||||
</span><span id="L-683"><a href="#L-683"><span class="linenos">683</span></a>
|
||||
</span><span id="L-684"><a href="#L-684"><span class="linenos">684</span></a> <span class="k">def</span> <span class="nf">odr_chisquare_compact_y</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-684"><a href="#L-684"><span class="linenos">684</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">odr_chisquare_compact_y</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-685"><a href="#L-685"><span class="linenos">685</span></a> <span class="n">model</span> <span class="o">=</span> <span class="n">func</span><span class="p">(</span><span class="n">d</span><span class="p">[:</span><span class="n">n_parms</span><span class="p">],</span> <span class="n">d</span><span class="p">[</span><span class="n">n_parms</span><span class="p">:</span><span class="n">n_parms</span> <span class="o">+</span> <span class="n">m</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">x_shape</span><span class="p">))</span>
|
||||
</span><span id="L-686"><a href="#L-686"><span class="linenos">686</span></a> <span class="n">chisq</span> <span class="o">=</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(((</span><span class="n">d</span><span class="p">[</span><span class="n">n_parms</span> <span class="o">+</span> <span class="n">m</span><span class="p">:]</span> <span class="o">-</span> <span class="n">model</span><span class="p">)</span> <span class="o">/</span> <span class="n">dy_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(((</span><span class="n">x_f</span> <span class="o">-</span> <span class="n">d</span><span class="p">[</span><span class="n">n_parms</span><span class="p">:</span><span class="n">n_parms</span> <span class="o">+</span> <span class="n">m</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">x_shape</span><span class="p">))</span> <span class="o">/</span> <span class="n">dx_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="L-687"><a href="#L-687"><span class="linenos">687</span></a> <span class="k">return</span> <span class="n">chisq</span>
|
||||
|
@ -818,7 +818,7 @@
|
|||
</span><span id="L-707"><a href="#L-707"><span class="linenos">707</span></a> <span class="k">return</span> <span class="n">output</span>
|
||||
</span><span id="L-708"><a href="#L-708"><span class="linenos">708</span></a>
|
||||
</span><span id="L-709"><a href="#L-709"><span class="linenos">709</span></a>
|
||||
</span><span id="L-710"><a href="#L-710"><span class="linenos">710</span></a><span class="k">def</span> <span class="nf">fit_lin</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-710"><a href="#L-710"><span class="linenos">710</span></a><span class="k">def</span><span class="w"> </span><span class="nf">fit_lin</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-711"><a href="#L-711"><span class="linenos">711</span></a><span class="w"> </span><span class="sd">"""Performs a linear fit to y = n + m * x and returns two Obs n, m.</span>
|
||||
</span><span id="L-712"><a href="#L-712"><span class="linenos">712</span></a>
|
||||
</span><span id="L-713"><a href="#L-713"><span class="linenos">713</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -835,7 +835,7 @@
|
|||
</span><span id="L-724"><a href="#L-724"><span class="linenos">724</span></a><span class="sd"> LIist of fitted observables.</span>
|
||||
</span><span id="L-725"><a href="#L-725"><span class="linenos">725</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-726"><a href="#L-726"><span class="linenos">726</span></a>
|
||||
</span><span id="L-727"><a href="#L-727"><span class="linenos">727</span></a> <span class="k">def</span> <span class="nf">f</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="L-727"><a href="#L-727"><span class="linenos">727</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="L-728"><a href="#L-728"><span class="linenos">728</span></a> <span class="n">y</span> <span class="o">=</span> <span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">a</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">x</span>
|
||||
</span><span id="L-729"><a href="#L-729"><span class="linenos">729</span></a> <span class="k">return</span> <span class="n">y</span>
|
||||
</span><span id="L-730"><a href="#L-730"><span class="linenos">730</span></a>
|
||||
|
@ -849,7 +849,7 @@
|
|||
</span><span id="L-738"><a href="#L-738"><span class="linenos">738</span></a> <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">'Unsupported types for x'</span><span class="p">)</span>
|
||||
</span><span id="L-739"><a href="#L-739"><span class="linenos">739</span></a>
|
||||
</span><span id="L-740"><a href="#L-740"><span class="linenos">740</span></a>
|
||||
</span><span id="L-741"><a href="#L-741"><span class="linenos">741</span></a><span class="k">def</span> <span class="nf">qqplot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">o_y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="s2">""</span><span class="p">):</span>
|
||||
</span><span id="L-741"><a href="#L-741"><span class="linenos">741</span></a><span class="k">def</span><span class="w"> </span><span class="nf">qqplot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">o_y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="s2">""</span><span class="p">):</span>
|
||||
</span><span id="L-742"><a href="#L-742"><span class="linenos">742</span></a><span class="w"> </span><span class="sd">"""Generates a quantile-quantile plot of the fit result which can be used to</span>
|
||||
</span><span id="L-743"><a href="#L-743"><span class="linenos">743</span></a><span class="sd"> check if the residuals of the fit are gaussian distributed.</span>
|
||||
</span><span id="L-744"><a href="#L-744"><span class="linenos">744</span></a>
|
||||
|
@ -879,7 +879,7 @@
|
|||
</span><span id="L-768"><a href="#L-768"><span class="linenos">768</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
|
||||
</span><span id="L-769"><a href="#L-769"><span class="linenos">769</span></a>
|
||||
</span><span id="L-770"><a href="#L-770"><span class="linenos">770</span></a>
|
||||
</span><span id="L-771"><a href="#L-771"><span class="linenos">771</span></a><span class="k">def</span> <span class="nf">residual_plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">fit_res</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="s2">""</span><span class="p">):</span>
|
||||
</span><span id="L-771"><a href="#L-771"><span class="linenos">771</span></a><span class="k">def</span><span class="w"> </span><span class="nf">residual_plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">fit_res</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="s2">""</span><span class="p">):</span>
|
||||
</span><span id="L-772"><a href="#L-772"><span class="linenos">772</span></a><span class="w"> </span><span class="sd">"""Generates a plot which compares the fit to the data and displays the corresponding residuals</span>
|
||||
</span><span id="L-773"><a href="#L-773"><span class="linenos">773</span></a>
|
||||
</span><span id="L-774"><a href="#L-774"><span class="linenos">774</span></a><span class="sd"> For uncorrelated data the residuals are expected to be distributed ~N(0,1).</span>
|
||||
|
@ -916,7 +916,7 @@
|
|||
</span><span id="L-805"><a href="#L-805"><span class="linenos">805</span></a> <span class="n">plt</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
|
||||
</span><span id="L-806"><a href="#L-806"><span class="linenos">806</span></a>
|
||||
</span><span id="L-807"><a href="#L-807"><span class="linenos">807</span></a>
|
||||
</span><span id="L-808"><a href="#L-808"><span class="linenos">808</span></a><span class="k">def</span> <span class="nf">error_band</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">beta</span><span class="p">):</span>
|
||||
</span><span id="L-808"><a href="#L-808"><span class="linenos">808</span></a><span class="k">def</span><span class="w"> </span><span class="nf">error_band</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">beta</span><span class="p">):</span>
|
||||
</span><span id="L-809"><a href="#L-809"><span class="linenos">809</span></a><span class="w"> </span><span class="sd">"""Calculate the error band for an array of sample values x, for given fit function func with optimized parameters beta.</span>
|
||||
</span><span id="L-810"><a href="#L-810"><span class="linenos">810</span></a>
|
||||
</span><span id="L-811"><a href="#L-811"><span class="linenos">811</span></a><span class="sd"> Returns</span>
|
||||
|
@ -940,7 +940,7 @@
|
|||
</span><span id="L-829"><a href="#L-829"><span class="linenos">829</span></a> <span class="k">return</span> <span class="n">err</span>
|
||||
</span><span id="L-830"><a href="#L-830"><span class="linenos">830</span></a>
|
||||
</span><span id="L-831"><a href="#L-831"><span class="linenos">831</span></a>
|
||||
</span><span id="L-832"><a href="#L-832"><span class="linenos">832</span></a><span class="k">def</span> <span class="nf">ks_test</span><span class="p">(</span><span class="n">objects</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-832"><a href="#L-832"><span class="linenos">832</span></a><span class="k">def</span><span class="w"> </span><span class="nf">ks_test</span><span class="p">(</span><span class="n">objects</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-833"><a href="#L-833"><span class="linenos">833</span></a><span class="w"> </span><span class="sd">"""Performs a Kolmogorov–Smirnov test for the p-values of all fit object.</span>
|
||||
</span><span id="L-834"><a href="#L-834"><span class="linenos">834</span></a>
|
||||
</span><span id="L-835"><a href="#L-835"><span class="linenos">835</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -984,7 +984,7 @@
|
|||
</span><span id="L-873"><a href="#L-873"><span class="linenos">873</span></a> <span class="nb">print</span><span class="p">(</span><span class="n">scipy</span><span class="o">.</span><span class="n">stats</span><span class="o">.</span><span class="n">kstest</span><span class="p">(</span><span class="n">p_values</span><span class="p">,</span> <span class="s1">'uniform'</span><span class="p">))</span>
|
||||
</span><span id="L-874"><a href="#L-874"><span class="linenos">874</span></a>
|
||||
</span><span id="L-875"><a href="#L-875"><span class="linenos">875</span></a>
|
||||
</span><span id="L-876"><a href="#L-876"><span class="linenos">876</span></a><span class="k">def</span> <span class="nf">_extract_val_and_dval</span><span class="p">(</span><span class="n">string</span><span class="p">):</span>
|
||||
</span><span id="L-876"><a href="#L-876"><span class="linenos">876</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_extract_val_and_dval</span><span class="p">(</span><span class="n">string</span><span class="p">):</span>
|
||||
</span><span id="L-877"><a href="#L-877"><span class="linenos">877</span></a> <span class="n">split_string</span> <span class="o">=</span> <span class="n">string</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'('</span><span class="p">)</span>
|
||||
</span><span id="L-878"><a href="#L-878"><span class="linenos">878</span></a> <span class="k">if</span> <span class="s1">'.'</span> <span class="ow">in</span> <span class="n">split_string</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">and</span> <span class="s1">'.'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">split_string</span><span class="p">[</span><span class="mi">1</span><span class="p">][:</span><span class="o">-</span><span class="mi">1</span><span class="p">]:</span>
|
||||
</span><span id="L-879"><a href="#L-879"><span class="linenos">879</span></a> <span class="n">factor</span> <span class="o">=</span> <span class="mi">10</span> <span class="o">**</span> <span class="o">-</span><span class="nb">len</span><span class="p">(</span><span class="n">split_string</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">partition</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)[</span><span class="mi">2</span><span class="p">])</span>
|
||||
|
@ -993,7 +993,7 @@
|
|||
</span><span id="L-882"><a href="#L-882"><span class="linenos">882</span></a> <span class="k">return</span> <span class="nb">float</span><span class="p">(</span><span class="n">split_string</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span> <span class="nb">float</span><span class="p">(</span><span class="n">split_string</span><span class="p">[</span><span class="mi">1</span><span class="p">][:</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span> <span class="o">*</span> <span class="n">factor</span>
|
||||
</span><span id="L-883"><a href="#L-883"><span class="linenos">883</span></a>
|
||||
</span><span id="L-884"><a href="#L-884"><span class="linenos">884</span></a>
|
||||
</span><span id="L-885"><a href="#L-885"><span class="linenos">885</span></a><span class="k">def</span> <span class="nf">_construct_prior_obs</span><span class="p">(</span><span class="n">i_prior</span><span class="p">,</span> <span class="n">i_n</span><span class="p">):</span>
|
||||
</span><span id="L-885"><a href="#L-885"><span class="linenos">885</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_construct_prior_obs</span><span class="p">(</span><span class="n">i_prior</span><span class="p">,</span> <span class="n">i_n</span><span class="p">):</span>
|
||||
</span><span id="L-886"><a href="#L-886"><span class="linenos">886</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">i_prior</span><span class="p">,</span> <span class="n">Obs</span><span class="p">):</span>
|
||||
</span><span id="L-887"><a href="#L-887"><span class="linenos">887</span></a> <span class="k">return</span> <span class="n">i_prior</span>
|
||||
</span><span id="L-888"><a href="#L-888"><span class="linenos">888</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">i_prior</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
|
||||
|
@ -1016,7 +1016,7 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#Fit_result"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Fit_result-21"><a href="#Fit_result-21"><span class="linenos">21</span></a><span class="k">class</span> <span class="nc">Fit_result</span><span class="p">(</span><span class="n">Sequence</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Fit_result-21"><a href="#Fit_result-21"><span class="linenos">21</span></a><span class="k">class</span><span class="w"> </span><span class="nc">Fit_result</span><span class="p">(</span><span class="n">Sequence</span><span class="p">):</span>
|
||||
</span><span id="Fit_result-22"><a href="#Fit_result-22"><span class="linenos">22</span></a><span class="w"> </span><span class="sd">"""Represents fit results.</span>
|
||||
</span><span id="Fit_result-23"><a href="#Fit_result-23"><span class="linenos">23</span></a>
|
||||
</span><span id="Fit_result-24"><a href="#Fit_result-24"><span class="linenos">24</span></a><span class="sd"> Attributes</span>
|
||||
|
@ -1032,22 +1032,22 @@
|
|||
</span><span id="Fit_result-34"><a href="#Fit_result-34"><span class="linenos">34</span></a><span class="sd"> Hotelling t-squared p-value for correlated fits.</span>
|
||||
</span><span id="Fit_result-35"><a href="#Fit_result-35"><span class="linenos">35</span></a><span class="sd"> """</span>
|
||||
</span><span id="Fit_result-36"><a href="#Fit_result-36"><span class="linenos">36</span></a>
|
||||
</span><span id="Fit_result-37"><a href="#Fit_result-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Fit_result-37"><a href="#Fit_result-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Fit_result-38"><a href="#Fit_result-38"><span class="linenos">38</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">fit_parameters</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
</span><span id="Fit_result-39"><a href="#Fit_result-39"><span class="linenos">39</span></a>
|
||||
</span><span id="Fit_result-40"><a href="#Fit_result-40"><span class="linenos">40</span></a> <span class="k">def</span> <span class="fm">__getitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">idx</span><span class="p">):</span>
|
||||
</span><span id="Fit_result-40"><a href="#Fit_result-40"><span class="linenos">40</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__getitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">idx</span><span class="p">):</span>
|
||||
</span><span id="Fit_result-41"><a href="#Fit_result-41"><span class="linenos">41</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">fit_parameters</span><span class="p">[</span><span class="n">idx</span><span class="p">]</span>
|
||||
</span><span id="Fit_result-42"><a href="#Fit_result-42"><span class="linenos">42</span></a>
|
||||
</span><span id="Fit_result-43"><a href="#Fit_result-43"><span class="linenos">43</span></a> <span class="k">def</span> <span class="fm">__len__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Fit_result-43"><a href="#Fit_result-43"><span class="linenos">43</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__len__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Fit_result-44"><a href="#Fit_result-44"><span class="linenos">44</span></a> <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">fit_parameters</span><span class="p">)</span>
|
||||
</span><span id="Fit_result-45"><a href="#Fit_result-45"><span class="linenos">45</span></a>
|
||||
</span><span id="Fit_result-46"><a href="#Fit_result-46"><span class="linenos">46</span></a> <span class="k">def</span> <span class="nf">gamma_method</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="Fit_result-46"><a href="#Fit_result-46"><span class="linenos">46</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">gamma_method</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="Fit_result-47"><a href="#Fit_result-47"><span class="linenos">47</span></a><span class="w"> </span><span class="sd">"""Apply the gamma method to all fit parameters"""</span>
|
||||
</span><span id="Fit_result-48"><a href="#Fit_result-48"><span class="linenos">48</span></a> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">fit_parameters</span><span class="p">]</span>
|
||||
</span><span id="Fit_result-49"><a href="#Fit_result-49"><span class="linenos">49</span></a>
|
||||
</span><span id="Fit_result-50"><a href="#Fit_result-50"><span class="linenos">50</span></a> <span class="n">gm</span> <span class="o">=</span> <span class="n">gamma_method</span>
|
||||
</span><span id="Fit_result-51"><a href="#Fit_result-51"><span class="linenos">51</span></a>
|
||||
</span><span id="Fit_result-52"><a href="#Fit_result-52"><span class="linenos">52</span></a> <span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Fit_result-52"><a href="#Fit_result-52"><span class="linenos">52</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Fit_result-53"><a href="#Fit_result-53"><span class="linenos">53</span></a> <span class="n">my_str</span> <span class="o">=</span> <span class="s1">'Goodness of fit:</span><span class="se">\n</span><span class="s1">'</span>
|
||||
</span><span id="Fit_result-54"><a href="#Fit_result-54"><span class="linenos">54</span></a> <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">'chisquare_by_dof'</span><span class="p">):</span>
|
||||
</span><span id="Fit_result-55"><a href="#Fit_result-55"><span class="linenos">55</span></a> <span class="n">my_str</span> <span class="o">+=</span> <span class="s1">'</span><span class="se">\u03C7\u00b2</span><span class="s1">/d.o.f. = '</span> <span class="o">+</span> <span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">chisquare_by_dof</span><span class="si">:</span><span class="s1">2.6f</span><span class="si">}</span><span class="s1">'</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span>
|
||||
|
@ -1064,7 +1064,7 @@
|
|||
</span><span id="Fit_result-66"><a href="#Fit_result-66"><span class="linenos">66</span></a> <span class="n">my_str</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">i_par</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\t</span><span class="s1">'</span> <span class="o">+</span> <span class="s1">' '</span> <span class="o">*</span> <span class="nb">int</span><span class="p">(</span><span class="n">par</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">par</span><span class="p">)</span><span class="o">.</span><span class="n">rjust</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">par</span> <span class="o"><</span> <span class="mf">0.0</span><span class="p">))</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span>
|
||||
</span><span id="Fit_result-67"><a href="#Fit_result-67"><span class="linenos">67</span></a> <span class="k">return</span> <span class="n">my_str</span>
|
||||
</span><span id="Fit_result-68"><a href="#Fit_result-68"><span class="linenos">68</span></a>
|
||||
</span><span id="Fit_result-69"><a href="#Fit_result-69"><span class="linenos">69</span></a> <span class="k">def</span> <span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Fit_result-69"><a href="#Fit_result-69"><span class="linenos">69</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Fit_result-70"><a href="#Fit_result-70"><span class="linenos">70</span></a> <span class="n">m</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="nb">len</span><span class="p">,</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="vm">__dict__</span><span class="o">.</span><span class="n">keys</span><span class="p">())))</span> <span class="o">+</span> <span class="mi">1</span>
|
||||
</span><span id="Fit_result-71"><a href="#Fit_result-71"><span class="linenos">71</span></a> <span class="k">return</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">key</span><span class="o">.</span><span class="n">rjust</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> <span class="o">+</span> <span class="s1">': '</span> <span class="o">+</span> <span class="nb">repr</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> <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="nb">sorted</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="vm">__dict__</span><span class="o">.</span><span class="n">items</span><span class="p">())])</span>
|
||||
</span></pre></div>
|
||||
|
@ -1110,7 +1110,7 @@ Hotelling t-squared p-value for correlated fits.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#Fit_result.gamma_method"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Fit_result.gamma_method-46"><a href="#Fit_result.gamma_method-46"><span class="linenos">46</span></a> <span class="k">def</span> <span class="nf">gamma_method</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Fit_result.gamma_method-46"><a href="#Fit_result.gamma_method-46"><span class="linenos">46</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">gamma_method</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="Fit_result.gamma_method-47"><a href="#Fit_result.gamma_method-47"><span class="linenos">47</span></a><span class="w"> </span><span class="sd">"""Apply the gamma method to all fit parameters"""</span>
|
||||
</span><span id="Fit_result.gamma_method-48"><a href="#Fit_result.gamma_method-48"><span class="linenos">48</span></a> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">fit_parameters</span><span class="p">]</span>
|
||||
</span></pre></div>
|
||||
|
@ -1132,7 +1132,7 @@ Hotelling t-squared p-value for correlated fits.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#Fit_result.gm"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Fit_result.gm-46"><a href="#Fit_result.gm-46"><span class="linenos">46</span></a> <span class="k">def</span> <span class="nf">gamma_method</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Fit_result.gm-46"><a href="#Fit_result.gm-46"><span class="linenos">46</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">gamma_method</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="Fit_result.gm-47"><a href="#Fit_result.gm-47"><span class="linenos">47</span></a><span class="w"> </span><span class="sd">"""Apply the gamma method to all fit parameters"""</span>
|
||||
</span><span id="Fit_result.gm-48"><a href="#Fit_result.gm-48"><span class="linenos">48</span></a> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">gamma_method</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">fit_parameters</span><span class="p">]</span>
|
||||
</span></pre></div>
|
||||
|
@ -1155,7 +1155,7 @@ Hotelling t-squared p-value for correlated fits.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#least_squares"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="least_squares-74"><a href="#least_squares-74"><span class="linenos"> 74</span></a><span class="k">def</span> <span class="nf">least_squares</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">priors</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="least_squares-74"><a href="#least_squares-74"><span class="linenos"> 74</span></a><span class="k">def</span><span class="w"> </span><span class="nf">least_squares</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">priors</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="least_squares-75"><a href="#least_squares-75"><span class="linenos"> 75</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">'''Performs a non-linear fit to y = func(x).</span>
|
||||
</span><span id="least_squares-76"><a href="#least_squares-76"><span class="linenos"> 76</span></a><span class="sd"> ```</span>
|
||||
</span><span id="least_squares-77"><a href="#least_squares-77"><span class="linenos"> 77</span></a>
|
||||
|
@ -1429,15 +1429,15 @@ Hotelling t-squared p-value for correlated fits.</li>
|
|||
</span><span id="least_squares-345"><a href="#least_squares-345"><span class="linenos">345</span></a> <span class="n">x0</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.1</span><span class="p">]</span> <span class="o">*</span> <span class="n">n_parms</span>
|
||||
</span><span id="least_squares-346"><a href="#least_squares-346"><span class="linenos">346</span></a>
|
||||
</span><span id="least_squares-347"><a href="#least_squares-347"><span class="linenos">347</span></a> <span class="k">if</span> <span class="n">priors</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
</span><span id="least_squares-348"><a href="#least_squares-348"><span class="linenos">348</span></a> <span class="k">def</span> <span class="nf">general_chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">ivars</span><span class="p">,</span> <span class="n">pr</span><span class="p">):</span>
|
||||
</span><span id="least_squares-348"><a href="#least_squares-348"><span class="linenos">348</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">general_chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">ivars</span><span class="p">,</span> <span class="n">pr</span><span class="p">):</span>
|
||||
</span><span id="least_squares-349"><a href="#least_squares-349"><span class="linenos">349</span></a> <span class="n">model</span> <span class="o">=</span> <span class="n">anp</span><span class="o">.</span><span class="n">concatenate</span><span class="p">([</span><span class="n">anp</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">funcd</span><span class="p">[</span><span class="n">key</span><span class="p">](</span><span class="n">p</span><span class="p">,</span> <span class="n">xd</span><span class="p">[</span><span class="n">key</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="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">key_ls</span><span class="p">])</span>
|
||||
</span><span id="least_squares-350"><a href="#least_squares-350"><span class="linenos">350</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">ivars</span> <span class="o">-</span> <span class="n">model</span><span class="p">)</span> <span class="o">/</span> <span class="n">dy_f</span>
|
||||
</span><span id="least_squares-351"><a href="#least_squares-351"><span class="linenos">351</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="least_squares-352"><a href="#least_squares-352"><span class="linenos">352</span></a> <span class="k">def</span> <span class="nf">general_chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">ivars</span><span class="p">,</span> <span class="n">pr</span><span class="p">):</span>
|
||||
</span><span id="least_squares-352"><a href="#least_squares-352"><span class="linenos">352</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">general_chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">ivars</span><span class="p">,</span> <span class="n">pr</span><span class="p">):</span>
|
||||
</span><span id="least_squares-353"><a href="#least_squares-353"><span class="linenos">353</span></a> <span class="n">model</span> <span class="o">=</span> <span class="n">anp</span><span class="o">.</span><span class="n">concatenate</span><span class="p">([</span><span class="n">anp</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">funcd</span><span class="p">[</span><span class="n">key</span><span class="p">](</span><span class="n">p</span><span class="p">,</span> <span class="n">xd</span><span class="p">[</span><span class="n">key</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="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">key_ls</span><span class="p">])</span>
|
||||
</span><span id="least_squares-354"><a href="#least_squares-354"><span class="linenos">354</span></a> <span class="k">return</span> <span class="n">anp</span><span class="o">.</span><span class="n">concatenate</span><span class="p">(((</span><span class="n">ivars</span> <span class="o">-</span> <span class="n">model</span><span class="p">)</span> <span class="o">/</span> <span class="n">dy_f</span><span class="p">,</span> <span class="p">(</span><span class="n">p</span><span class="p">[</span><span class="n">prior_mask</span><span class="p">]</span> <span class="o">-</span> <span class="n">pr</span><span class="p">)</span> <span class="o">/</span> <span class="n">dp_f</span><span class="p">))</span>
|
||||
</span><span id="least_squares-355"><a href="#least_squares-355"><span class="linenos">355</span></a>
|
||||
</span><span id="least_squares-356"><a href="#least_squares-356"><span class="linenos">356</span></a> <span class="k">def</span> <span class="nf">chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="least_squares-356"><a href="#least_squares-356"><span class="linenos">356</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="least_squares-357"><a href="#least_squares-357"><span class="linenos">357</span></a> <span class="k">return</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">general_chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">y_f</span><span class="p">,</span> <span class="n">p_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="least_squares-358"><a href="#least_squares-358"><span class="linenos">358</span></a>
|
||||
</span><span id="least_squares-359"><a href="#least_squares-359"><span class="linenos">359</span></a> <span class="k">if</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'correlated_fit'</span><span class="p">)</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||
|
@ -1455,11 +1455,11 @@ Hotelling t-squared p-value for correlated fits.</li>
|
|||
</span><span id="least_squares-371"><a href="#least_squares-371"><span class="linenos">371</span></a> <span class="n">inverrdiag</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">asarray</span><span class="p">(</span><span class="n">dy_f</span><span class="p">))</span>
|
||||
</span><span id="least_squares-372"><a href="#least_squares-372"><span class="linenos">372</span></a> <span class="n">chol_inv</span> <span class="o">=</span> <span class="n">invert_corr_cov_cholesky</span><span class="p">(</span><span class="n">corr</span><span class="p">,</span> <span class="n">inverrdiag</span><span class="p">)</span>
|
||||
</span><span id="least_squares-373"><a href="#least_squares-373"><span class="linenos">373</span></a>
|
||||
</span><span id="least_squares-374"><a href="#least_squares-374"><span class="linenos">374</span></a> <span class="k">def</span> <span class="nf">general_chisqfunc</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">ivars</span><span class="p">,</span> <span class="n">pr</span><span class="p">):</span>
|
||||
</span><span id="least_squares-374"><a href="#least_squares-374"><span class="linenos">374</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">general_chisqfunc</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">ivars</span><span class="p">,</span> <span class="n">pr</span><span class="p">):</span>
|
||||
</span><span id="least_squares-375"><a href="#least_squares-375"><span class="linenos">375</span></a> <span class="n">model</span> <span class="o">=</span> <span class="n">anp</span><span class="o">.</span><span class="n">concatenate</span><span class="p">([</span><span class="n">anp</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">funcd</span><span class="p">[</span><span class="n">key</span><span class="p">](</span><span class="n">p</span><span class="p">,</span> <span class="n">xd</span><span class="p">[</span><span class="n">key</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="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">key_ls</span><span class="p">])</span>
|
||||
</span><span id="least_squares-376"><a href="#least_squares-376"><span class="linenos">376</span></a> <span class="k">return</span> <span class="n">anp</span><span class="o">.</span><span class="n">concatenate</span><span class="p">((</span><span class="n">anp</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">chol_inv</span><span class="p">,</span> <span class="p">(</span><span class="n">ivars</span> <span class="o">-</span> <span class="n">model</span><span class="p">)),</span> <span class="p">(</span><span class="n">p</span><span class="p">[</span><span class="n">prior_mask</span><span class="p">]</span> <span class="o">-</span> <span class="n">pr</span><span class="p">)</span> <span class="o">/</span> <span class="n">dp_f</span><span class="p">))</span>
|
||||
</span><span id="least_squares-377"><a href="#least_squares-377"><span class="linenos">377</span></a>
|
||||
</span><span id="least_squares-378"><a href="#least_squares-378"><span class="linenos">378</span></a> <span class="k">def</span> <span class="nf">chisqfunc</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="least_squares-378"><a href="#least_squares-378"><span class="linenos">378</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">chisqfunc</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="least_squares-379"><a href="#least_squares-379"><span class="linenos">379</span></a> <span class="k">return</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">general_chisqfunc</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">y_f</span><span class="p">,</span> <span class="n">p_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="least_squares-380"><a href="#least_squares-380"><span class="linenos">380</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="least_squares-381"><a href="#least_squares-381"><span class="linenos">381</span></a> <span class="n">general_chisqfunc</span> <span class="o">=</span> <span class="n">general_chisqfunc_uncorr</span>
|
||||
|
@ -1493,12 +1493,12 @@ Hotelling t-squared p-value for correlated fits.</li>
|
|||
</span><span id="least_squares-409"><a href="#least_squares-409"><span class="linenos">409</span></a> <span class="k">if</span> <span class="s1">'tol'</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
|
||||
</span><span id="least_squares-410"><a href="#least_squares-410"><span class="linenos">410</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'tol cannot be set for Levenberg-Marquardt'</span><span class="p">)</span>
|
||||
</span><span id="least_squares-411"><a href="#least_squares-411"><span class="linenos">411</span></a>
|
||||
</span><span id="least_squares-412"><a href="#least_squares-412"><span class="linenos">412</span></a> <span class="k">def</span> <span class="nf">chisqfunc_residuals_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="least_squares-412"><a href="#least_squares-412"><span class="linenos">412</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">chisqfunc_residuals_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="least_squares-413"><a href="#least_squares-413"><span class="linenos">413</span></a> <span class="k">return</span> <span class="n">general_chisqfunc_uncorr</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">y_f</span><span class="p">,</span> <span class="n">p_f</span><span class="p">)</span>
|
||||
</span><span id="least_squares-414"><a href="#least_squares-414"><span class="linenos">414</span></a>
|
||||
</span><span id="least_squares-415"><a href="#least_squares-415"><span class="linenos">415</span></a> <span class="n">fit_result</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">least_squares</span><span class="p">(</span><span class="n">chisqfunc_residuals_uncorr</span><span class="p">,</span> <span class="n">x0</span><span class="p">,</span> <span class="n">method</span><span class="o">=</span><span class="s1">'lm'</span><span class="p">,</span> <span class="n">ftol</span><span class="o">=</span><span class="mf">1e-15</span><span class="p">,</span> <span class="n">gtol</span><span class="o">=</span><span class="mf">1e-15</span><span class="p">,</span> <span class="n">xtol</span><span class="o">=</span><span class="mf">1e-15</span><span class="p">)</span>
|
||||
</span><span id="least_squares-416"><a href="#least_squares-416"><span class="linenos">416</span></a> <span class="k">if</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'correlated_fit'</span><span class="p">)</span> <span class="ow">is</span> <span class="kc">True</span><span class="p">:</span>
|
||||
</span><span id="least_squares-417"><a href="#least_squares-417"><span class="linenos">417</span></a> <span class="k">def</span> <span class="nf">chisqfunc_residuals</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="least_squares-417"><a href="#least_squares-417"><span class="linenos">417</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">chisqfunc_residuals</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="least_squares-418"><a href="#least_squares-418"><span class="linenos">418</span></a> <span class="k">return</span> <span class="n">general_chisqfunc</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">y_f</span><span class="p">,</span> <span class="n">p_f</span><span class="p">)</span>
|
||||
</span><span id="least_squares-419"><a href="#least_squares-419"><span class="linenos">419</span></a>
|
||||
</span><span id="least_squares-420"><a href="#least_squares-420"><span class="linenos">420</span></a> <span class="n">fit_result</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">least_squares</span><span class="p">(</span><span class="n">chisqfunc_residuals</span><span class="p">,</span> <span class="n">fit_result</span><span class="o">.</span><span class="n">x</span><span class="p">,</span> <span class="n">method</span><span class="o">=</span><span class="s1">'lm'</span><span class="p">,</span> <span class="n">ftol</span><span class="o">=</span><span class="mf">1e-15</span><span class="p">,</span> <span class="n">gtol</span><span class="o">=</span><span class="mf">1e-15</span><span class="p">,</span> <span class="n">xtol</span><span class="o">=</span><span class="mf">1e-15</span><span class="p">)</span>
|
||||
|
@ -1525,7 +1525,7 @@ Hotelling t-squared p-value for correlated fits.</li>
|
|||
</span><span id="least_squares-441"><a href="#least_squares-441"><span class="linenos">441</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'chisquare/d.o.f.:'</span><span class="p">,</span> <span class="n">output</span><span class="o">.</span><span class="n">chisquare_by_dof</span><span class="p">)</span>
|
||||
</span><span id="least_squares-442"><a href="#least_squares-442"><span class="linenos">442</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'fit parameters'</span><span class="p">,</span> <span class="n">fit_result</span><span class="o">.</span><span class="n">x</span><span class="p">)</span>
|
||||
</span><span id="least_squares-443"><a href="#least_squares-443"><span class="linenos">443</span></a>
|
||||
</span><span id="least_squares-444"><a href="#least_squares-444"><span class="linenos">444</span></a> <span class="k">def</span> <span class="nf">prepare_hat_matrix</span><span class="p">():</span>
|
||||
</span><span id="least_squares-444"><a href="#least_squares-444"><span class="linenos">444</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">prepare_hat_matrix</span><span class="p">():</span>
|
||||
</span><span id="least_squares-445"><a href="#least_squares-445"><span class="linenos">445</span></a> <span class="n">hat_vector</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="least_squares-446"><a href="#least_squares-446"><span class="linenos">446</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">key_ls</span><span class="p">:</span>
|
||||
</span><span id="least_squares-447"><a href="#least_squares-447"><span class="linenos">447</span></a> <span class="k">if</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">xd</span><span class="p">[</span><span class="n">key</span><span class="p">])</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">):</span>
|
||||
|
@ -1550,11 +1550,11 @@ Hotelling t-squared p-value for correlated fits.</li>
|
|||
</span><span id="least_squares-466"><a href="#least_squares-466"><span class="linenos">466</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="least_squares-467"><a href="#least_squares-467"><span class="linenos">467</span></a> <span class="n">hess</span> <span class="o">=</span> <span class="n">hessian</span><span class="p">(</span><span class="n">chisqfunc</span><span class="p">)(</span><span class="n">fitp</span><span class="p">)</span>
|
||||
</span><span id="least_squares-468"><a href="#least_squares-468"><span class="linenos">468</span></a> <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
|
||||
</span><span id="least_squares-469"><a href="#least_squares-469"><span class="linenos">469</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 fit functions, see the documentation for details."</span><span class="p">)</span> <span class="kn">from</span> <span class="kc">None</span>
|
||||
</span><span id="least_squares-469"><a href="#least_squares-469"><span class="linenos">469</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 fit 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="least_squares-470"><a href="#least_squares-470"><span class="linenos">470</span></a>
|
||||
</span><span id="least_squares-471"><a href="#least_squares-471"><span class="linenos">471</span></a> <span class="n">len_y</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">y_f</span><span class="p">)</span>
|
||||
</span><span id="least_squares-472"><a href="#least_squares-472"><span class="linenos">472</span></a>
|
||||
</span><span id="least_squares-473"><a href="#least_squares-473"><span class="linenos">473</span></a> <span class="k">def</span> <span class="nf">chisqfunc_compact</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="least_squares-473"><a href="#least_squares-473"><span class="linenos">473</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">chisqfunc_compact</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="least_squares-474"><a href="#least_squares-474"><span class="linenos">474</span></a> <span class="k">return</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">general_chisqfunc</span><span class="p">(</span><span class="n">d</span><span class="p">[:</span><span class="n">n_parms</span><span class="p">],</span> <span class="n">d</span><span class="p">[</span><span class="n">n_parms</span><span class="p">:</span> <span class="n">n_parms</span> <span class="o">+</span> <span class="n">len_y</span><span class="p">],</span> <span class="n">d</span><span class="p">[</span><span class="n">n_parms</span> <span class="o">+</span> <span class="n">len_y</span><span class="p">:])</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="least_squares-475"><a href="#least_squares-475"><span class="linenos">475</span></a>
|
||||
</span><span id="least_squares-476"><a href="#least_squares-476"><span class="linenos">476</span></a> <span class="n">jac_jac_y</span> <span class="o">=</span> <span class="n">hessian</span><span class="p">(</span><span class="n">chisqfunc_compact</span><span class="p">)(</span><span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">((</span><span class="n">fitp</span><span class="p">,</span> <span class="n">y_f</span><span class="p">,</span> <span class="n">p_f</span><span class="p">)))</span>
|
||||
|
@ -1604,9 +1604,9 @@ list of Obs.</li>
|
|||
fit function, has to be of the form</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="kn">import</span> <span class="nn">autograd.numpy</span> <span class="k">as</span> <span class="nn">anp</span>
|
||||
<pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn">autograd.numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">anp</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">a</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">x</span> <span class="o">+</span> <span class="n">a</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">*</span> <span class="n">anp</span><span class="o">.</span><span class="n">sinh</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
@ -1614,7 +1614,7 @@ fit function, has to be of the form</p>
|
|||
<p>For multiple x values func can be of the form</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="p">(</span><span class="n">x1</span><span class="p">,</span> <span class="n">x2</span><span class="p">)</span> <span class="o">=</span> <span class="n">x</span>
|
||||
<span class="k">return</span> <span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="n">x1</span> <span class="o">**</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">a</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">x2</span>
|
||||
</code></pre>
|
||||
|
@ -1698,10 +1698,10 @@ Parameters and information on the fitted result.</li>
|
|||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="c1"># Example of a correlated (correlated_fit = True, inv_chol_cov_matrix handed over) combined fit, based on a randomly generated data set</span>
|
||||
<span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.stats</span> <span class="kn">import</span> <span class="n">norm</span>
|
||||
<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.linalg</span> <span class="kn">import</span> <span class="n">cholesky</span>
|
||||
<span class="gp">>>> </span><span class="kn">import</span> <span class="nn">pyerrors</span> <span class="k">as</span> <span class="nn">pe</span>
|
||||
<span class="gp">>>> </span><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="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.stats</span><span class="w"> </span><span class="kn">import</span> <span class="n">norm</span>
|
||||
<span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.linalg</span><span class="w"> </span><span class="kn">import</span> <span class="n">cholesky</span>
|
||||
<span class="gp">>>> </span><span class="kn">import</span><span class="w"> </span><span class="nn">pyerrors</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pe</span>
|
||||
<span class="gp">>>> </span><span class="c1"># generating the random data set</span>
|
||||
<span class="gp">>>> </span><span class="n">num_samples</span> <span class="o">=</span> <span class="mi">400</span>
|
||||
<span class="gp">>>> </span><span class="n">N</span> <span class="o">=</span> <span class="mi">3</span>
|
||||
|
@ -1734,9 +1734,9 @@ Parameters and information on the fitted result.</li>
|
|||
<span class="gp">>>> </span> <span class="n">chol_inv</span> <span class="o">=</span> <span class="n">pe</span><span class="o">.</span><span class="n">obs</span><span class="o">.</span><span class="n">invert_corr_cov_cholesky</span><span class="p">(</span><span class="n">corr</span><span class="p">,</span> <span class="n">inverrdiag</span><span class="p">)</span> <span class="c1"># gives form of the inverse covariance matrix needed for the combined correlated fit below</span>
|
||||
<span class="gp">>>> </span><span class="n">y_dict</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'a'</span><span class="p">:</span> <span class="n">data</span><span class="p">[:</span><span class="mi">3</span><span class="p">],</span> <span class="s1">'b'</span><span class="p">:</span> <span class="n">data</span><span class="p">[</span><span class="mi">3</span><span class="p">:]}</span>
|
||||
<span class="gp">>>> </span><span class="c1"># common fit parameter p[0] in combined fit</span>
|
||||
<span class="gp">>>> </span><span class="k">def</span> <span class="nf">fit1</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="gp">>>> </span><span class="k">def</span><span class="w"> </span><span class="nf">fit1</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="gp">>>> </span> <span class="k">return</span> <span class="n">p</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">p</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">x</span>
|
||||
<span class="gp">>>> </span><span class="k">def</span> <span class="nf">fit2</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="gp">>>> </span><span class="k">def</span><span class="w"> </span><span class="nf">fit2</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="gp">>>> </span> <span class="k">return</span> <span class="n">p</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">p</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">*</span> <span class="n">x</span>
|
||||
<span class="gp">>>> </span><span class="n">fitf_dict</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'a'</span><span class="p">:</span> <span class="n">fit1</span><span class="p">,</span> <span class="s1">'b'</span><span class="p">:</span><span class="n">fit2</span><span class="p">}</span>
|
||||
<span class="gp">>>> </span><span class="n">fitp_inv_cov_combined_fit</span> <span class="o">=</span> <span class="n">pe</span><span class="o">.</span><span class="n">least_squares</span><span class="p">(</span><span class="n">x_dict</span><span class="p">,</span><span class="n">y_dict</span><span class="p">,</span> <span class="n">fitf_dict</span><span class="p">,</span> <span class="n">correlated_fit</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">inv_chol_cov_matrix</span> <span class="o">=</span> <span class="p">[</span><span class="n">chol_inv</span><span class="p">,[</span><span class="s1">'a'</span><span class="p">,</span><span class="s1">'b'</span><span class="p">]])</span>
|
||||
|
@ -1762,7 +1762,7 @@ Parameters and information on the fitted result.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#total_least_squares"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="total_least_squares-507"><a href="#total_least_squares-507"><span class="linenos">507</span></a><span class="k">def</span> <span class="nf">total_least_squares</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="total_least_squares-507"><a href="#total_least_squares-507"><span class="linenos">507</span></a><span class="k">def</span><span class="w"> </span><span class="nf">total_least_squares</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">silent</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="total_least_squares-508"><a href="#total_least_squares-508"><span class="linenos">508</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">'''Performs a non-linear fit to y = func(x) and returns a list of Obs corresponding to the fit parameters.</span>
|
||||
</span><span id="total_least_squares-509"><a href="#total_least_squares-509"><span class="linenos">509</span></a>
|
||||
</span><span id="total_least_squares-510"><a href="#total_least_squares-510"><span class="linenos">510</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -1890,7 +1890,7 @@ Parameters and information on the fitted result.</li>
|
|||
</span><span id="total_least_squares-632"><a href="#total_least_squares-632"><span class="linenos">632</span></a>
|
||||
</span><span id="total_least_squares-633"><a href="#total_least_squares-633"><span class="linenos">633</span></a> <span class="n">m</span> <span class="o">=</span> <span class="n">x_f</span><span class="o">.</span><span class="n">size</span>
|
||||
</span><span id="total_least_squares-634"><a href="#total_least_squares-634"><span class="linenos">634</span></a>
|
||||
</span><span id="total_least_squares-635"><a href="#total_least_squares-635"><span class="linenos">635</span></a> <span class="k">def</span> <span class="nf">odr_chisquare</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="total_least_squares-635"><a href="#total_least_squares-635"><span class="linenos">635</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">odr_chisquare</span><span class="p">(</span><span class="n">p</span><span class="p">):</span>
|
||||
</span><span id="total_least_squares-636"><a href="#total_least_squares-636"><span class="linenos">636</span></a> <span class="n">model</span> <span class="o">=</span> <span class="n">func</span><span class="p">(</span><span class="n">p</span><span class="p">[:</span><span class="n">n_parms</span><span class="p">],</span> <span class="n">p</span><span class="p">[</span><span class="n">n_parms</span><span class="p">:]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">x_shape</span><span class="p">))</span>
|
||||
</span><span id="total_least_squares-637"><a href="#total_least_squares-637"><span class="linenos">637</span></a> <span class="n">chisq</span> <span class="o">=</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(((</span><span class="n">y_f</span> <span class="o">-</span> <span class="n">model</span><span class="p">)</span> <span class="o">/</span> <span class="n">dy_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(((</span><span class="n">x_f</span> <span class="o">-</span> <span class="n">p</span><span class="p">[</span><span class="n">n_parms</span><span class="p">:]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">x_shape</span><span class="p">))</span> <span class="o">/</span> <span class="n">dx_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="total_least_squares-638"><a href="#total_least_squares-638"><span class="linenos">638</span></a> <span class="k">return</span> <span class="n">chisq</span>
|
||||
|
@ -1925,9 +1925,9 @@ Parameters and information on the fitted result.</li>
|
|||
</span><span id="total_least_squares-667"><a href="#total_least_squares-667"><span class="linenos">667</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="total_least_squares-668"><a href="#total_least_squares-668"><span class="linenos">668</span></a> <span class="n">hess</span> <span class="o">=</span> <span class="n">hessian</span><span class="p">(</span><span class="n">odr_chisquare</span><span class="p">)(</span><span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">((</span><span class="n">fitp</span><span class="p">,</span> <span class="n">out</span><span class="o">.</span><span class="n">xplus</span><span class="o">.</span><span class="n">ravel</span><span class="p">())))</span>
|
||||
</span><span id="total_least_squares-669"><a href="#total_least_squares-669"><span class="linenos">669</span></a> <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
|
||||
</span><span id="total_least_squares-670"><a href="#total_least_squares-670"><span class="linenos">670</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 fit functions, see the documentation for details."</span><span class="p">)</span> <span class="kn">from</span> <span class="kc">None</span>
|
||||
</span><span id="total_least_squares-670"><a href="#total_least_squares-670"><span class="linenos">670</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 fit 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="total_least_squares-671"><a href="#total_least_squares-671"><span class="linenos">671</span></a>
|
||||
</span><span id="total_least_squares-672"><a href="#total_least_squares-672"><span class="linenos">672</span></a> <span class="k">def</span> <span class="nf">odr_chisquare_compact_x</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="total_least_squares-672"><a href="#total_least_squares-672"><span class="linenos">672</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">odr_chisquare_compact_x</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="total_least_squares-673"><a href="#total_least_squares-673"><span class="linenos">673</span></a> <span class="n">model</span> <span class="o">=</span> <span class="n">func</span><span class="p">(</span><span class="n">d</span><span class="p">[:</span><span class="n">n_parms</span><span class="p">],</span> <span class="n">d</span><span class="p">[</span><span class="n">n_parms</span><span class="p">:</span><span class="n">n_parms</span> <span class="o">+</span> <span class="n">m</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">x_shape</span><span class="p">))</span>
|
||||
</span><span id="total_least_squares-674"><a href="#total_least_squares-674"><span class="linenos">674</span></a> <span class="n">chisq</span> <span class="o">=</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(((</span><span class="n">y_f</span> <span class="o">-</span> <span class="n">model</span><span class="p">)</span> <span class="o">/</span> <span class="n">dy_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(((</span><span class="n">d</span><span class="p">[</span><span class="n">n_parms</span> <span class="o">+</span> <span class="n">m</span><span class="p">:]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">x_shape</span><span class="p">)</span> <span class="o">-</span> <span class="n">d</span><span class="p">[</span><span class="n">n_parms</span><span class="p">:</span><span class="n">n_parms</span> <span class="o">+</span> <span class="n">m</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">x_shape</span><span class="p">))</span> <span class="o">/</span> <span class="n">dx_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="total_least_squares-675"><a href="#total_least_squares-675"><span class="linenos">675</span></a> <span class="k">return</span> <span class="n">chisq</span>
|
||||
|
@ -1940,7 +1940,7 @@ Parameters and information on the fitted result.</li>
|
|||
</span><span id="total_least_squares-682"><a href="#total_least_squares-682"><span class="linenos">682</span></a> <span class="k">except</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="total_least_squares-683"><a href="#total_least_squares-683"><span class="linenos">683</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Cannot invert hessian matrix."</span><span class="p">)</span>
|
||||
</span><span id="total_least_squares-684"><a href="#total_least_squares-684"><span class="linenos">684</span></a>
|
||||
</span><span id="total_least_squares-685"><a href="#total_least_squares-685"><span class="linenos">685</span></a> <span class="k">def</span> <span class="nf">odr_chisquare_compact_y</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="total_least_squares-685"><a href="#total_least_squares-685"><span class="linenos">685</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">odr_chisquare_compact_y</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="total_least_squares-686"><a href="#total_least_squares-686"><span class="linenos">686</span></a> <span class="n">model</span> <span class="o">=</span> <span class="n">func</span><span class="p">(</span><span class="n">d</span><span class="p">[:</span><span class="n">n_parms</span><span class="p">],</span> <span class="n">d</span><span class="p">[</span><span class="n">n_parms</span><span class="p">:</span><span class="n">n_parms</span> <span class="o">+</span> <span class="n">m</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">x_shape</span><span class="p">))</span>
|
||||
</span><span id="total_least_squares-687"><a href="#total_least_squares-687"><span class="linenos">687</span></a> <span class="n">chisq</span> <span class="o">=</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(((</span><span class="n">d</span><span class="p">[</span><span class="n">n_parms</span> <span class="o">+</span> <span class="n">m</span><span class="p">:]</span> <span class="o">-</span> <span class="n">model</span><span class="p">)</span> <span class="o">/</span> <span class="n">dy_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">anp</span><span class="o">.</span><span class="n">sum</span><span class="p">(((</span><span class="n">x_f</span> <span class="o">-</span> <span class="n">d</span><span class="p">[</span><span class="n">n_parms</span><span class="p">:</span><span class="n">n_parms</span> <span class="o">+</span> <span class="n">m</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">x_shape</span><span class="p">))</span> <span class="o">/</span> <span class="n">dx_f</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span>
|
||||
</span><span id="total_least_squares-688"><a href="#total_least_squares-688"><span class="linenos">688</span></a> <span class="k">return</span> <span class="n">chisq</span>
|
||||
|
@ -1980,9 +1980,9 @@ list of Obs. The dvalues of the Obs are used as x- and yerror for the fit.</li>
|
|||
func has to be of the form</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="kn">import</span> <span class="nn">autograd.numpy</span> <span class="k">as</span> <span class="nn">anp</span>
|
||||
<pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn">autograd.numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">anp</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">a</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">x</span> <span class="o">+</span> <span class="n">a</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">*</span> <span class="n">anp</span><span class="o">.</span><span class="n">sinh</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
@ -1990,7 +1990,7 @@ func has to be of the form</p>
|
|||
<p>For multiple x values func can be of the form</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="p">(</span><span class="n">x1</span><span class="p">,</span> <span class="n">x2</span><span class="p">)</span> <span class="o">=</span> <span class="n">x</span>
|
||||
<span class="k">return</span> <span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="n">x1</span> <span class="o">**</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">a</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">x2</span>
|
||||
</code></pre>
|
||||
|
@ -2037,7 +2037,7 @@ Parameters and information on the fitted result.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#fit_lin"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="fit_lin-711"><a href="#fit_lin-711"><span class="linenos">711</span></a><span class="k">def</span> <span class="nf">fit_lin</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="fit_lin-711"><a href="#fit_lin-711"><span class="linenos">711</span></a><span class="k">def</span><span class="w"> </span><span class="nf">fit_lin</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="fit_lin-712"><a href="#fit_lin-712"><span class="linenos">712</span></a><span class="w"> </span><span class="sd">"""Performs a linear fit to y = n + m * x and returns two Obs n, m.</span>
|
||||
</span><span id="fit_lin-713"><a href="#fit_lin-713"><span class="linenos">713</span></a>
|
||||
</span><span id="fit_lin-714"><a href="#fit_lin-714"><span class="linenos">714</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -2054,7 +2054,7 @@ Parameters and information on the fitted result.</li>
|
|||
</span><span id="fit_lin-725"><a href="#fit_lin-725"><span class="linenos">725</span></a><span class="sd"> LIist of fitted observables.</span>
|
||||
</span><span id="fit_lin-726"><a href="#fit_lin-726"><span class="linenos">726</span></a><span class="sd"> """</span>
|
||||
</span><span id="fit_lin-727"><a href="#fit_lin-727"><span class="linenos">727</span></a>
|
||||
</span><span id="fit_lin-728"><a href="#fit_lin-728"><span class="linenos">728</span></a> <span class="k">def</span> <span class="nf">f</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="fit_lin-728"><a href="#fit_lin-728"><span class="linenos">728</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="fit_lin-729"><a href="#fit_lin-729"><span class="linenos">729</span></a> <span class="n">y</span> <span class="o">=</span> <span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">a</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">x</span>
|
||||
</span><span id="fit_lin-730"><a href="#fit_lin-730"><span class="linenos">730</span></a> <span class="k">return</span> <span class="n">y</span>
|
||||
</span><span id="fit_lin-731"><a href="#fit_lin-731"><span class="linenos">731</span></a>
|
||||
|
@ -2102,7 +2102,7 @@ LIist of fitted observables.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#qqplot"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="qqplot-742"><a href="#qqplot-742"><span class="linenos">742</span></a><span class="k">def</span> <span class="nf">qqplot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">o_y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="s2">""</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="qqplot-742"><a href="#qqplot-742"><span class="linenos">742</span></a><span class="k">def</span><span class="w"> </span><span class="nf">qqplot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">o_y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="s2">""</span><span class="p">):</span>
|
||||
</span><span id="qqplot-743"><a href="#qqplot-743"><span class="linenos">743</span></a><span class="w"> </span><span class="sd">"""Generates a quantile-quantile plot of the fit result which can be used to</span>
|
||||
</span><span id="qqplot-744"><a href="#qqplot-744"><span class="linenos">744</span></a><span class="sd"> check if the residuals of the fit are gaussian distributed.</span>
|
||||
</span><span id="qqplot-745"><a href="#qqplot-745"><span class="linenos">745</span></a>
|
||||
|
@ -2156,7 +2156,7 @@ LIist of fitted observables.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#residual_plot"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="residual_plot-772"><a href="#residual_plot-772"><span class="linenos">772</span></a><span class="k">def</span> <span class="nf">residual_plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">fit_res</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="s2">""</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="residual_plot-772"><a href="#residual_plot-772"><span class="linenos">772</span></a><span class="k">def</span><span class="w"> </span><span class="nf">residual_plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">fit_res</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="s2">""</span><span class="p">):</span>
|
||||
</span><span id="residual_plot-773"><a href="#residual_plot-773"><span class="linenos">773</span></a><span class="w"> </span><span class="sd">"""Generates a plot which compares the fit to the data and displays the corresponding residuals</span>
|
||||
</span><span id="residual_plot-774"><a href="#residual_plot-774"><span class="linenos">774</span></a>
|
||||
</span><span id="residual_plot-775"><a href="#residual_plot-775"><span class="linenos">775</span></a><span class="sd"> For uncorrelated data the residuals are expected to be distributed ~N(0,1).</span>
|
||||
|
@ -2218,7 +2218,7 @@ LIist of fitted observables.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#error_band"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="error_band-809"><a href="#error_band-809"><span class="linenos">809</span></a><span class="k">def</span> <span class="nf">error_band</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">beta</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="error_band-809"><a href="#error_band-809"><span class="linenos">809</span></a><span class="k">def</span><span class="w"> </span><span class="nf">error_band</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">beta</span><span class="p">):</span>
|
||||
</span><span id="error_band-810"><a href="#error_band-810"><span class="linenos">810</span></a><span class="w"> </span><span class="sd">"""Calculate the error band for an array of sample values x, for given fit function func with optimized parameters beta.</span>
|
||||
</span><span id="error_band-811"><a href="#error_band-811"><span class="linenos">811</span></a>
|
||||
</span><span id="error_band-812"><a href="#error_band-812"><span class="linenos">812</span></a><span class="sd"> Returns</span>
|
||||
|
@ -2266,7 +2266,7 @@ Error band for an array of sample values x</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#ks_test"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="ks_test-833"><a href="#ks_test-833"><span class="linenos">833</span></a><span class="k">def</span> <span class="nf">ks_test</span><span class="p">(</span><span class="n">objects</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="ks_test-833"><a href="#ks_test-833"><span class="linenos">833</span></a><span class="k">def</span><span class="w"> </span><span class="nf">ks_test</span><span class="p">(</span><span class="n">objects</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="ks_test-834"><a href="#ks_test-834"><span class="linenos">834</span></a><span class="w"> </span><span class="sd">"""Performs a Kolmogorov–Smirnov test for the p-values of all fit object.</span>
|
||||
</span><span id="ks_test-835"><a href="#ks_test-835"><span class="linenos">835</span></a>
|
||||
</span><span id="ks_test-836"><a href="#ks_test-836"><span class="linenos">836</span></a><span class="sd"> Parameters</span>
|
||||
|
|
|
@ -100,14 +100,14 @@ See <code><a href="obs.html#Obs.export_jackknife">pyerrors.obs.Obs.export_jackkn
|
|||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="sd">For comparison with other analysis workflows `pyerrors` can also generate jackknife samples from an `Obs` object or import jackknife samples into an `Obs` object.</span>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="sd">See `pyerrors.obs.Obs.export_jackknife` and `pyerrors.obs.import_jackknife` for details.</span>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="sd">'''</span>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">bdio</span> <span class="k">as</span> <span class="n">bdio</span>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">dobs</span> <span class="k">as</span> <span class="n">dobs</span>
|
||||
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a><span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">hadrons</span> <span class="k">as</span> <span class="n">hadrons</span>
|
||||
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a><span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">json</span> <span class="k">as</span> <span class="n">json</span>
|
||||
</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a><span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">misc</span> <span class="k">as</span> <span class="n">misc</span>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a><span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">openQCD</span> <span class="k">as</span> <span class="n">openQCD</span>
|
||||
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a><span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">pandas</span> <span class="k">as</span> <span class="n">pandas</span>
|
||||
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a><span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">sfcf</span> <span class="k">as</span> <span class="n">sfcf</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">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">bdio</span> <span class="k">as</span> <span class="n">bdio</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">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">dobs</span> <span class="k">as</span> <span class="n">dobs</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">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">hadrons</span> <span class="k">as</span> <span class="n">hadrons</span>
|
||||
</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">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">json</span> <span class="k">as</span> <span class="n">json</span>
|
||||
</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">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">misc</span> <span class="k">as</span> <span class="n">misc</span>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</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">openQCD</span> <span class="k">as</span> <span class="n">openQCD</span>
|
||||
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</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">pandas</span> <span class="k">as</span> <span class="n">pandas</span>
|
||||
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</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">sfcf</span> <span class="k">as</span> <span class="n">sfcf</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
|
|
@ -85,13 +85,13 @@
|
|||
|
||||
<label class="view-source-button" for="mod-bdio-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="nn">ctypes</span>
|
||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span> <span class="nn">hashlib</span>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span> <span class="nn">autograd.numpy</span> <span class="k">as</span> <span class="nn">np</span> <span class="c1"># Thinly-wrapped numpy</span>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">from</span> <span class="nn">..obs</span> <span class="kn">import</span> <span class="n">Obs</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">ctypes</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">hashlib</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">autograd.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-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">Obs</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><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="k">def</span> <span class="nf">read_ADerrors</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_ADerrors</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="w"> </span><span class="sd">""" Extract generic MCMC data from a bdio file</span>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a>
|
||||
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="sd"> read_ADerrors requires bdio to be compiled into a shared library. This can be achieved by</span>
|
||||
|
@ -166,7 +166,7 @@
|
|||
</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a> <span class="k">break</span>
|
||||
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="n">bdio_get_rlen</span><span class="p">(</span><span class="n">fbdio</span><span class="p">)</span>
|
||||
</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a>
|
||||
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="k">def</span> <span class="nf">read_c_double</span><span class="p">():</span>
|
||||
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">read_c_double</span><span class="p">():</span>
|
||||
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a> <span class="n">d_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_double</span>
|
||||
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a> <span class="n">pd_buf</span> <span class="o">=</span> <span class="n">d_buf</span><span class="p">()</span>
|
||||
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a> <span class="n">ppd_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">addressof</span><span class="p">(</span><span class="n">pd_buf</span><span class="p">))</span>
|
||||
|
@ -176,7 +176,7 @@
|
|||
</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a> <span class="n">mean</span> <span class="o">=</span> <span class="n">read_c_double</span><span class="p">()</span>
|
||||
</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'mean'</span><span class="p">,</span> <span class="n">mean</span><span class="p">)</span>
|
||||
</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a>
|
||||
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a> <span class="k">def</span> <span class="nf">read_c_size_t</span><span class="p">():</span>
|
||||
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">read_c_size_t</span><span class="p">():</span>
|
||||
</span><span id="L-93"><a href="#L-93"><span class="linenos"> 93</span></a> <span class="n">d_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_size_t</span>
|
||||
</span><span id="L-94"><a href="#L-94"><span class="linenos"> 94</span></a> <span class="n">pd_buf</span> <span class="o">=</span> <span class="n">d_buf</span><span class="p">()</span>
|
||||
</span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a> <span class="n">ppd_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">addressof</span><span class="p">(</span><span class="n">pd_buf</span><span class="p">))</span>
|
||||
|
@ -247,7 +247,7 @@
|
|||
</span><span id="L-160"><a href="#L-160"><span class="linenos">160</span></a> <span class="k">return</span> <span class="n">return_list</span>
|
||||
</span><span id="L-161"><a href="#L-161"><span class="linenos">161</span></a>
|
||||
</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="k">def</span> <span class="nf">write_ADerrors</span><span class="p">(</span><span class="n">obs_list</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-163"><a href="#L-163"><span class="linenos">163</span></a><span class="k">def</span><span class="w"> </span><span class="nf">write_ADerrors</span><span class="p">(</span><span class="n">obs_list</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-164"><a href="#L-164"><span class="linenos">164</span></a><span class="w"> </span><span class="sd">""" Write Obs to a bdio file according to ADerrors conventions</span>
|
||||
</span><span id="L-165"><a href="#L-165"><span class="linenos">165</span></a>
|
||||
</span><span id="L-166"><a href="#L-166"><span class="linenos">166</span></a><span class="sd"> read_mesons requires bdio to be compiled into a shared library. This can be achieved by</span>
|
||||
|
@ -341,12 +341,12 @@
|
|||
</span><span id="L-254"><a href="#L-254"><span class="linenos">254</span></a>
|
||||
</span><span id="L-255"><a href="#L-255"><span class="linenos">255</span></a> <span class="n">bdio_start_record</span><span class="p">(</span><span class="mh">0x00</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="n">fbdio</span><span class="p">)</span>
|
||||
</span><span id="L-256"><a href="#L-256"><span class="linenos">256</span></a>
|
||||
</span><span id="L-257"><a href="#L-257"><span class="linenos">257</span></a> <span class="k">def</span> <span class="nf">write_c_double</span><span class="p">(</span><span class="n">double</span><span class="p">):</span>
|
||||
</span><span id="L-257"><a href="#L-257"><span class="linenos">257</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">write_c_double</span><span class="p">(</span><span class="n">double</span><span class="p">):</span>
|
||||
</span><span id="L-258"><a href="#L-258"><span class="linenos">258</span></a> <span class="n">pd_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_double</span><span class="p">(</span><span class="n">double</span><span class="p">)</span>
|
||||
</span><span id="L-259"><a href="#L-259"><span class="linenos">259</span></a> <span class="n">ppd_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">addressof</span><span class="p">(</span><span class="n">pd_buf</span><span class="p">))</span>
|
||||
</span><span id="L-260"><a href="#L-260"><span class="linenos">260</span></a> <span class="n">bdio_write_f64</span><span class="p">(</span><span class="n">ppd_buf</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_size_t</span><span class="p">(</span><span class="mi">8</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="n">fbdio</span><span class="p">))</span>
|
||||
</span><span id="L-261"><a href="#L-261"><span class="linenos">261</span></a>
|
||||
</span><span id="L-262"><a href="#L-262"><span class="linenos">262</span></a> <span class="k">def</span> <span class="nf">write_c_size_t</span><span class="p">(</span><span class="n">int32</span><span class="p">):</span>
|
||||
</span><span id="L-262"><a href="#L-262"><span class="linenos">262</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">write_c_size_t</span><span class="p">(</span><span class="n">int32</span><span class="p">):</span>
|
||||
</span><span id="L-263"><a href="#L-263"><span class="linenos">263</span></a> <span class="n">pd_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_size_t</span><span class="p">(</span><span class="n">int32</span><span class="p">)</span>
|
||||
</span><span id="L-264"><a href="#L-264"><span class="linenos">264</span></a> <span class="n">ppd_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">addressof</span><span class="p">(</span><span class="n">pd_buf</span><span class="p">))</span>
|
||||
</span><span id="L-265"><a href="#L-265"><span class="linenos">265</span></a> <span class="n">bdio_write_int32</span><span class="p">(</span><span class="n">ppd_buf</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_size_t</span><span class="p">(</span><span class="mi">4</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="n">fbdio</span><span class="p">))</span>
|
||||
|
@ -377,15 +377,15 @@
|
|||
</span><span id="L-290"><a href="#L-290"><span class="linenos">290</span></a> <span class="k">return</span> <span class="mi">0</span>
|
||||
</span><span id="L-291"><a href="#L-291"><span class="linenos">291</span></a>
|
||||
</span><span id="L-292"><a href="#L-292"><span class="linenos">292</span></a>
|
||||
</span><span id="L-293"><a href="#L-293"><span class="linenos">293</span></a><span class="k">def</span> <span class="nf">_get_kwd</span><span class="p">(</span><span class="n">string</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
|
||||
</span><span id="L-293"><a href="#L-293"><span class="linenos">293</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_get_kwd</span><span class="p">(</span><span class="n">string</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
|
||||
</span><span id="L-294"><a href="#L-294"><span class="linenos">294</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">string</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="mi">1</span><span class="p">)[</span><span class="mi">1</span><span class="p">])</span><span class="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="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-295"><a href="#L-295"><span class="linenos">295</span></a>
|
||||
</span><span id="L-296"><a href="#L-296"><span class="linenos">296</span></a>
|
||||
</span><span id="L-297"><a href="#L-297"><span class="linenos">297</span></a><span class="k">def</span> <span class="nf">_get_corr_name</span><span class="p">(</span><span class="n">string</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
|
||||
</span><span id="L-297"><a href="#L-297"><span class="linenos">297</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_get_corr_name</span><span class="p">(</span><span class="n">string</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
|
||||
</span><span id="L-298"><a href="#L-298"><span class="linenos">298</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">string</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="mi">1</span><span class="p">)[</span><span class="mi">1</span><span class="p">])</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">' NDIM='</span><span class="p">,</span> <span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-299"><a href="#L-299"><span class="linenos">299</span></a>
|
||||
</span><span id="L-300"><a href="#L-300"><span class="linenos">300</span></a>
|
||||
</span><span id="L-301"><a href="#L-301"><span class="linenos">301</span></a><span class="k">def</span> <span class="nf">read_mesons</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-301"><a href="#L-301"><span class="linenos">301</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_mesons</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-302"><a href="#L-302"><span class="linenos">302</span></a><span class="w"> </span><span class="sd">""" Extract mesons data from a bdio file and return it as a dictionary</span>
|
||||
</span><span id="L-303"><a href="#L-303"><span class="linenos">303</span></a>
|
||||
</span><span id="L-304"><a href="#L-304"><span class="linenos">304</span></a><span class="sd"> The dictionary can be accessed with a tuple consisting of (type, source_position, kappa1, kappa2)</span>
|
||||
|
@ -600,7 +600,7 @@
|
|||
</span><span id="L-513"><a href="#L-513"><span class="linenos">513</span></a> <span class="k">return</span> <span class="n">result</span>
|
||||
</span><span id="L-514"><a href="#L-514"><span class="linenos">514</span></a>
|
||||
</span><span id="L-515"><a href="#L-515"><span class="linenos">515</span></a>
|
||||
</span><span id="L-516"><a href="#L-516"><span class="linenos">516</span></a><span class="k">def</span> <span class="nf">read_dSdm</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-516"><a href="#L-516"><span class="linenos">516</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_dSdm</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-517"><a href="#L-517"><span class="linenos">517</span></a><span class="w"> </span><span class="sd">""" Extract dSdm data from a bdio file and return it as a dictionary</span>
|
||||
</span><span id="L-518"><a href="#L-518"><span class="linenos">518</span></a>
|
||||
</span><span id="L-519"><a href="#L-519"><span class="linenos">519</span></a><span class="sd"> The dictionary can be accessed with a tuple consisting of (type, kappa)</span>
|
||||
|
@ -794,7 +794,7 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_ADerrors"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_ADerrors-8"><a href="#read_ADerrors-8"><span class="linenos"> 8</span></a><span class="k">def</span> <span class="nf">read_ADerrors</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</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_ADerrors-8"><a href="#read_ADerrors-8"><span class="linenos"> 8</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_ADerrors</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="read_ADerrors-9"><a href="#read_ADerrors-9"><span class="linenos"> 9</span></a><span class="w"> </span><span class="sd">""" Extract generic MCMC data from a bdio file</span>
|
||||
</span><span id="read_ADerrors-10"><a href="#read_ADerrors-10"><span class="linenos"> 10</span></a>
|
||||
</span><span id="read_ADerrors-11"><a href="#read_ADerrors-11"><span class="linenos"> 11</span></a><span class="sd"> read_ADerrors requires bdio to be compiled into a shared library. This can be achieved by</span>
|
||||
|
@ -869,7 +869,7 @@
|
|||
</span><span id="read_ADerrors-80"><a href="#read_ADerrors-80"><span class="linenos"> 80</span></a> <span class="k">break</span>
|
||||
</span><span id="read_ADerrors-81"><a href="#read_ADerrors-81"><span class="linenos"> 81</span></a> <span class="n">bdio_get_rlen</span><span class="p">(</span><span class="n">fbdio</span><span class="p">)</span>
|
||||
</span><span id="read_ADerrors-82"><a href="#read_ADerrors-82"><span class="linenos"> 82</span></a>
|
||||
</span><span id="read_ADerrors-83"><a href="#read_ADerrors-83"><span class="linenos"> 83</span></a> <span class="k">def</span> <span class="nf">read_c_double</span><span class="p">():</span>
|
||||
</span><span id="read_ADerrors-83"><a href="#read_ADerrors-83"><span class="linenos"> 83</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">read_c_double</span><span class="p">():</span>
|
||||
</span><span id="read_ADerrors-84"><a href="#read_ADerrors-84"><span class="linenos"> 84</span></a> <span class="n">d_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_double</span>
|
||||
</span><span id="read_ADerrors-85"><a href="#read_ADerrors-85"><span class="linenos"> 85</span></a> <span class="n">pd_buf</span> <span class="o">=</span> <span class="n">d_buf</span><span class="p">()</span>
|
||||
</span><span id="read_ADerrors-86"><a href="#read_ADerrors-86"><span class="linenos"> 86</span></a> <span class="n">ppd_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">addressof</span><span class="p">(</span><span class="n">pd_buf</span><span class="p">))</span>
|
||||
|
@ -879,7 +879,7 @@
|
|||
</span><span id="read_ADerrors-90"><a href="#read_ADerrors-90"><span class="linenos"> 90</span></a> <span class="n">mean</span> <span class="o">=</span> <span class="n">read_c_double</span><span class="p">()</span>
|
||||
</span><span id="read_ADerrors-91"><a href="#read_ADerrors-91"><span class="linenos"> 91</span></a> <span class="nb">print</span><span class="p">(</span><span class="s1">'mean'</span><span class="p">,</span> <span class="n">mean</span><span class="p">)</span>
|
||||
</span><span id="read_ADerrors-92"><a href="#read_ADerrors-92"><span class="linenos"> 92</span></a>
|
||||
</span><span id="read_ADerrors-93"><a href="#read_ADerrors-93"><span class="linenos"> 93</span></a> <span class="k">def</span> <span class="nf">read_c_size_t</span><span class="p">():</span>
|
||||
</span><span id="read_ADerrors-93"><a href="#read_ADerrors-93"><span class="linenos"> 93</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">read_c_size_t</span><span class="p">():</span>
|
||||
</span><span id="read_ADerrors-94"><a href="#read_ADerrors-94"><span class="linenos"> 94</span></a> <span class="n">d_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_size_t</span>
|
||||
</span><span id="read_ADerrors-95"><a href="#read_ADerrors-95"><span class="linenos"> 95</span></a> <span class="n">pd_buf</span> <span class="o">=</span> <span class="n">d_buf</span><span class="p">()</span>
|
||||
</span><span id="read_ADerrors-96"><a href="#read_ADerrors-96"><span class="linenos"> 96</span></a> <span class="n">ppd_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">addressof</span><span class="p">(</span><span class="n">pd_buf</span><span class="p">))</span>
|
||||
|
@ -988,7 +988,7 @@ Extracted data</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#write_ADerrors"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="write_ADerrors-164"><a href="#write_ADerrors-164"><span class="linenos">164</span></a><span class="k">def</span> <span class="nf">write_ADerrors</span><span class="p">(</span><span class="n">obs_list</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</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="write_ADerrors-164"><a href="#write_ADerrors-164"><span class="linenos">164</span></a><span class="k">def</span><span class="w"> </span><span class="nf">write_ADerrors</span><span class="p">(</span><span class="n">obs_list</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="write_ADerrors-165"><a href="#write_ADerrors-165"><span class="linenos">165</span></a><span class="w"> </span><span class="sd">""" Write Obs to a bdio file according to ADerrors conventions</span>
|
||||
</span><span id="write_ADerrors-166"><a href="#write_ADerrors-166"><span class="linenos">166</span></a>
|
||||
</span><span id="write_ADerrors-167"><a href="#write_ADerrors-167"><span class="linenos">167</span></a><span class="sd"> read_mesons requires bdio to be compiled into a shared library. This can be achieved by</span>
|
||||
|
@ -1082,12 +1082,12 @@ Extracted data</li>
|
|||
</span><span id="write_ADerrors-255"><a href="#write_ADerrors-255"><span class="linenos">255</span></a>
|
||||
</span><span id="write_ADerrors-256"><a href="#write_ADerrors-256"><span class="linenos">256</span></a> <span class="n">bdio_start_record</span><span class="p">(</span><span class="mh">0x00</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="n">fbdio</span><span class="p">)</span>
|
||||
</span><span id="write_ADerrors-257"><a href="#write_ADerrors-257"><span class="linenos">257</span></a>
|
||||
</span><span id="write_ADerrors-258"><a href="#write_ADerrors-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">write_c_double</span><span class="p">(</span><span class="n">double</span><span class="p">):</span>
|
||||
</span><span id="write_ADerrors-258"><a href="#write_ADerrors-258"><span class="linenos">258</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">write_c_double</span><span class="p">(</span><span class="n">double</span><span class="p">):</span>
|
||||
</span><span id="write_ADerrors-259"><a href="#write_ADerrors-259"><span class="linenos">259</span></a> <span class="n">pd_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_double</span><span class="p">(</span><span class="n">double</span><span class="p">)</span>
|
||||
</span><span id="write_ADerrors-260"><a href="#write_ADerrors-260"><span class="linenos">260</span></a> <span class="n">ppd_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">addressof</span><span class="p">(</span><span class="n">pd_buf</span><span class="p">))</span>
|
||||
</span><span id="write_ADerrors-261"><a href="#write_ADerrors-261"><span class="linenos">261</span></a> <span class="n">bdio_write_f64</span><span class="p">(</span><span class="n">ppd_buf</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_size_t</span><span class="p">(</span><span class="mi">8</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="n">fbdio</span><span class="p">))</span>
|
||||
</span><span id="write_ADerrors-262"><a href="#write_ADerrors-262"><span class="linenos">262</span></a>
|
||||
</span><span id="write_ADerrors-263"><a href="#write_ADerrors-263"><span class="linenos">263</span></a> <span class="k">def</span> <span class="nf">write_c_size_t</span><span class="p">(</span><span class="n">int32</span><span class="p">):</span>
|
||||
</span><span id="write_ADerrors-263"><a href="#write_ADerrors-263"><span class="linenos">263</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">write_c_size_t</span><span class="p">(</span><span class="n">int32</span><span class="p">):</span>
|
||||
</span><span id="write_ADerrors-264"><a href="#write_ADerrors-264"><span class="linenos">264</span></a> <span class="n">pd_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_size_t</span><span class="p">(</span><span class="n">int32</span><span class="p">)</span>
|
||||
</span><span id="write_ADerrors-265"><a href="#write_ADerrors-265"><span class="linenos">265</span></a> <span class="n">ppd_buf</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">addressof</span><span class="p">(</span><span class="n">pd_buf</span><span class="p">))</span>
|
||||
</span><span id="write_ADerrors-266"><a href="#write_ADerrors-266"><span class="linenos">266</span></a> <span class="n">bdio_write_int32</span><span class="p">(</span><span class="n">ppd_buf</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_size_t</span><span class="p">(</span><span class="mi">4</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="n">fbdio</span><span class="p">))</span>
|
||||
|
@ -1156,7 +1156,7 @@ returns 0 is successful</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_mesons"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_mesons-302"><a href="#read_mesons-302"><span class="linenos">302</span></a><span class="k">def</span> <span class="nf">read_mesons</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</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_mesons-302"><a href="#read_mesons-302"><span class="linenos">302</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_mesons</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="read_mesons-303"><a href="#read_mesons-303"><span class="linenos">303</span></a><span class="w"> </span><span class="sd">""" Extract mesons data from a bdio file and return it as a dictionary</span>
|
||||
</span><span id="read_mesons-304"><a href="#read_mesons-304"><span class="linenos">304</span></a>
|
||||
</span><span id="read_mesons-305"><a href="#read_mesons-305"><span class="linenos">305</span></a><span class="sd"> The dictionary can be accessed with a tuple consisting of (type, source_position, kappa1, kappa2)</span>
|
||||
|
@ -1421,7 +1421,7 @@ Extracted meson data</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_dSdm"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_dSdm-517"><a href="#read_dSdm-517"><span class="linenos">517</span></a><span class="k">def</span> <span class="nf">read_dSdm</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</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_dSdm-517"><a href="#read_dSdm-517"><span class="linenos">517</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_dSdm</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">bdio_path</span><span class="o">=</span><span class="s1">'./libbdio.so'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="read_dSdm-518"><a href="#read_dSdm-518"><span class="linenos">518</span></a><span class="w"> </span><span class="sd">""" Extract dSdm data from a bdio file and return it as a dictionary</span>
|
||||
</span><span id="read_dSdm-519"><a href="#read_dSdm-519"><span class="linenos">519</span></a>
|
||||
</span><span id="read_dSdm-520"><a href="#read_dSdm-520"><span class="linenos">520</span></a><span class="sd"> The dictionary can be accessed with a tuple consisting of (type, kappa)</span>
|
||||
|
|
|
@ -94,23 +94,23 @@
|
|||
|
||||
<label class="view-source-button" for="mod-dobs-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">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">defaultdict</span>
|
||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span> <span class="nn">gzip</span>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span> <span class="nn">lxml.etree</span> <span class="k">as</span> <span class="nn">et</span>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">import</span> <span class="nn">getpass</span>
|
||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">import</span> <span class="nn">socket</span>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="kn">import</span> <span class="nn">datetime</span>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">import</span> <span class="nn">json</span>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">import</span> <span class="nn">warnings</span>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="kn">from</span> <span class="nn">..obs</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 class="kn">from</span> <span class="nn">..obs</span> <span class="kn">import</span> <span class="n">_merge_idx</span>
|
||||
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a><span class="kn">from</span> <span class="nn">..covobs</span> <span class="kn">import</span> <span class="n">Covobs</span>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a><span class="kn">from</span> <span class="nn">..</span> <span class="kn">import</span> <span class="n">version</span> <span class="k">as</span> <span class="n">pyerrorsversion</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">from</span><span class="w"> </span><span class="nn">collections</span><span class="w"> </span><span class="kn">import</span> <span class="n">defaultdict</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-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">lxml.etree</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">et</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">getpass</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">socket</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">datetime</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">json</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">warnings</span>
|
||||
</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-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 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">_merge_idx</span>
|
||||
</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">..covobs</span><span class="w"> </span><span class="kn">import</span> <span class="n">Covobs</span>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</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">version</span> <span class="k">as</span> <span class="n">pyerrorsversion</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><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a><span class="c1"># Based on https://stackoverflow.com/a/10076823</span>
|
||||
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a><span class="k">def</span> <span class="nf">_etree_to_dict</span><span class="p">(</span><span class="n">t</span><span class="p">):</span>
|
||||
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_etree_to_dict</span><span class="p">(</span><span class="n">t</span><span class="p">):</span>
|
||||
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a><span class="w"> </span><span class="sd">""" Convert the content of an XML file to a python dict"""</span>
|
||||
</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a> <span class="n">d</span> <span class="o">=</span> <span class="p">{</span><span class="n">t</span><span class="o">.</span><span class="n">tag</span><span class="p">:</span> <span class="p">{}</span> <span class="k">if</span> <span class="n">t</span><span class="o">.</span><span class="n">attrib</span> <span class="k">else</span> <span class="kc">None</span><span class="p">}</span>
|
||||
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a> <span class="n">children</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">t</span><span class="p">)</span>
|
||||
|
@ -134,7 +134,7 @@
|
|||
</span><span id="L-38"><a href="#L-38"><span class="linenos"> 38</span></a> <span class="k">return</span> <span class="n">d</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-41"><a href="#L-41"><span class="linenos"> 41</span></a><span class="k">def</span> <span class="nf">_dict_to_xmlstring</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</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">_dict_to_xmlstring</span><span class="p">(</span><span class="n">d</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="nb">isinstance</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
|
||||
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a> <span class="n">iters</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">d</span><span class="p">:</span>
|
||||
|
@ -162,7 +162,7 @@
|
|||
</span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a> <span class="k">return</span> <span class="n">iters</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><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a><span class="k">def</span> <span class="nf">_dict_to_xmlstring_spaces</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">space</span><span class="o">=</span><span class="s1">' '</span><span class="p">):</span>
|
||||
</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_dict_to_xmlstring_spaces</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">space</span><span class="o">=</span><span class="s1">' '</span><span class="p">):</span>
|
||||
</span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a> <span class="n">s</span> <span class="o">=</span> <span class="n">_dict_to_xmlstring</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
|
||||
</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a> <span class="n">o</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a> <span class="n">c</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
|
@ -181,7 +181,7 @@
|
|||
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a> <span class="k">return</span> <span class="n">o</span>
|
||||
</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a>
|
||||
</span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</span></a>
|
||||
</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a><span class="k">def</span> <span class="nf">create_pobs_string</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">enstag</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a><span class="k">def</span><span class="w"> </span><span class="nf">create_pobs_string</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">enstag</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a><span class="w"> </span><span class="sd">"""Export a list of Obs or structures containing Obs to an xml string</span>
|
||||
</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a><span class="sd"> according to the Zeuthen pobs format.</span>
|
||||
</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a>
|
||||
|
@ -272,7 +272,7 @@
|
|||
</span><span id="L-176"><a href="#L-176"><span class="linenos">176</span></a> <span class="k">return</span> <span class="n">rs</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><span id="L-179"><a href="#L-179"><span class="linenos">179</span></a><span class="k">def</span> <span class="nf">write_pobs</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">enstag</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-179"><a href="#L-179"><span class="linenos">179</span></a><span class="k">def</span><span class="w"> </span><span class="nf">write_pobs</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">enstag</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-180"><a href="#L-180"><span class="linenos">180</span></a><span class="w"> </span><span class="sd">"""Export a list of Obs or structures containing Obs to a .xml.gz file</span>
|
||||
</span><span id="L-181"><a href="#L-181"><span class="linenos">181</span></a><span class="sd"> according to the Zeuthen pobs format.</span>
|
||||
</span><span id="L-182"><a href="#L-182"><span class="linenos">182</span></a>
|
||||
|
@ -319,30 +319,30 @@
|
|||
</span><span id="L-223"><a href="#L-223"><span class="linenos">223</span></a> <span class="n">fp</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
||||
</span><span id="L-224"><a href="#L-224"><span class="linenos">224</span></a>
|
||||
</span><span id="L-225"><a href="#L-225"><span class="linenos">225</span></a>
|
||||
</span><span id="L-226"><a href="#L-226"><span class="linenos">226</span></a><span class="k">def</span> <span class="nf">_import_data</span><span class="p">(</span><span class="n">string</span><span class="p">):</span>
|
||||
</span><span id="L-226"><a href="#L-226"><span class="linenos">226</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_import_data</span><span class="p">(</span><span class="n">string</span><span class="p">):</span>
|
||||
</span><span id="L-227"><a href="#L-227"><span class="linenos">227</span></a> <span class="k">return</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="s2">"["</span> <span class="o">+</span> <span class="s2">","</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">string</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">' +'</span><span class="p">,</span> <span class="s1">' '</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">())</span> <span class="o">+</span> <span class="s2">"]"</span><span class="p">)</span>
|
||||
</span><span id="L-228"><a href="#L-228"><span class="linenos">228</span></a>
|
||||
</span><span id="L-229"><a href="#L-229"><span class="linenos">229</span></a>
|
||||
</span><span id="L-230"><a href="#L-230"><span class="linenos">230</span></a><span class="k">def</span> <span class="nf">_check</span><span class="p">(</span><span class="n">condition</span><span class="p">):</span>
|
||||
</span><span id="L-230"><a href="#L-230"><span class="linenos">230</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_check</span><span class="p">(</span><span class="n">condition</span><span class="p">):</span>
|
||||
</span><span id="L-231"><a href="#L-231"><span class="linenos">231</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">condition</span><span class="p">:</span>
|
||||
</span><span id="L-232"><a href="#L-232"><span class="linenos">232</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"XML file format not supported"</span><span class="p">)</span>
|
||||
</span><span id="L-233"><a href="#L-233"><span class="linenos">233</span></a>
|
||||
</span><span id="L-234"><a href="#L-234"><span class="linenos">234</span></a>
|
||||
</span><span id="L-235"><a href="#L-235"><span class="linenos">235</span></a><span class="k">class</span> <span class="nc">_NoTagInDataError</span><span class="p">(</span><span class="ne">Exception</span><span class="p">):</span>
|
||||
</span><span id="L-235"><a href="#L-235"><span class="linenos">235</span></a><span class="k">class</span><span class="w"> </span><span class="nc">_NoTagInDataError</span><span class="p">(</span><span class="ne">Exception</span><span class="p">):</span>
|
||||
</span><span id="L-236"><a href="#L-236"><span class="linenos">236</span></a><span class="w"> </span><span class="sd">"""Raised when tag is not in data"""</span>
|
||||
</span><span id="L-237"><a href="#L-237"><span class="linenos">237</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">tag</span><span class="p">):</span>
|
||||
</span><span id="L-237"><a href="#L-237"><span class="linenos">237</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">tag</span><span class="p">):</span>
|
||||
</span><span id="L-238"><a href="#L-238"><span class="linenos">238</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">tag</span>
|
||||
</span><span id="L-239"><a href="#L-239"><span class="linenos">239</span></a> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="s1">'Tag </span><span class="si">%s</span><span class="s1"> not in data!'</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">tag</span><span class="p">))</span>
|
||||
</span><span id="L-240"><a href="#L-240"><span class="linenos">240</span></a>
|
||||
</span><span id="L-241"><a href="#L-241"><span class="linenos">241</span></a>
|
||||
</span><span id="L-242"><a href="#L-242"><span class="linenos">242</span></a><span class="k">def</span> <span class="nf">_find_tag</span><span class="p">(</span><span class="n">dat</span><span class="p">,</span> <span class="n">tag</span><span class="p">):</span>
|
||||
</span><span id="L-242"><a href="#L-242"><span class="linenos">242</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_find_tag</span><span class="p">(</span><span class="n">dat</span><span class="p">,</span> <span class="n">tag</span><span class="p">):</span>
|
||||
</span><span id="L-243"><a href="#L-243"><span class="linenos">243</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="nb">len</span><span class="p">(</span><span class="n">dat</span><span class="p">)):</span>
|
||||
</span><span id="L-244"><a href="#L-244"><span class="linenos">244</span></a> <span class="k">if</span> <span class="n">dat</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">tag</span> <span class="o">==</span> <span class="n">tag</span><span class="p">:</span>
|
||||
</span><span id="L-245"><a href="#L-245"><span class="linenos">245</span></a> <span class="k">return</span> <span class="n">i</span>
|
||||
</span><span id="L-246"><a href="#L-246"><span class="linenos">246</span></a> <span class="k">raise</span> <span class="n">_NoTagInDataError</span><span class="p">(</span><span class="n">tag</span><span class="p">)</span>
|
||||
</span><span id="L-247"><a href="#L-247"><span class="linenos">247</span></a>
|
||||
</span><span id="L-248"><a href="#L-248"><span class="linenos">248</span></a>
|
||||
</span><span id="L-249"><a href="#L-249"><span class="linenos">249</span></a><span class="k">def</span> <span class="nf">_import_array</span><span class="p">(</span><span class="n">arr</span><span class="p">):</span>
|
||||
</span><span id="L-249"><a href="#L-249"><span class="linenos">249</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_import_array</span><span class="p">(</span><span class="n">arr</span><span class="p">):</span>
|
||||
</span><span id="L-250"><a href="#L-250"><span class="linenos">250</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">arr</span><span class="p">[</span><span class="n">_find_tag</span><span class="p">(</span><span class="n">arr</span><span class="p">,</span> <span class="s1">'id'</span><span class="p">)]</span><span class="o">.</span><span class="n">text</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
</span><span id="L-251"><a href="#L-251"><span class="linenos">251</span></a> <span class="n">index</span> <span class="o">=</span> <span class="n">_find_tag</span><span class="p">(</span><span class="n">arr</span><span class="p">,</span> <span class="s1">'layout'</span><span class="p">)</span>
|
||||
</span><span id="L-252"><a href="#L-252"><span class="linenos">252</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
|
@ -380,12 +380,12 @@
|
|||
</span><span id="L-284"><a href="#L-284"><span class="linenos">284</span></a> <span class="n">_check</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span>
|
||||
</span><span id="L-285"><a href="#L-285"><span class="linenos">285</span></a>
|
||||
</span><span id="L-286"><a href="#L-286"><span class="linenos">286</span></a>
|
||||
</span><span id="L-287"><a href="#L-287"><span class="linenos">287</span></a><span class="k">def</span> <span class="nf">_import_rdata</span><span class="p">(</span><span class="n">rd</span><span class="p">):</span>
|
||||
</span><span id="L-287"><a href="#L-287"><span class="linenos">287</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_import_rdata</span><span class="p">(</span><span class="n">rd</span><span class="p">):</span>
|
||||
</span><span id="L-288"><a href="#L-288"><span class="linenos">288</span></a> <span class="n">name</span><span class="p">,</span> <span class="n">idx</span><span class="p">,</span> <span class="n">mask</span><span class="p">,</span> <span class="n">deltas</span> <span class="o">=</span> <span class="n">_import_array</span><span class="p">(</span><span class="n">rd</span><span class="p">)</span>
|
||||
</span><span id="L-289"><a href="#L-289"><span class="linenos">289</span></a> <span class="k">return</span> <span class="n">deltas</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idx</span>
|
||||
</span><span id="L-290"><a href="#L-290"><span class="linenos">290</span></a>
|
||||
</span><span id="L-291"><a href="#L-291"><span class="linenos">291</span></a>
|
||||
</span><span id="L-292"><a href="#L-292"><span class="linenos">292</span></a><span class="k">def</span> <span class="nf">_import_cdata</span><span class="p">(</span><span class="n">cd</span><span class="p">):</span>
|
||||
</span><span id="L-292"><a href="#L-292"><span class="linenos">292</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_import_cdata</span><span class="p">(</span><span class="n">cd</span><span class="p">):</span>
|
||||
</span><span id="L-293"><a href="#L-293"><span class="linenos">293</span></a> <span class="n">_check</span><span class="p">(</span><span class="n">cd</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">tag</span> <span class="o">==</span> <span class="s2">"id"</span><span class="p">)</span>
|
||||
</span><span id="L-294"><a href="#L-294"><span class="linenos">294</span></a> <span class="n">_check</span><span class="p">(</span><span class="n">cd</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="o">.</span><span class="n">text</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="o">==</span> <span class="s2">"cov"</span><span class="p">)</span>
|
||||
</span><span id="L-295"><a href="#L-295"><span class="linenos">295</span></a> <span class="n">cov</span> <span class="o">=</span> <span class="n">_import_array</span><span class="p">(</span><span class="n">cd</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
||||
|
@ -393,7 +393,7 @@
|
|||
</span><span id="L-297"><a href="#L-297"><span class="linenos">297</span></a> <span class="k">return</span> <span class="n">cd</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">text</span><span class="o">.</span><span class="n">strip</span><span class="p">(),</span> <span class="n">cov</span><span class="p">,</span> <span class="n">grad</span>
|
||||
</span><span id="L-298"><a href="#L-298"><span class="linenos">298</span></a>
|
||||
</span><span id="L-299"><a href="#L-299"><span class="linenos">299</span></a>
|
||||
</span><span id="L-300"><a href="#L-300"><span class="linenos">300</span></a><span class="k">def</span> <span class="nf">read_pobs</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-300"><a href="#L-300"><span class="linenos">300</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_pobs</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-301"><a href="#L-301"><span class="linenos">301</span></a><span class="w"> </span><span class="sd">"""Import a list of Obs from an xml.gz file in the Zeuthen pobs format.</span>
|
||||
</span><span id="L-302"><a href="#L-302"><span class="linenos">302</span></a>
|
||||
</span><span id="L-303"><a href="#L-303"><span class="linenos">303</span></a><span class="sd"> Tags are not written or recovered automatically.</span>
|
||||
|
@ -493,7 +493,7 @@
|
|||
</span><span id="L-397"><a href="#L-397"><span class="linenos">397</span></a>
|
||||
</span><span id="L-398"><a href="#L-398"><span class="linenos">398</span></a>
|
||||
</span><span id="L-399"><a href="#L-399"><span class="linenos">399</span></a><span class="c1"># this is based on Mattia Bruno's implementation at https://github.com/mbruno46/pyobs/blob/master/pyobs/IO/xml.py</span>
|
||||
</span><span id="L-400"><a href="#L-400"><span class="linenos">400</span></a><span class="k">def</span> <span class="nf">import_dobs_string</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-400"><a href="#L-400"><span class="linenos">400</span></a><span class="k">def</span><span class="w"> </span><span class="nf">import_dobs_string</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-401"><a href="#L-401"><span class="linenos">401</span></a><span class="w"> </span><span class="sd">"""Import a list of Obs from a string in the Zeuthen dobs format.</span>
|
||||
</span><span id="L-402"><a href="#L-402"><span class="linenos">402</span></a>
|
||||
</span><span id="L-403"><a href="#L-403"><span class="linenos">403</span></a><span class="sd"> Tags are not written or recovered automatically.</span>
|
||||
|
@ -667,7 +667,7 @@
|
|||
</span><span id="L-571"><a href="#L-571"><span class="linenos">571</span></a> <span class="k">return</span> <span class="n">res</span>
|
||||
</span><span id="L-572"><a href="#L-572"><span class="linenos">572</span></a>
|
||||
</span><span id="L-573"><a href="#L-573"><span class="linenos">573</span></a>
|
||||
</span><span id="L-574"><a href="#L-574"><span class="linenos">574</span></a><span class="k">def</span> <span class="nf">read_dobs</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-574"><a href="#L-574"><span class="linenos">574</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_dobs</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-575"><a href="#L-575"><span class="linenos">575</span></a><span class="w"> </span><span class="sd">"""Import a list of Obs from an xml.gz file in the Zeuthen dobs format.</span>
|
||||
</span><span id="L-576"><a href="#L-576"><span class="linenos">576</span></a>
|
||||
</span><span id="L-577"><a href="#L-577"><span class="linenos">577</span></a><span class="sd"> Tags are not written or recovered automatically.</span>
|
||||
|
@ -714,7 +714,7 @@
|
|||
</span><span id="L-618"><a href="#L-618"><span class="linenos">618</span></a> <span class="k">return</span> <span class="n">import_dobs_string</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">full_output</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="n">separator_insertion</span><span class="p">)</span>
|
||||
</span><span id="L-619"><a href="#L-619"><span class="linenos">619</span></a>
|
||||
</span><span id="L-620"><a href="#L-620"><span class="linenos">620</span></a>
|
||||
</span><span id="L-621"><a href="#L-621"><span class="linenos">621</span></a><span class="k">def</span> <span class="nf">_dobsdict_to_xmlstring</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-621"><a href="#L-621"><span class="linenos">621</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_dobsdict_to_xmlstring</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-622"><a href="#L-622"><span class="linenos">622</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
|
||||
</span><span id="L-623"><a href="#L-623"><span class="linenos">623</span></a> <span class="n">iters</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
</span><span id="L-624"><a href="#L-624"><span class="linenos">624</span></a> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">d</span><span class="p">:</span>
|
||||
|
@ -754,7 +754,7 @@
|
|||
</span><span id="L-658"><a href="#L-658"><span class="linenos">658</span></a> <span class="k">return</span> <span class="n">iters</span>
|
||||
</span><span id="L-659"><a href="#L-659"><span class="linenos">659</span></a>
|
||||
</span><span id="L-660"><a href="#L-660"><span class="linenos">660</span></a>
|
||||
</span><span id="L-661"><a href="#L-661"><span class="linenos">661</span></a><span class="k">def</span> <span class="nf">_dobsdict_to_xmlstring_spaces</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">space</span><span class="o">=</span><span class="s1">' '</span><span class="p">):</span>
|
||||
</span><span id="L-661"><a href="#L-661"><span class="linenos">661</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_dobsdict_to_xmlstring_spaces</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">space</span><span class="o">=</span><span class="s1">' '</span><span class="p">):</span>
|
||||
</span><span id="L-662"><a href="#L-662"><span class="linenos">662</span></a> <span class="n">s</span> <span class="o">=</span> <span class="n">_dobsdict_to_xmlstring</span><span class="p">(</span><span class="n">d</span><span class="p">)</span>
|
||||
</span><span id="L-663"><a href="#L-663"><span class="linenos">663</span></a> <span class="n">o</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
</span><span id="L-664"><a href="#L-664"><span class="linenos">664</span></a> <span class="n">c</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
|
@ -773,7 +773,7 @@
|
|||
</span><span id="L-677"><a href="#L-677"><span class="linenos">677</span></a> <span class="k">return</span> <span class="n">o</span>
|
||||
</span><span id="L-678"><a href="#L-678"><span class="linenos">678</span></a>
|
||||
</span><span id="L-679"><a href="#L-679"><span class="linenos">679</span></a>
|
||||
</span><span id="L-680"><a href="#L-680"><span class="linenos">680</span></a><span class="k">def</span> <span class="nf">create_dobs_string</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">'dobs v1.0'</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">who</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enstags</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-680"><a href="#L-680"><span class="linenos">680</span></a><span class="k">def</span><span class="w"> </span><span class="nf">create_dobs_string</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">'dobs v1.0'</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">who</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enstags</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-681"><a href="#L-681"><span class="linenos">681</span></a><span class="w"> </span><span class="sd">"""Generate the string for the export of a list of Obs or structures containing Obs</span>
|
||||
</span><span id="L-682"><a href="#L-682"><span class="linenos">682</span></a><span class="sd"> to a .xml.gz file according to the Zeuthen dobs format.</span>
|
||||
</span><span id="L-683"><a href="#L-683"><span class="linenos">683</span></a>
|
||||
|
@ -962,7 +962,7 @@
|
|||
</span><span id="L-866"><a href="#L-866"><span class="linenos">866</span></a> <span class="k">return</span> <span class="n">rs</span>
|
||||
</span><span id="L-867"><a href="#L-867"><span class="linenos">867</span></a>
|
||||
</span><span id="L-868"><a href="#L-868"><span class="linenos">868</span></a>
|
||||
</span><span id="L-869"><a href="#L-869"><span class="linenos">869</span></a><span class="k">def</span> <span class="nf">write_dobs</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">'dobs v1.0'</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">who</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enstags</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-869"><a href="#L-869"><span class="linenos">869</span></a><span class="k">def</span><span class="w"> </span><span class="nf">write_dobs</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">'dobs v1.0'</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">who</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enstags</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-870"><a href="#L-870"><span class="linenos">870</span></a><span class="w"> </span><span class="sd">"""Export a list of Obs or structures containing Obs to a .xml.gz file</span>
|
||||
</span><span id="L-871"><a href="#L-871"><span class="linenos">871</span></a><span class="sd"> according to the Zeuthen dobs format.</span>
|
||||
</span><span id="L-872"><a href="#L-872"><span class="linenos">872</span></a>
|
||||
|
@ -1029,7 +1029,7 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#create_pobs_string"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="create_pobs_string-89"><a href="#create_pobs_string-89"><span class="linenos"> 89</span></a><span class="k">def</span> <span class="nf">create_pobs_string</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">enstag</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="create_pobs_string-89"><a href="#create_pobs_string-89"><span class="linenos"> 89</span></a><span class="k">def</span><span class="w"> </span><span class="nf">create_pobs_string</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">enstag</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="create_pobs_string-90"><a href="#create_pobs_string-90"><span class="linenos"> 90</span></a><span class="w"> </span><span class="sd">"""Export a list of Obs or structures containing Obs to an xml string</span>
|
||||
</span><span id="create_pobs_string-91"><a href="#create_pobs_string-91"><span class="linenos"> 91</span></a><span class="sd"> according to the Zeuthen pobs format.</span>
|
||||
</span><span id="create_pobs_string-92"><a href="#create_pobs_string-92"><span class="linenos"> 92</span></a>
|
||||
|
@ -1165,7 +1165,7 @@ XML formatted string of the input data</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#write_pobs"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="write_pobs-180"><a href="#write_pobs-180"><span class="linenos">180</span></a><span class="k">def</span> <span class="nf">write_pobs</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">enstag</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="write_pobs-180"><a href="#write_pobs-180"><span class="linenos">180</span></a><span class="k">def</span><span class="w"> </span><span class="nf">write_pobs</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">enstag</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="write_pobs-181"><a href="#write_pobs-181"><span class="linenos">181</span></a><span class="w"> </span><span class="sd">"""Export a list of Obs or structures containing Obs to a .xml.gz file</span>
|
||||
</span><span id="write_pobs-182"><a href="#write_pobs-182"><span class="linenos">182</span></a><span class="sd"> according to the Zeuthen pobs format.</span>
|
||||
</span><span id="write_pobs-183"><a href="#write_pobs-183"><span class="linenos">183</span></a>
|
||||
|
@ -1260,7 +1260,7 @@ If True, the output is a gzipped xml. If False, the output is an xml file.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_pobs"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_pobs-301"><a href="#read_pobs-301"><span class="linenos">301</span></a><span class="k">def</span> <span class="nf">read_pobs</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_pobs-301"><a href="#read_pobs-301"><span class="linenos">301</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_pobs</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="read_pobs-302"><a href="#read_pobs-302"><span class="linenos">302</span></a><span class="w"> </span><span class="sd">"""Import a list of Obs from an xml.gz file in the Zeuthen pobs format.</span>
|
||||
</span><span id="read_pobs-303"><a href="#read_pobs-303"><span class="linenos">303</span></a>
|
||||
</span><span id="read_pobs-304"><a href="#read_pobs-304"><span class="linenos">304</span></a><span class="sd"> Tags are not written or recovered automatically.</span>
|
||||
|
@ -1403,7 +1403,7 @@ Imported data and meta-data</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#import_dobs_string"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="import_dobs_string-401"><a href="#import_dobs_string-401"><span class="linenos">401</span></a><span class="k">def</span> <span class="nf">import_dobs_string</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="import_dobs_string-401"><a href="#import_dobs_string-401"><span class="linenos">401</span></a><span class="k">def</span><span class="w"> </span><span class="nf">import_dobs_string</span><span class="p">(</span><span class="n">content</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="import_dobs_string-402"><a href="#import_dobs_string-402"><span class="linenos">402</span></a><span class="w"> </span><span class="sd">"""Import a list of Obs from a string in the Zeuthen dobs format.</span>
|
||||
</span><span id="import_dobs_string-403"><a href="#import_dobs_string-403"><span class="linenos">403</span></a>
|
||||
</span><span id="import_dobs_string-404"><a href="#import_dobs_string-404"><span class="linenos">404</span></a><span class="sd"> Tags are not written or recovered automatically.</span>
|
||||
|
@ -1623,7 +1623,7 @@ Imported data and meta-data</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_dobs"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_dobs-575"><a href="#read_dobs-575"><span class="linenos">575</span></a><span class="k">def</span> <span class="nf">read_dobs</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_dobs-575"><a href="#read_dobs-575"><span class="linenos">575</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_dobs</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">separator_insertion</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="read_dobs-576"><a href="#read_dobs-576"><span class="linenos">576</span></a><span class="w"> </span><span class="sd">"""Import a list of Obs from an xml.gz file in the Zeuthen dobs format.</span>
|
||||
</span><span id="read_dobs-577"><a href="#read_dobs-577"><span class="linenos">577</span></a>
|
||||
</span><span id="read_dobs-578"><a href="#read_dobs-578"><span class="linenos">578</span></a><span class="sd"> Tags are not written or recovered automatically.</span>
|
||||
|
@ -1718,7 +1718,7 @@ Imported data and meta-data</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#create_dobs_string"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="create_dobs_string-681"><a href="#create_dobs_string-681"><span class="linenos">681</span></a><span class="k">def</span> <span class="nf">create_dobs_string</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">'dobs v1.0'</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">who</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enstags</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="create_dobs_string-681"><a href="#create_dobs_string-681"><span class="linenos">681</span></a><span class="k">def</span><span class="w"> </span><span class="nf">create_dobs_string</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">'dobs v1.0'</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">who</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enstags</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="create_dobs_string-682"><a href="#create_dobs_string-682"><span class="linenos">682</span></a><span class="w"> </span><span class="sd">"""Generate the string for the export of a list of Obs or structures containing Obs</span>
|
||||
</span><span id="create_dobs_string-683"><a href="#create_dobs_string-683"><span class="linenos">683</span></a><span class="sd"> to a .xml.gz file according to the Zeuthen dobs format.</span>
|
||||
</span><span id="create_dobs_string-684"><a href="#create_dobs_string-684"><span class="linenos">684</span></a>
|
||||
|
@ -1956,7 +1956,7 @@ XML string generated from the data</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#write_dobs"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="write_dobs-870"><a href="#write_dobs-870"><span class="linenos">870</span></a><span class="k">def</span> <span class="nf">write_dobs</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">'dobs v1.0'</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">who</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enstags</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="write_dobs-870"><a href="#write_dobs-870"><span class="linenos">870</span></a><span class="k">def</span><span class="w"> </span><span class="nf">write_dobs</span><span class="p">(</span><span class="n">obsl</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">spec</span><span class="o">=</span><span class="s1">'dobs v1.0'</span><span class="p">,</span> <span class="n">origin</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">symbol</span><span class="o">=</span><span class="p">[],</span> <span class="n">who</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enstags</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="write_dobs-871"><a href="#write_dobs-871"><span class="linenos">871</span></a><span class="w"> </span><span class="sd">"""Export a list of Obs or structures containing Obs to a .xml.gz file</span>
|
||||
</span><span id="write_dobs-872"><a href="#write_dobs-872"><span class="linenos">872</span></a><span class="sd"> according to the Zeuthen dobs format.</span>
|
||||
</span><span id="write_dobs-873"><a href="#write_dobs-873"><span class="linenos">873</span></a>
|
||||
|
|
|
@ -103,18 +103,18 @@
|
|||
|
||||
<label class="view-source-button" for="mod-hadrons-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="nn">os</span>
|
||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">Counter</span>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span> <span class="nn">h5py</span>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">from</span> <span class="nn">pathlib</span> <span class="kn">import</span> <span class="n">Path</span>
|
||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="kn">from</span> <span class="nn">..obs</span> <span class="kn">import</span> <span class="n">Obs</span><span class="p">,</span> <span class="n">CObs</span>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">from</span> <span class="nn">..correlators</span> <span class="kn">import</span> <span class="n">Corr</span>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">from</span> <span class="nn">..dirac</span> <span class="kn">import</span> <span class="n">epsilon_tensor_rank4</span>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">from</span> <span class="nn">.misc</span> <span class="kn">import</span> <span class="n">fit_t0</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">os</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">collections</span><span class="w"> </span><span class="kn">import</span> <span class="n">Counter</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">h5py</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">pathlib</span><span class="w"> </span><span class="kn">import</span> <span class="n">Path</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">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
||||
</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 class="p">,</span> <span class="n">CObs</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-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">..dirac</span><span class="w"> </span><span class="kn">import</span> <span class="n">epsilon_tensor_rank4</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">.misc</span><span class="w"> </span><span class="kn">import</span> <span class="n">fit_t0</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-12"><a href="#L-12"><span class="linenos"> 12</span></a><span class="k">def</span> <span class="nf">_get_files</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</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">_get_files</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a> <span class="n">ls</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="n">path</span><span class="p">)</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="c1"># Clean up file list</span>
|
||||
|
@ -123,7 +123,7 @@
|
|||
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">files</span><span class="p">:</span>
|
||||
</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'No files starting with'</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="s1">'in folder'</span><span class="p">,</span> <span class="n">path</span><span class="p">)</span>
|
||||
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a>
|
||||
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a> <span class="k">def</span> <span class="nf">get_cnfg_number</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
|
||||
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">get_cnfg_number</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
|
||||
</span><span id="L-22"><a href="#L-22"><span class="linenos"> 22</span></a> <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">n</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">".h5"</span><span class="p">,</span> <span class="s2">""</span><span class="p">)[</span><span class="nb">len</span><span class="p">(</span><span class="n">filestem</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">:])</span> <span class="c1"># From python 3.9 onward the safer 'removesuffix' method can be used.</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 class="c1"># Sort according to configuration number</span>
|
||||
|
@ -159,7 +159,7 @@
|
|||
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a> <span class="k">return</span> <span class="n">filtered_files</span><span class="p">,</span> <span class="n">idx</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-57"><a href="#L-57"><span class="linenos"> 57</span></a><span class="k">def</span> <span class="nf">read_hd5</span><span class="p">(</span><span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">attrs</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">part</span><span class="o">=</span><span class="s2">"real"</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">read_hd5</span><span class="p">(</span><span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">attrs</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">part</span><span class="o">=</span><span class="s2">"real"</span><span class="p">):</span>
|
||||
</span><span id="L-58"><a href="#L-58"><span class="linenos"> 58</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">'''Read hadrons hdf5 file and extract entry based on attributes.</span>
|
||||
</span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a>
|
||||
</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -245,7 +245,7 @@
|
|||
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a> <span class="k">return</span> <span class="n">corr</span>
|
||||
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a>
|
||||
</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">def</span> <span class="nf">read_meson_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">meson</span><span class="o">=</span><span class="s1">'meson_0'</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gammas</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_meson_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">meson</span><span class="o">=</span><span class="s1">'meson_0'</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gammas</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">'''Read hadrons meson hdf5 file and extract the meson labeled 'meson'</span>
|
||||
</span><span id="L-145"><a href="#L-145"><span class="linenos">145</span></a>
|
||||
</span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -284,7 +284,7 @@
|
|||
</span><span id="L-179"><a href="#L-179"><span class="linenos">179</span></a> <span class="n">part</span><span class="o">=</span><span class="s2">"real"</span><span class="p">)</span>
|
||||
</span><span id="L-180"><a href="#L-180"><span class="linenos">180</span></a>
|
||||
</span><span id="L-181"><a href="#L-181"><span class="linenos">181</span></a>
|
||||
</span><span id="L-182"><a href="#L-182"><span class="linenos">182</span></a><span class="k">def</span> <span class="nf">_extract_real_arrays</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">files</span><span class="p">,</span> <span class="n">tree</span><span class="p">,</span> <span class="n">keys</span><span class="p">):</span>
|
||||
</span><span id="L-182"><a href="#L-182"><span class="linenos">182</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_extract_real_arrays</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">files</span><span class="p">,</span> <span class="n">tree</span><span class="p">,</span> <span class="n">keys</span><span class="p">):</span>
|
||||
</span><span id="L-183"><a href="#L-183"><span class="linenos">183</span></a> <span class="n">corr_data</span> <span class="o">=</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">key</span> <span class="ow">in</span> <span class="n">keys</span><span class="p">:</span>
|
||||
</span><span id="L-185"><a href="#L-185"><span class="linenos">185</span></a> <span class="n">corr_data</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -302,7 +302,7 @@
|
|||
</span><span id="L-197"><a href="#L-197"><span class="linenos">197</span></a> <span class="k">return</span> <span class="n">corr_data</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><span id="L-200"><a href="#L-200"><span class="linenos">200</span></a><span class="k">def</span> <span class="nf">extract_t0_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">obs</span><span class="o">=</span><span class="s1">'Clover energy density'</span><span class="p">,</span> <span class="n">fit_range</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-200"><a href="#L-200"><span class="linenos">200</span></a><span class="k">def</span><span class="w"> </span><span class="nf">extract_t0_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">obs</span><span class="o">=</span><span class="s1">'Clover energy density'</span><span class="p">,</span> <span class="n">fit_range</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-201"><a href="#L-201"><span class="linenos">201</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">'''Read hadrons FlowObservables hdf5 file and extract t0</span>
|
||||
</span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a>
|
||||
</span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -350,7 +350,7 @@
|
|||
</span><span id="L-245"><a href="#L-245"><span class="linenos">245</span></a> <span class="k">return</span> <span class="n">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="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'plot_fit'</span><span class="p">))</span>
|
||||
</span><span id="L-246"><a href="#L-246"><span class="linenos">246</span></a>
|
||||
</span><span id="L-247"><a href="#L-247"><span class="linenos">247</span></a>
|
||||
</span><span id="L-248"><a href="#L-248"><span class="linenos">248</span></a><span class="k">def</span> <span class="nf">read_DistillationContraction_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">diagrams</span><span class="o">=</span><span class="p">[</span><span class="s2">"direct"</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-248"><a href="#L-248"><span class="linenos">248</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_DistillationContraction_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">diagrams</span><span class="o">=</span><span class="p">[</span><span class="s2">"direct"</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-249"><a href="#L-249"><span class="linenos">249</span></a><span class="w"> </span><span class="sd">"""Read hadrons DistillationContraction hdf5 files in given directory structure</span>
|
||||
</span><span id="L-250"><a href="#L-250"><span class="linenos">250</span></a>
|
||||
</span><span id="L-251"><a href="#L-251"><span class="linenos">251</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -447,16 +447,16 @@
|
|||
</span><span id="L-342"><a href="#L-342"><span class="linenos">342</span></a> <span class="k">return</span> <span class="n">res_dict</span>
|
||||
</span><span id="L-343"><a href="#L-343"><span class="linenos">343</span></a>
|
||||
</span><span id="L-344"><a href="#L-344"><span class="linenos">344</span></a>
|
||||
</span><span id="L-345"><a href="#L-345"><span class="linenos">345</span></a><span class="k">class</span> <span class="nc">Npr_matrix</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">):</span>
|
||||
</span><span id="L-345"><a href="#L-345"><span class="linenos">345</span></a><span class="k">class</span><span class="w"> </span><span class="nc">Npr_matrix</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">):</span>
|
||||
</span><span id="L-346"><a href="#L-346"><span class="linenos">346</span></a>
|
||||
</span><span id="L-347"><a href="#L-347"><span class="linenos">347</span></a> <span class="k">def</span> <span class="fm">__new__</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">input_array</span><span class="p">,</span> <span class="n">mom_in</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">mom_out</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-347"><a href="#L-347"><span class="linenos">347</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__new__</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">input_array</span><span class="p">,</span> <span class="n">mom_in</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">mom_out</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-348"><a href="#L-348"><span class="linenos">348</span></a> <span class="n">obj</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">input_array</span><span class="p">)</span><span class="o">.</span><span class="n">view</span><span class="p">(</span><span class="bp">cls</span><span class="p">)</span>
|
||||
</span><span id="L-349"><a href="#L-349"><span class="linenos">349</span></a> <span class="n">obj</span><span class="o">.</span><span class="n">mom_in</span> <span class="o">=</span> <span class="n">mom_in</span>
|
||||
</span><span id="L-350"><a href="#L-350"><span class="linenos">350</span></a> <span class="n">obj</span><span class="o">.</span><span class="n">mom_out</span> <span class="o">=</span> <span class="n">mom_out</span>
|
||||
</span><span id="L-351"><a href="#L-351"><span class="linenos">351</span></a> <span class="k">return</span> <span class="n">obj</span>
|
||||
</span><span id="L-352"><a href="#L-352"><span class="linenos">352</span></a>
|
||||
</span><span id="L-353"><a href="#L-353"><span class="linenos">353</span></a> <span class="nd">@property</span>
|
||||
</span><span id="L-354"><a href="#L-354"><span class="linenos">354</span></a> <span class="k">def</span> <span class="nf">g5H</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-354"><a href="#L-354"><span class="linenos">354</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">g5H</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-355"><a href="#L-355"><span class="linenos">355</span></a><span class="w"> </span><span class="sd">"""Gamma_5 hermitean conjugate</span>
|
||||
</span><span id="L-356"><a href="#L-356"><span class="linenos">356</span></a>
|
||||
</span><span id="L-357"><a href="#L-357"><span class="linenos">357</span></a><span class="sd"> Uses the fact that the propagator is gamma5 hermitean, so just the</span>
|
||||
|
@ -466,7 +466,7 @@
|
|||
</span><span id="L-361"><a href="#L-361"><span class="linenos">361</span></a> <span class="n">mom_in</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mom_out</span><span class="p">,</span>
|
||||
</span><span id="L-362"><a href="#L-362"><span class="linenos">362</span></a> <span class="n">mom_out</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mom_in</span><span class="p">)</span>
|
||||
</span><span id="L-363"><a href="#L-363"><span class="linenos">363</span></a>
|
||||
</span><span id="L-364"><a href="#L-364"><span class="linenos">364</span></a> <span class="k">def</span> <span class="nf">_propagate_mom</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
|
||||
</span><span id="L-364"><a href="#L-364"><span class="linenos">364</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_propagate_mom</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
|
||||
</span><span id="L-365"><a href="#L-365"><span class="linenos">365</span></a> <span class="n">s_mom</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="L-366"><a href="#L-366"><span class="linenos">366</span></a> <span class="n">o_mom</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="L-367"><a href="#L-367"><span class="linenos">367</span></a> <span class="k">if</span> <span class="n">s_mom</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">o_mom</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
||||
|
@ -474,20 +474,20 @@
|
|||
</span><span id="L-369"><a href="#L-369"><span class="linenos">369</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="n">name</span> <span class="o">+</span> <span class="s1">' does not match.'</span><span class="p">)</span>
|
||||
</span><span id="L-370"><a href="#L-370"><span class="linenos">370</span></a> <span class="k">return</span> <span class="n">o_mom</span> <span class="k">if</span> <span class="n">o_mom</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">s_mom</span>
|
||||
</span><span id="L-371"><a href="#L-371"><span class="linenos">371</span></a>
|
||||
</span><span id="L-372"><a href="#L-372"><span class="linenos">372</span></a> <span class="k">def</span> <span class="fm">__matmul__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
|
||||
</span><span id="L-372"><a href="#L-372"><span class="linenos">372</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__matmul__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
|
||||
</span><span id="L-373"><a href="#L-373"><span class="linenos">373</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="fm">__new__</span><span class="p">(</span><span class="n">Npr_matrix</span><span class="p">,</span>
|
||||
</span><span id="L-374"><a href="#L-374"><span class="linenos">374</span></a> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__matmul__</span><span class="p">(</span><span class="n">other</span><span class="p">),</span>
|
||||
</span><span id="L-375"><a href="#L-375"><span class="linenos">375</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_propagate_mom</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="s1">'mom_in'</span><span class="p">),</span>
|
||||
</span><span id="L-376"><a href="#L-376"><span class="linenos">376</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_propagate_mom</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="s1">'mom_out'</span><span class="p">))</span>
|
||||
</span><span id="L-377"><a href="#L-377"><span class="linenos">377</span></a>
|
||||
</span><span id="L-378"><a href="#L-378"><span class="linenos">378</span></a> <span class="k">def</span> <span class="nf">__array_finalize__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">obj</span><span class="p">):</span>
|
||||
</span><span id="L-378"><a href="#L-378"><span class="linenos">378</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">__array_finalize__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">obj</span><span class="p">):</span>
|
||||
</span><span id="L-379"><a href="#L-379"><span class="linenos">379</span></a> <span class="k">if</span> <span class="n">obj</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
</span><span id="L-380"><a href="#L-380"><span class="linenos">380</span></a> <span class="k">return</span>
|
||||
</span><span id="L-381"><a href="#L-381"><span class="linenos">381</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">mom_in</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s1">'mom_in'</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="L-382"><a href="#L-382"><span class="linenos">382</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">mom_out</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s1">'mom_out'</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="L-383"><a href="#L-383"><span class="linenos">383</span></a>
|
||||
</span><span id="L-384"><a href="#L-384"><span class="linenos">384</span></a>
|
||||
</span><span id="L-385"><a href="#L-385"><span class="linenos">385</span></a><span class="k">def</span> <span class="nf">read_ExternalLeg_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-385"><a href="#L-385"><span class="linenos">385</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_ExternalLeg_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-386"><a href="#L-386"><span class="linenos">386</span></a><span class="w"> </span><span class="sd">"""Read hadrons ExternalLeg hdf5 file and output an array of CObs</span>
|
||||
</span><span id="L-387"><a href="#L-387"><span class="linenos">387</span></a>
|
||||
</span><span id="L-388"><a href="#L-388"><span class="linenos">388</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -532,7 +532,7 @@
|
|||
</span><span id="L-427"><a href="#L-427"><span class="linenos">427</span></a> <span class="k">return</span> <span class="n">Npr_matrix</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">mom_in</span><span class="o">=</span><span class="n">mom</span><span class="p">)</span>
|
||||
</span><span id="L-428"><a href="#L-428"><span class="linenos">428</span></a>
|
||||
</span><span id="L-429"><a href="#L-429"><span class="linenos">429</span></a>
|
||||
</span><span id="L-430"><a href="#L-430"><span class="linenos">430</span></a><span class="k">def</span> <span class="nf">read_Bilinear_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-430"><a href="#L-430"><span class="linenos">430</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_Bilinear_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="L-431"><a href="#L-431"><span class="linenos">431</span></a><span class="w"> </span><span class="sd">"""Read hadrons Bilinear hdf5 file and output an array of CObs</span>
|
||||
</span><span id="L-432"><a href="#L-432"><span class="linenos">432</span></a>
|
||||
</span><span id="L-433"><a href="#L-433"><span class="linenos">433</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -591,7 +591,7 @@
|
|||
</span><span id="L-486"><a href="#L-486"><span class="linenos">486</span></a> <span class="k">return</span> <span class="n">result_dict</span>
|
||||
</span><span id="L-487"><a href="#L-487"><span class="linenos">487</span></a>
|
||||
</span><span id="L-488"><a href="#L-488"><span class="linenos">488</span></a>
|
||||
</span><span id="L-489"><a href="#L-489"><span class="linenos">489</span></a><span class="k">def</span> <span class="nf">read_Fourquark_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">vertices</span><span class="o">=</span><span class="p">[</span><span class="s2">"VA"</span><span class="p">,</span> <span class="s2">"AV"</span><span class="p">]):</span>
|
||||
</span><span id="L-489"><a href="#L-489"><span class="linenos">489</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_Fourquark_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">vertices</span><span class="o">=</span><span class="p">[</span><span class="s2">"VA"</span><span class="p">,</span> <span class="s2">"AV"</span><span class="p">]):</span>
|
||||
</span><span id="L-490"><a href="#L-490"><span class="linenos">490</span></a><span class="w"> </span><span class="sd">"""Read hadrons FourquarkFullyConnected hdf5 file and output an array of CObs</span>
|
||||
</span><span id="L-491"><a href="#L-491"><span class="linenos">491</span></a>
|
||||
</span><span id="L-492"><a href="#L-492"><span class="linenos">492</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -677,7 +677,7 @@
|
|||
</span><span id="L-572"><a href="#L-572"><span class="linenos">572</span></a> <span class="k">return</span> <span class="n">result_dict</span>
|
||||
</span><span id="L-573"><a href="#L-573"><span class="linenos">573</span></a>
|
||||
</span><span id="L-574"><a href="#L-574"><span class="linenos">574</span></a>
|
||||
</span><span id="L-575"><a href="#L-575"><span class="linenos">575</span></a><span class="k">def</span> <span class="nf">_get_lorentz_names</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
|
||||
</span><span id="L-575"><a href="#L-575"><span class="linenos">575</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_get_lorentz_names</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
|
||||
</span><span id="L-576"><a href="#L-576"><span class="linenos">576</span></a> <span class="n">lorentz_index</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'X'</span><span class="p">,</span> <span class="s1">'Y'</span><span class="p">,</span> <span class="s1">'Z'</span><span class="p">,</span> <span class="s1">'T'</span><span class="p">]</span>
|
||||
</span><span id="L-577"><a href="#L-577"><span class="linenos">577</span></a>
|
||||
</span><span id="L-578"><a href="#L-578"><span class="linenos">578</span></a> <span class="n">res</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -733,7 +733,7 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_hd5"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_hd5-58"><a href="#read_hd5-58"><span class="linenos"> 58</span></a><span class="k">def</span> <span class="nf">read_hd5</span><span class="p">(</span><span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">attrs</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">part</span><span class="o">=</span><span class="s2">"real"</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_hd5-58"><a href="#read_hd5-58"><span class="linenos"> 58</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_hd5</span><span class="p">(</span><span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">attrs</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">part</span><span class="o">=</span><span class="s2">"real"</span><span class="p">):</span>
|
||||
</span><span id="read_hd5-59"><a href="#read_hd5-59"><span class="linenos"> 59</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">'''Read hadrons hdf5 file and extract entry based on attributes.</span>
|
||||
</span><span id="read_hd5-60"><a href="#read_hd5-60"><span class="linenos"> 60</span></a>
|
||||
</span><span id="read_hd5-61"><a href="#read_hd5-61"><span class="linenos"> 61</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -871,7 +871,7 @@ Correlator of the source sink combination in question.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_meson_hd5"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_meson_hd5-144"><a href="#read_meson_hd5-144"><span class="linenos">144</span></a><span class="k">def</span> <span class="nf">read_meson_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">meson</span><span class="o">=</span><span class="s1">'meson_0'</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gammas</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_meson_hd5-144"><a href="#read_meson_hd5-144"><span class="linenos">144</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_meson_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">meson</span><span class="o">=</span><span class="s1">'meson_0'</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">gammas</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="read_meson_hd5-145"><a href="#read_meson_hd5-145"><span class="linenos">145</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">'''Read hadrons meson hdf5 file and extract the meson labeled 'meson'</span>
|
||||
</span><span id="read_meson_hd5-146"><a href="#read_meson_hd5-146"><span class="linenos">146</span></a>
|
||||
</span><span id="read_meson_hd5-147"><a href="#read_meson_hd5-147"><span class="linenos">147</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -955,7 +955,7 @@ Correlator of the source sink combination in question.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#extract_t0_hd5"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="extract_t0_hd5-201"><a href="#extract_t0_hd5-201"><span class="linenos">201</span></a><span class="k">def</span> <span class="nf">extract_t0_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">obs</span><span class="o">=</span><span class="s1">'Clover energy density'</span><span class="p">,</span> <span class="n">fit_range</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="extract_t0_hd5-201"><a href="#extract_t0_hd5-201"><span class="linenos">201</span></a><span class="k">def</span><span class="w"> </span><span class="nf">extract_t0_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">obs</span><span class="o">=</span><span class="s1">'Clover energy density'</span><span class="p">,</span> <span class="n">fit_range</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="extract_t0_hd5-202"><a href="#extract_t0_hd5-202"><span class="linenos">202</span></a><span class="w"> </span><span class="sa">r</span><span class="sd">'''Read hadrons FlowObservables hdf5 file and extract t0</span>
|
||||
</span><span id="extract_t0_hd5-203"><a href="#extract_t0_hd5-203"><span class="linenos">203</span></a>
|
||||
</span><span id="extract_t0_hd5-204"><a href="#extract_t0_hd5-204"><span class="linenos">204</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -1041,7 +1041,7 @@ If true, the fit for the extraction of t0 is shown together with the data.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_DistillationContraction_hd5"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_DistillationContraction_hd5-249"><a href="#read_DistillationContraction_hd5-249"><span class="linenos">249</span></a><span class="k">def</span> <span class="nf">read_DistillationContraction_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">diagrams</span><span class="o">=</span><span class="p">[</span><span class="s2">"direct"</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_DistillationContraction_hd5-249"><a href="#read_DistillationContraction_hd5-249"><span class="linenos">249</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_DistillationContraction_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">diagrams</span><span class="o">=</span><span class="p">[</span><span class="s2">"direct"</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="read_DistillationContraction_hd5-250"><a href="#read_DistillationContraction_hd5-250"><span class="linenos">250</span></a><span class="w"> </span><span class="sd">"""Read hadrons DistillationContraction hdf5 files in given directory structure</span>
|
||||
</span><span id="read_DistillationContraction_hd5-251"><a href="#read_DistillationContraction_hd5-251"><span class="linenos">251</span></a>
|
||||
</span><span id="read_DistillationContraction_hd5-252"><a href="#read_DistillationContraction_hd5-252"><span class="linenos">252</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -1175,16 +1175,16 @@ extracted DistillationContration data</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#Npr_matrix"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Npr_matrix-346"><a href="#Npr_matrix-346"><span class="linenos">346</span></a><span class="k">class</span> <span class="nc">Npr_matrix</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Npr_matrix-346"><a href="#Npr_matrix-346"><span class="linenos">346</span></a><span class="k">class</span><span class="w"> </span><span class="nc">Npr_matrix</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">):</span>
|
||||
</span><span id="Npr_matrix-347"><a href="#Npr_matrix-347"><span class="linenos">347</span></a>
|
||||
</span><span id="Npr_matrix-348"><a href="#Npr_matrix-348"><span class="linenos">348</span></a> <span class="k">def</span> <span class="fm">__new__</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">input_array</span><span class="p">,</span> <span class="n">mom_in</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">mom_out</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="Npr_matrix-348"><a href="#Npr_matrix-348"><span class="linenos">348</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__new__</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">input_array</span><span class="p">,</span> <span class="n">mom_in</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">mom_out</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="Npr_matrix-349"><a href="#Npr_matrix-349"><span class="linenos">349</span></a> <span class="n">obj</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">input_array</span><span class="p">)</span><span class="o">.</span><span class="n">view</span><span class="p">(</span><span class="bp">cls</span><span class="p">)</span>
|
||||
</span><span id="Npr_matrix-350"><a href="#Npr_matrix-350"><span class="linenos">350</span></a> <span class="n">obj</span><span class="o">.</span><span class="n">mom_in</span> <span class="o">=</span> <span class="n">mom_in</span>
|
||||
</span><span id="Npr_matrix-351"><a href="#Npr_matrix-351"><span class="linenos">351</span></a> <span class="n">obj</span><span class="o">.</span><span class="n">mom_out</span> <span class="o">=</span> <span class="n">mom_out</span>
|
||||
</span><span id="Npr_matrix-352"><a href="#Npr_matrix-352"><span class="linenos">352</span></a> <span class="k">return</span> <span class="n">obj</span>
|
||||
</span><span id="Npr_matrix-353"><a href="#Npr_matrix-353"><span class="linenos">353</span></a>
|
||||
</span><span id="Npr_matrix-354"><a href="#Npr_matrix-354"><span class="linenos">354</span></a> <span class="nd">@property</span>
|
||||
</span><span id="Npr_matrix-355"><a href="#Npr_matrix-355"><span class="linenos">355</span></a> <span class="k">def</span> <span class="nf">g5H</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Npr_matrix-355"><a href="#Npr_matrix-355"><span class="linenos">355</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">g5H</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Npr_matrix-356"><a href="#Npr_matrix-356"><span class="linenos">356</span></a><span class="w"> </span><span class="sd">"""Gamma_5 hermitean conjugate</span>
|
||||
</span><span id="Npr_matrix-357"><a href="#Npr_matrix-357"><span class="linenos">357</span></a>
|
||||
</span><span id="Npr_matrix-358"><a href="#Npr_matrix-358"><span class="linenos">358</span></a><span class="sd"> Uses the fact that the propagator is gamma5 hermitean, so just the</span>
|
||||
|
@ -1194,7 +1194,7 @@ extracted DistillationContration data</li>
|
|||
</span><span id="Npr_matrix-362"><a href="#Npr_matrix-362"><span class="linenos">362</span></a> <span class="n">mom_in</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mom_out</span><span class="p">,</span>
|
||||
</span><span id="Npr_matrix-363"><a href="#Npr_matrix-363"><span class="linenos">363</span></a> <span class="n">mom_out</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">mom_in</span><span class="p">)</span>
|
||||
</span><span id="Npr_matrix-364"><a href="#Npr_matrix-364"><span class="linenos">364</span></a>
|
||||
</span><span id="Npr_matrix-365"><a href="#Npr_matrix-365"><span class="linenos">365</span></a> <span class="k">def</span> <span class="nf">_propagate_mom</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
|
||||
</span><span id="Npr_matrix-365"><a href="#Npr_matrix-365"><span class="linenos">365</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_propagate_mom</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
|
||||
</span><span id="Npr_matrix-366"><a href="#Npr_matrix-366"><span class="linenos">366</span></a> <span class="n">s_mom</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="Npr_matrix-367"><a href="#Npr_matrix-367"><span class="linenos">367</span></a> <span class="n">o_mom</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="Npr_matrix-368"><a href="#Npr_matrix-368"><span class="linenos">368</span></a> <span class="k">if</span> <span class="n">s_mom</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">o_mom</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
||||
|
@ -1202,13 +1202,13 @@ extracted DistillationContration data</li>
|
|||
</span><span id="Npr_matrix-370"><a href="#Npr_matrix-370"><span class="linenos">370</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="n">name</span> <span class="o">+</span> <span class="s1">' does not match.'</span><span class="p">)</span>
|
||||
</span><span id="Npr_matrix-371"><a href="#Npr_matrix-371"><span class="linenos">371</span></a> <span class="k">return</span> <span class="n">o_mom</span> <span class="k">if</span> <span class="n">o_mom</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">s_mom</span>
|
||||
</span><span id="Npr_matrix-372"><a href="#Npr_matrix-372"><span class="linenos">372</span></a>
|
||||
</span><span id="Npr_matrix-373"><a href="#Npr_matrix-373"><span class="linenos">373</span></a> <span class="k">def</span> <span class="fm">__matmul__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
|
||||
</span><span id="Npr_matrix-373"><a href="#Npr_matrix-373"><span class="linenos">373</span></a> <span class="k">def</span><span class="w"> </span><span class="fm">__matmul__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
|
||||
</span><span id="Npr_matrix-374"><a href="#Npr_matrix-374"><span class="linenos">374</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="fm">__new__</span><span class="p">(</span><span class="n">Npr_matrix</span><span class="p">,</span>
|
||||
</span><span id="Npr_matrix-375"><a href="#Npr_matrix-375"><span class="linenos">375</span></a> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__matmul__</span><span class="p">(</span><span class="n">other</span><span class="p">),</span>
|
||||
</span><span id="Npr_matrix-376"><a href="#Npr_matrix-376"><span class="linenos">376</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_propagate_mom</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="s1">'mom_in'</span><span class="p">),</span>
|
||||
</span><span id="Npr_matrix-377"><a href="#Npr_matrix-377"><span class="linenos">377</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_propagate_mom</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="s1">'mom_out'</span><span class="p">))</span>
|
||||
</span><span id="Npr_matrix-378"><a href="#Npr_matrix-378"><span class="linenos">378</span></a>
|
||||
</span><span id="Npr_matrix-379"><a href="#Npr_matrix-379"><span class="linenos">379</span></a> <span class="k">def</span> <span class="nf">__array_finalize__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">obj</span><span class="p">):</span>
|
||||
</span><span id="Npr_matrix-379"><a href="#Npr_matrix-379"><span class="linenos">379</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">__array_finalize__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">obj</span><span class="p">):</span>
|
||||
</span><span id="Npr_matrix-380"><a href="#Npr_matrix-380"><span class="linenos">380</span></a> <span class="k">if</span> <span class="n">obj</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
</span><span id="Npr_matrix-381"><a href="#Npr_matrix-381"><span class="linenos">381</span></a> <span class="k">return</span>
|
||||
</span><span id="Npr_matrix-382"><a href="#Npr_matrix-382"><span class="linenos">382</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">mom_in</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s1">'mom_in'</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
|
@ -1330,7 +1330,7 @@ ndarray.</p>
|
|||
<p>First mode, <code>buffer</code> is None:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">(</span><span class="n">shape</span><span class="o">=</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span> <span class="n">order</span><span class="o">=</span><span class="s1">'F'</span><span class="p">)</span>
|
||||
<span class="go">array([[0.0e+000, 0.0e+000], # random</span>
|
||||
<span class="go"> [ nan, 2.5e-323]])</span>
|
||||
|
@ -1359,7 +1359,7 @@ ndarray.</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#Npr_matrix.g5H"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Npr_matrix.g5H-354"><a href="#Npr_matrix.g5H-354"><span class="linenos">354</span></a> <span class="nd">@property</span>
|
||||
</span><span id="Npr_matrix.g5H-355"><a href="#Npr_matrix.g5H-355"><span class="linenos">355</span></a> <span class="k">def</span> <span class="nf">g5H</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Npr_matrix.g5H-355"><a href="#Npr_matrix.g5H-355"><span class="linenos">355</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">g5H</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="Npr_matrix.g5H-356"><a href="#Npr_matrix.g5H-356"><span class="linenos">356</span></a><span class="w"> </span><span class="sd">"""Gamma_5 hermitean conjugate</span>
|
||||
</span><span id="Npr_matrix.g5H-357"><a href="#Npr_matrix.g5H-357"><span class="linenos">357</span></a>
|
||||
</span><span id="Npr_matrix.g5H-358"><a href="#Npr_matrix.g5H-358"><span class="linenos">358</span></a><span class="sd"> Uses the fact that the propagator is gamma5 hermitean, so just the</span>
|
||||
|
@ -1391,7 +1391,7 @@ in and out momenta of the propagator are exchanged.</p>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_ExternalLeg_hd5"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_ExternalLeg_hd5-386"><a href="#read_ExternalLeg_hd5-386"><span class="linenos">386</span></a><span class="k">def</span> <span class="nf">read_ExternalLeg_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_ExternalLeg_hd5-386"><a href="#read_ExternalLeg_hd5-386"><span class="linenos">386</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_ExternalLeg_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="read_ExternalLeg_hd5-387"><a href="#read_ExternalLeg_hd5-387"><span class="linenos">387</span></a><span class="w"> </span><span class="sd">"""Read hadrons ExternalLeg hdf5 file and output an array of CObs</span>
|
||||
</span><span id="read_ExternalLeg_hd5-388"><a href="#read_ExternalLeg_hd5-388"><span class="linenos">388</span></a>
|
||||
</span><span id="read_ExternalLeg_hd5-389"><a href="#read_ExternalLeg_hd5-389"><span class="linenos">389</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -1473,7 +1473,7 @@ read Cobs-matrix</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_Bilinear_hd5"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_Bilinear_hd5-431"><a href="#read_Bilinear_hd5-431"><span class="linenos">431</span></a><span class="k">def</span> <span class="nf">read_Bilinear_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_Bilinear_hd5-431"><a href="#read_Bilinear_hd5-431"><span class="linenos">431</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_Bilinear_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
</span><span id="read_Bilinear_hd5-432"><a href="#read_Bilinear_hd5-432"><span class="linenos">432</span></a><span class="w"> </span><span class="sd">"""Read hadrons Bilinear hdf5 file and output an array of CObs</span>
|
||||
</span><span id="read_Bilinear_hd5-433"><a href="#read_Bilinear_hd5-433"><span class="linenos">433</span></a>
|
||||
</span><span id="read_Bilinear_hd5-434"><a href="#read_Bilinear_hd5-434"><span class="linenos">434</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -1569,7 +1569,7 @@ extracted Bilinears</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_Fourquark_hd5"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_Fourquark_hd5-490"><a href="#read_Fourquark_hd5-490"><span class="linenos">490</span></a><span class="k">def</span> <span class="nf">read_Fourquark_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">vertices</span><span class="o">=</span><span class="p">[</span><span class="s2">"VA"</span><span class="p">,</span> <span class="s2">"AV"</span><span class="p">]):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_Fourquark_hd5-490"><a href="#read_Fourquark_hd5-490"><span class="linenos">490</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_Fourquark_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">vertices</span><span class="o">=</span><span class="p">[</span><span class="s2">"VA"</span><span class="p">,</span> <span class="s2">"AV"</span><span class="p">]):</span>
|
||||
</span><span id="read_Fourquark_hd5-491"><a href="#read_Fourquark_hd5-491"><span class="linenos">491</span></a><span class="w"> </span><span class="sd">"""Read hadrons FourquarkFullyConnected hdf5 file and output an array of CObs</span>
|
||||
</span><span id="read_Fourquark_hd5-492"><a href="#read_Fourquark_hd5-492"><span class="linenos">492</span></a>
|
||||
</span><span id="read_Fourquark_hd5-493"><a href="#read_Fourquark_hd5-493"><span class="linenos">493</span></a><span class="sd"> Parameters</span>
|
||||
|
|
|
@ -91,23 +91,23 @@
|
|||
|
||||
<label class="view-source-button" for="mod-json-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="nn">rapidjson</span> <span class="k">as</span> <span class="nn">json</span>
|
||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span> <span class="nn">gzip</span>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span> <span class="nn">getpass</span>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">import</span> <span class="nn">socket</span>
|
||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">import</span> <span class="nn">datetime</span>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="kn">import</span> <span class="nn">platform</span>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">import</span> <span class="nn">warnings</span>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">import</span> <span class="nn">re</span>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="kn">from</span> <span class="nn">..obs</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 class="kn">from</span> <span class="nn">..covobs</span> <span class="kn">import</span> <span class="n">Covobs</span>
|
||||
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a><span class="kn">from</span> <span class="nn">..correlators</span> <span class="kn">import</span> <span class="n">Corr</span>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a><span class="kn">from</span> <span class="nn">..misc</span> <span class="kn">import</span> <span class="n">_assert_equal_properties</span>
|
||||
</span><span id="L-14"><a href="#L-14"><span class="linenos"> 14</span></a><span class="kn">from</span> <span class="nn">..</span> <span class="kn">import</span> <span class="n">version</span> <span class="k">as</span> <span class="n">pyerrorsversion</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">rapidjson</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">json</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-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span><span class="w"> </span><span class="nn">getpass</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">socket</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">datetime</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">platform</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">warnings</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">re</span>
|
||||
</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-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 class="kn">from</span><span class="w"> </span><span class="nn">..covobs</span><span class="w"> </span><span class="kn">import</span> <span class="n">Covobs</span>
|
||||
</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">..correlators</span><span class="w"> </span><span class="kn">import</span> <span class="n">Corr</span>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</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="n">_assert_equal_properties</span>
|
||||
</span><span id="L-14"><a href="#L-14"><span class="linenos"> 14</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">version</span> <span class="k">as</span> <span class="n">pyerrorsversion</span>
|
||||
</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a>
|
||||
</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a>
|
||||
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a><span class="k">def</span> <span class="nf">create_json_string</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
|
||||
</span><span id="L-17"><a href="#L-17"><span class="linenos"> 17</span></a><span class="k">def</span><span class="w"> </span><span class="nf">create_json_string</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
|
||||
</span><span id="L-18"><a href="#L-18"><span class="linenos"> 18</span></a><span class="w"> </span><span class="sd">"""Generate the string for the export of a list of Obs or structures containing Obs</span>
|
||||
</span><span id="L-19"><a href="#L-19"><span class="linenos"> 19</span></a><span class="sd"> to a .json(.gz) file</span>
|
||||
</span><span id="L-20"><a href="#L-20"><span class="linenos"> 20</span></a>
|
||||
|
@ -129,7 +129,7 @@
|
|||
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a><span class="sd"> String for export to .json(.gz) file</span>
|
||||
</span><span id="L-37"><a href="#L-37"><span class="linenos"> 37</span></a><span class="sd"> """</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 class="k">def</span> <span class="nf">_gen_data_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
</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">_gen_data_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a> <span class="n">dl</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="n">No</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">ol</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="ow">in</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">mc_names</span><span class="p">:</span>
|
||||
|
@ -149,7 +149,7 @@
|
|||
</span><span id="L-56"><a href="#L-56"><span class="linenos"> 56</span></a> <span class="n">dl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ed</span><span class="p">)</span>
|
||||
</span><span id="L-57"><a href="#L-57"><span class="linenos"> 57</span></a> <span class="k">return</span> <span class="n">dl</span>
|
||||
</span><span id="L-58"><a href="#L-58"><span class="linenos"> 58</span></a>
|
||||
</span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a> <span class="k">def</span> <span class="nf">_gen_cdata_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
</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">_gen_cdata_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a> <span class="n">dl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-61"><a href="#L-61"><span class="linenos"> 61</span></a> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">cov_names</span><span class="p">:</span>
|
||||
</span><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a> <span class="n">ed</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
@ -165,7 +165,7 @@
|
|||
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a> <span class="n">dl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ed</span><span class="p">)</span>
|
||||
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a> <span class="k">return</span> <span class="n">dl</span>
|
||||
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a>
|
||||
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a> <span class="k">def</span> <span class="nf">write_Obs_to_dict</span><span class="p">(</span><span class="n">o</span><span class="p">):</span>
|
||||
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">write_Obs_to_dict</span><span class="p">(</span><span class="n">o</span><span class="p">):</span>
|
||||
</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a> <span class="n">d</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a> <span class="n">d</span><span class="p">[</span><span class="s1">'type'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'Obs'</span>
|
||||
</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a> <span class="n">d</span><span class="p">[</span><span class="s1">'layout'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'1'</span>
|
||||
|
@ -182,7 +182,7 @@
|
|||
</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a> <span class="n">d</span><span class="p">[</span><span class="s1">'cdata'</span><span class="p">]</span> <span class="o">=</span> <span class="n">cdata</span>
|
||||
</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a> <span class="k">return</span> <span class="n">d</span>
|
||||
</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a>
|
||||
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a> <span class="k">def</span> <span class="nf">write_List_to_dict</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">write_List_to_dict</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
</span><span id="L-93"><a href="#L-93"><span class="linenos"> 93</span></a> <span class="n">_assert_equal_properties</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
</span><span id="L-94"><a href="#L-94"><span class="linenos"> 94</span></a> <span class="n">d</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a> <span class="n">d</span><span class="p">[</span><span class="s1">'type'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'List'</span>
|
||||
|
@ -201,7 +201,7 @@
|
|||
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a> <span class="n">d</span><span class="p">[</span><span class="s1">'cdata'</span><span class="p">]</span> <span class="o">=</span> <span class="n">cdata</span>
|
||||
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a> <span class="k">return</span> <span class="n">d</span>
|
||||
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a>
|
||||
</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a> <span class="k">def</span> <span class="nf">write_Array_to_dict</span><span class="p">(</span><span class="n">oa</span><span class="p">):</span>
|
||||
</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">write_Array_to_dict</span><span class="p">(</span><span class="n">oa</span><span class="p">):</span>
|
||||
</span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a> <span class="n">ol</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">ravel</span><span class="p">(</span><span class="n">oa</span><span class="p">)</span>
|
||||
</span><span id="L-113"><a href="#L-113"><span class="linenos">113</span></a> <span class="n">_assert_equal_properties</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
</span><span id="L-114"><a href="#L-114"><span class="linenos">114</span></a> <span class="n">d</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
@ -221,7 +221,7 @@
|
|||
</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a> <span class="n">d</span><span class="p">[</span><span class="s1">'cdata'</span><span class="p">]</span> <span class="o">=</span> <span class="n">cdata</span>
|
||||
</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a> <span class="k">return</span> <span class="n">d</span>
|
||||
</span><span id="L-130"><a href="#L-130"><span class="linenos">130</span></a>
|
||||
</span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a> <span class="k">def</span> <span class="nf">_nan_Obs_like</span><span class="p">(</span><span class="n">obs</span><span class="p">):</span>
|
||||
</span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_nan_Obs_like</span><span class="p">(</span><span class="n">obs</span><span class="p">):</span>
|
||||
</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="n">samples</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a> <span class="n">names</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a> <span class="n">idl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -236,7 +236,7 @@
|
|||
</span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a> <span class="n">my_obs</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">obs</span><span class="o">.</span><span class="n">reweighted</span>
|
||||
</span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a> <span class="k">return</span> <span class="n">my_obs</span>
|
||||
</span><span id="L-145"><a href="#L-145"><span class="linenos">145</span></a>
|
||||
</span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a> <span class="k">def</span> <span class="nf">write_Corr_to_dict</span><span class="p">(</span><span class="n">my_corr</span><span class="p">):</span>
|
||||
</span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">write_Corr_to_dict</span><span class="p">(</span><span class="n">my_corr</span><span class="p">):</span>
|
||||
</span><span id="L-147"><a href="#L-147"><span class="linenos">147</span></a> <span class="n">first_not_none</span> <span class="o">=</span> <span class="nb">next</span><span class="p">(</span><span class="n">i</span> <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">my_corr</span><span class="o">.</span><span class="n">content</span><span class="p">)</span> <span class="k">if</span> <span class="n">np</span><span class="o">.</span><span class="n">all</span><span class="p">(</span><span class="n">j</span><span class="p">))</span>
|
||||
</span><span id="L-148"><a href="#L-148"><span class="linenos">148</span></a> <span class="n">dummy_array</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty</span><span class="p">((</span><span class="n">my_corr</span><span class="o">.</span><span class="n">N</span><span class="p">,</span> <span class="n">my_corr</span><span class="o">.</span><span class="n">N</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">object</span><span class="p">)</span>
|
||||
</span><span id="L-149"><a href="#L-149"><span class="linenos">149</span></a> <span class="n">dummy_array</span><span class="p">[:]</span> <span class="o">=</span> <span class="n">_nan_Obs_like</span><span class="p">(</span><span class="n">my_corr</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">first_not_none</span><span class="p">]</span><span class="o">.</span><span class="n">ravel</span><span class="p">()[</span><span class="mi">0</span><span class="p">])</span>
|
||||
|
@ -281,7 +281,7 @@
|
|||
</span><span id="L-188"><a href="#L-188"><span class="linenos">188</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">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Unkown datatype."</span><span class="p">)</span>
|
||||
</span><span id="L-190"><a href="#L-190"><span class="linenos">190</span></a>
|
||||
</span><span id="L-191"><a href="#L-191"><span class="linenos">191</span></a> <span class="k">def</span> <span class="nf">_jsonifier</span><span class="p">(</span><span class="n">obj</span><span class="p">):</span>
|
||||
</span><span id="L-191"><a href="#L-191"><span class="linenos">191</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_jsonifier</span><span class="p">(</span><span class="n">obj</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="nb">isinstance</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
|
||||
</span><span id="L-193"><a href="#L-193"><span class="linenos">193</span></a> <span class="n">result</span> <span class="o">=</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">key</span> <span class="ow">in</span> <span class="n">obj</span><span class="p">:</span>
|
||||
|
@ -309,7 +309,7 @@
|
|||
</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="k">return</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="n">indent</span><span class="p">,</span> <span class="n">ensure_ascii</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">_jsonifier</span><span class="p">,</span> <span class="n">write_mode</span><span class="o">=</span><span class="n">json</span><span class="o">.</span><span class="n">WM_COMPACT</span><span class="p">)</span>
|
||||
</span><span id="L-217"><a href="#L-217"><span class="linenos">217</span></a>
|
||||
</span><span id="L-218"><a href="#L-218"><span class="linenos">218</span></a>
|
||||
</span><span id="L-219"><a href="#L-219"><span class="linenos">219</span></a><span class="k">def</span> <span class="nf">dump_to_json</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-219"><a href="#L-219"><span class="linenos">219</span></a><span class="k">def</span><span class="w"> </span><span class="nf">dump_to_json</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-220"><a href="#L-220"><span class="linenos">220</span></a><span class="w"> </span><span class="sd">"""Export a list of Obs or structures containing Obs to a .json(.gz) file.</span>
|
||||
</span><span id="L-221"><a href="#L-221"><span class="linenos">221</span></a><span class="sd"> Dict keys that are not JSON-serializable such as floats are converted to strings.</span>
|
||||
</span><span id="L-222"><a href="#L-222"><span class="linenos">222</span></a>
|
||||
|
@ -351,7 +351,7 @@
|
|||
</span><span id="L-258"><a href="#L-258"><span class="linenos">258</span></a> <span class="n">fp</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
||||
</span><span id="L-259"><a href="#L-259"><span class="linenos">259</span></a>
|
||||
</span><span id="L-260"><a href="#L-260"><span class="linenos">260</span></a>
|
||||
</span><span id="L-261"><a href="#L-261"><span class="linenos">261</span></a><span class="k">def</span> <span class="nf">_parse_json_dict</span><span class="p">(</span><span class="n">json_dict</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
</span><span id="L-261"><a href="#L-261"><span class="linenos">261</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_parse_json_dict</span><span class="p">(</span><span class="n">json_dict</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
</span><span id="L-262"><a href="#L-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Reconstruct a list of Obs or structures containing Obs from a dict that</span>
|
||||
</span><span id="L-263"><a href="#L-263"><span class="linenos">263</span></a><span class="sd"> was built out of a json string.</span>
|
||||
</span><span id="L-264"><a href="#L-264"><span class="linenos">264</span></a>
|
||||
|
@ -380,7 +380,7 @@
|
|||
</span><span id="L-287"><a href="#L-287"><span class="linenos">287</span></a><span class="sd"> if full_output=True</span>
|
||||
</span><span id="L-288"><a href="#L-288"><span class="linenos">288</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-289"><a href="#L-289"><span class="linenos">289</span></a>
|
||||
</span><span id="L-290"><a href="#L-290"><span class="linenos">290</span></a> <span class="k">def</span> <span class="nf">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-290"><a href="#L-290"><span class="linenos">290</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-291"><a href="#L-291"><span class="linenos">291</span></a> <span class="n">retd</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-292"><a href="#L-292"><span class="linenos">292</span></a> <span class="k">if</span> <span class="n">d</span><span class="p">:</span>
|
||||
</span><span id="L-293"><a href="#L-293"><span class="linenos">293</span></a> <span class="n">retd</span><span class="p">[</span><span class="s1">'names'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -399,7 +399,7 @@
|
|||
</span><span id="L-306"><a href="#L-306"><span class="linenos">306</span></a> <span class="n">retd</span><span class="p">[</span><span class="s1">'deltas'</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">di</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span> <span class="k">for</span> <span class="n">di</span> <span class="ow">in</span> <span class="n">rep</span><span class="p">[</span><span class="s1">'deltas'</span><span class="p">]]))</span>
|
||||
</span><span id="L-307"><a href="#L-307"><span class="linenos">307</span></a> <span class="k">return</span> <span class="n">retd</span>
|
||||
</span><span id="L-308"><a href="#L-308"><span class="linenos">308</span></a>
|
||||
</span><span id="L-309"><a href="#L-309"><span class="linenos">309</span></a> <span class="k">def</span> <span class="nf">_gen_covobsd_from_cdatad</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-309"><a href="#L-309"><span class="linenos">309</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_gen_covobsd_from_cdatad</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-310"><a href="#L-310"><span class="linenos">310</span></a> <span class="n">retd</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-311"><a href="#L-311"><span class="linenos">311</span></a> <span class="k">for</span> <span class="n">ens</span> <span class="ow">in</span> <span class="n">d</span><span class="p">:</span>
|
||||
</span><span id="L-312"><a href="#L-312"><span class="linenos">312</span></a> <span class="n">retl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -414,7 +414,7 @@
|
|||
</span><span id="L-321"><a href="#L-321"><span class="linenos">321</span></a> <span class="n">retd</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">retl</span>
|
||||
</span><span id="L-322"><a href="#L-322"><span class="linenos">322</span></a> <span class="k">return</span> <span class="n">retd</span>
|
||||
</span><span id="L-323"><a href="#L-323"><span class="linenos">323</span></a>
|
||||
</span><span id="L-324"><a href="#L-324"><span class="linenos">324</span></a> <span class="k">def</span> <span class="nf">get_Obs_from_dict</span><span class="p">(</span><span class="n">o</span><span class="p">):</span>
|
||||
</span><span id="L-324"><a href="#L-324"><span class="linenos">324</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">get_Obs_from_dict</span><span class="p">(</span><span class="n">o</span><span class="p">):</span>
|
||||
</span><span id="L-325"><a href="#L-325"><span class="linenos">325</span></a> <span class="n">layouts</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'layout'</span><span class="p">,</span> <span class="s1">'1'</span><span class="p">)</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
</span><span id="L-326"><a href="#L-326"><span class="linenos">326</span></a> <span class="k">if</span> <span class="n">layouts</span> <span class="o">!=</span> <span class="s1">'1'</span><span class="p">:</span>
|
||||
</span><span id="L-327"><a href="#L-327"><span class="linenos">327</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"layout is </span><span class="si">%s</span><span class="s2"> has to be 1 for type Obs."</span> <span class="o">%</span> <span class="p">(</span><span class="n">layouts</span><span class="p">),</span> <span class="ne">RuntimeWarning</span><span class="p">)</span>
|
||||
|
@ -438,7 +438,7 @@
|
|||
</span><span id="L-345"><a href="#L-345"><span class="linenos">345</span></a> <span class="n">ret</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'tag'</span><span class="p">,</span> <span class="p">[</span><span class="kc">None</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-346"><a href="#L-346"><span class="linenos">346</span></a> <span class="k">return</span> <span class="n">ret</span>
|
||||
</span><span id="L-347"><a href="#L-347"><span class="linenos">347</span></a>
|
||||
</span><span id="L-348"><a href="#L-348"><span class="linenos">348</span></a> <span class="k">def</span> <span class="nf">get_List_from_dict</span><span class="p">(</span><span class="n">o</span><span class="p">):</span>
|
||||
</span><span id="L-348"><a href="#L-348"><span class="linenos">348</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">get_List_from_dict</span><span class="p">(</span><span class="n">o</span><span class="p">):</span>
|
||||
</span><span id="L-349"><a href="#L-349"><span class="linenos">349</span></a> <span class="n">layouts</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'layout'</span><span class="p">,</span> <span class="s1">'1'</span><span class="p">)</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
</span><span id="L-350"><a href="#L-350"><span class="linenos">350</span></a> <span class="n">layout</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">layouts</span><span class="p">)</span>
|
||||
</span><span id="L-351"><a href="#L-351"><span class="linenos">351</span></a> <span class="n">values</span> <span class="o">=</span> <span class="n">o</span><span class="p">[</span><span class="s1">'value'</span><span class="p">]</span>
|
||||
|
@ -464,7 +464,7 @@
|
|||
</span><span id="L-371"><a href="#L-371"><span class="linenos">371</span></a> <span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">taglist</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
</span><span id="L-372"><a href="#L-372"><span class="linenos">372</span></a> <span class="k">return</span> <span class="n">ret</span>
|
||||
</span><span id="L-373"><a href="#L-373"><span class="linenos">373</span></a>
|
||||
</span><span id="L-374"><a href="#L-374"><span class="linenos">374</span></a> <span class="k">def</span> <span class="nf">get_Array_from_dict</span><span class="p">(</span><span class="n">o</span><span class="p">):</span>
|
||||
</span><span id="L-374"><a href="#L-374"><span class="linenos">374</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">get_Array_from_dict</span><span class="p">(</span><span class="n">o</span><span class="p">):</span>
|
||||
</span><span id="L-375"><a href="#L-375"><span class="linenos">375</span></a> <span class="n">layouts</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'layout'</span><span class="p">,</span> <span class="s1">'1'</span><span class="p">)</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
</span><span id="L-376"><a href="#L-376"><span class="linenos">376</span></a> <span class="n">layout</span> <span class="o">=</span> <span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">ls</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span> <span class="k">for</span> <span class="n">ls</span> <span class="ow">in</span> <span class="n">layouts</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">','</span><span class="p">)</span> <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">0</span><span class="p">]</span>
|
||||
</span><span id="L-377"><a href="#L-377"><span class="linenos">377</span></a> <span class="n">N</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">prod</span><span class="p">(</span><span class="n">layout</span><span class="p">)</span>
|
||||
|
@ -489,7 +489,7 @@
|
|||
</span><span id="L-396"><a href="#L-396"><span class="linenos">396</span></a> <span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">taglist</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
</span><span id="L-397"><a href="#L-397"><span class="linenos">397</span></a> <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="n">layout</span><span class="p">)</span>
|
||||
</span><span id="L-398"><a href="#L-398"><span class="linenos">398</span></a>
|
||||
</span><span id="L-399"><a href="#L-399"><span class="linenos">399</span></a> <span class="k">def</span> <span class="nf">get_Corr_from_dict</span><span class="p">(</span><span class="n">o</span><span class="p">):</span>
|
||||
</span><span id="L-399"><a href="#L-399"><span class="linenos">399</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">get_Corr_from_dict</span><span class="p">(</span><span class="n">o</span><span class="p">):</span>
|
||||
</span><span id="L-400"><a href="#L-400"><span class="linenos">400</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'tag'</span><span class="p">),</span> <span class="nb">list</span><span class="p">):</span> <span class="c1"># supports the old way</span>
|
||||
</span><span id="L-401"><a href="#L-401"><span class="linenos">401</span></a> <span class="n">taglist</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'tag'</span><span class="p">)</span> <span class="c1"># This had to be modified to get the taglist from the dictionary</span>
|
||||
</span><span id="L-402"><a href="#L-402"><span class="linenos">402</span></a> <span class="n">temp_prange</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
|
@ -563,7 +563,7 @@
|
|||
</span><span id="L-470"><a href="#L-470"><span class="linenos">470</span></a> <span class="k">return</span> <span class="n">ol</span>
|
||||
</span><span id="L-471"><a href="#L-471"><span class="linenos">471</span></a>
|
||||
</span><span id="L-472"><a href="#L-472"><span class="linenos">472</span></a>
|
||||
</span><span id="L-473"><a href="#L-473"><span class="linenos">473</span></a><span class="k">def</span> <span class="nf">import_json_string</span><span class="p">(</span><span class="n">json_string</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
</span><span id="L-473"><a href="#L-473"><span class="linenos">473</span></a><span class="k">def</span><span class="w"> </span><span class="nf">import_json_string</span><span class="p">(</span><span class="n">json_string</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
</span><span id="L-474"><a href="#L-474"><span class="linenos">474</span></a><span class="w"> </span><span class="sd">"""Reconstruct a list of Obs or structures containing Obs from a json string.</span>
|
||||
</span><span id="L-475"><a href="#L-475"><span class="linenos">475</span></a>
|
||||
</span><span id="L-476"><a href="#L-476"><span class="linenos">476</span></a><span class="sd"> The following structures are supported: Obs, list, numpy.ndarray, Corr</span>
|
||||
|
@ -593,7 +593,7 @@
|
|||
</span><span id="L-500"><a href="#L-500"><span class="linenos">500</span></a> <span class="k">return</span> <span class="n">_parse_json_dict</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">json_string</span><span class="p">),</span> <span class="n">verbose</span><span class="p">,</span> <span class="n">full_output</span><span class="p">)</span>
|
||||
</span><span id="L-501"><a href="#L-501"><span class="linenos">501</span></a>
|
||||
</span><span id="L-502"><a href="#L-502"><span class="linenos">502</span></a>
|
||||
</span><span id="L-503"><a href="#L-503"><span class="linenos">503</span></a><span class="k">def</span> <span class="nf">load_json</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
</span><span id="L-503"><a href="#L-503"><span class="linenos">503</span></a><span class="k">def</span><span class="w"> </span><span class="nf">load_json</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
</span><span id="L-504"><a href="#L-504"><span class="linenos">504</span></a><span class="w"> </span><span class="sd">"""Import a list of Obs or structures containing Obs from a .json(.gz) file.</span>
|
||||
</span><span id="L-505"><a href="#L-505"><span class="linenos">505</span></a>
|
||||
</span><span id="L-506"><a href="#L-506"><span class="linenos">506</span></a><span class="sd"> The following structures are supported: Obs, list, numpy.ndarray, Corr</span>
|
||||
|
@ -638,7 +638,7 @@
|
|||
</span><span id="L-545"><a href="#L-545"><span class="linenos">545</span></a> <span class="k">return</span> <span class="n">_parse_json_dict</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">verbose</span><span class="p">,</span> <span class="n">full_output</span><span class="p">)</span>
|
||||
</span><span id="L-546"><a href="#L-546"><span class="linenos">546</span></a>
|
||||
</span><span id="L-547"><a href="#L-547"><span class="linenos">547</span></a>
|
||||
</span><span id="L-548"><a href="#L-548"><span class="linenos">548</span></a><span class="k">def</span> <span class="nf">_ol_from_dict</span><span class="p">(</span><span class="n">ind</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">'DICTOBS'</span><span class="p">):</span>
|
||||
</span><span id="L-548"><a href="#L-548"><span class="linenos">548</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_ol_from_dict</span><span class="p">(</span><span class="n">ind</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">'DICTOBS'</span><span class="p">):</span>
|
||||
</span><span id="L-549"><a href="#L-549"><span class="linenos">549</span></a><span class="w"> </span><span class="sd">"""Convert a dictionary of Obs objects to a list and a dictionary that contains</span>
|
||||
</span><span id="L-550"><a href="#L-550"><span class="linenos">550</span></a><span class="sd"> placeholders instead of the Obs objects.</span>
|
||||
</span><span id="L-551"><a href="#L-551"><span class="linenos">551</span></a>
|
||||
|
@ -659,7 +659,7 @@
|
|||
</span><span id="L-566"><a href="#L-566"><span class="linenos">566</span></a> <span class="n">ol</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-567"><a href="#L-567"><span class="linenos">567</span></a> <span class="n">counter</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
</span><span id="L-568"><a href="#L-568"><span class="linenos">568</span></a>
|
||||
</span><span id="L-569"><a href="#L-569"><span class="linenos">569</span></a> <span class="k">def</span> <span class="nf">dict_replace_obs</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-569"><a href="#L-569"><span class="linenos">569</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">dict_replace_obs</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-570"><a href="#L-570"><span class="linenos">570</span></a> <span class="k">nonlocal</span> <span class="n">ol</span>
|
||||
</span><span id="L-571"><a href="#L-571"><span class="linenos">571</span></a> <span class="k">nonlocal</span> <span class="n">counter</span>
|
||||
</span><span id="L-572"><a href="#L-572"><span class="linenos">572</span></a> <span class="n">x</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
@ -680,7 +680,7 @@
|
|||
</span><span id="L-587"><a href="#L-587"><span class="linenos">587</span></a> <span class="n">x</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span>
|
||||
</span><span id="L-588"><a href="#L-588"><span class="linenos">588</span></a> <span class="k">return</span> <span class="n">x</span>
|
||||
</span><span id="L-589"><a href="#L-589"><span class="linenos">589</span></a>
|
||||
</span><span id="L-590"><a href="#L-590"><span class="linenos">590</span></a> <span class="k">def</span> <span class="nf">list_replace_obs</span><span class="p">(</span><span class="n">li</span><span class="p">):</span>
|
||||
</span><span id="L-590"><a href="#L-590"><span class="linenos">590</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">list_replace_obs</span><span class="p">(</span><span class="n">li</span><span class="p">):</span>
|
||||
</span><span id="L-591"><a href="#L-591"><span class="linenos">591</span></a> <span class="k">nonlocal</span> <span class="n">ol</span>
|
||||
</span><span id="L-592"><a href="#L-592"><span class="linenos">592</span></a> <span class="k">nonlocal</span> <span class="n">counter</span>
|
||||
</span><span id="L-593"><a href="#L-593"><span class="linenos">593</span></a> <span class="n">x</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -701,7 +701,7 @@
|
|||
</span><span id="L-608"><a href="#L-608"><span class="linenos">608</span></a> <span class="n">x</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
|
||||
</span><span id="L-609"><a href="#L-609"><span class="linenos">609</span></a> <span class="k">return</span> <span class="n">x</span>
|
||||
</span><span id="L-610"><a href="#L-610"><span class="linenos">610</span></a>
|
||||
</span><span id="L-611"><a href="#L-611"><span class="linenos">611</span></a> <span class="k">def</span> <span class="nf">obslist_replace_obs</span><span class="p">(</span><span class="n">li</span><span class="p">):</span>
|
||||
</span><span id="L-611"><a href="#L-611"><span class="linenos">611</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">obslist_replace_obs</span><span class="p">(</span><span class="n">li</span><span class="p">):</span>
|
||||
</span><span id="L-612"><a href="#L-612"><span class="linenos">612</span></a> <span class="k">nonlocal</span> <span class="n">ol</span>
|
||||
</span><span id="L-613"><a href="#L-613"><span class="linenos">613</span></a> <span class="k">nonlocal</span> <span class="n">counter</span>
|
||||
</span><span id="L-614"><a href="#L-614"><span class="linenos">614</span></a> <span class="n">il</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -718,7 +718,7 @@
|
|||
</span><span id="L-625"><a href="#L-625"><span class="linenos">625</span></a> <span class="k">return</span> <span class="n">ol</span><span class="p">,</span> <span class="n">nd</span>
|
||||
</span><span id="L-626"><a href="#L-626"><span class="linenos">626</span></a>
|
||||
</span><span id="L-627"><a href="#L-627"><span class="linenos">627</span></a>
|
||||
</span><span id="L-628"><a href="#L-628"><span class="linenos">628</span></a><span class="k">def</span> <span class="nf">dump_dict_to_json</span><span class="p">(</span><span class="n">od</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">'DICTOBS'</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-628"><a href="#L-628"><span class="linenos">628</span></a><span class="k">def</span><span class="w"> </span><span class="nf">dump_dict_to_json</span><span class="p">(</span><span class="n">od</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">'DICTOBS'</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-629"><a href="#L-629"><span class="linenos">629</span></a><span class="w"> </span><span class="sd">"""Export a dict of Obs or structures containing Obs to a .json(.gz) file</span>
|
||||
</span><span id="L-630"><a href="#L-630"><span class="linenos">630</span></a>
|
||||
</span><span id="L-631"><a href="#L-631"><span class="linenos">631</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -758,7 +758,7 @@
|
|||
</span><span id="L-665"><a href="#L-665"><span class="linenos">665</span></a> <span class="n">dump_to_json</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="n">desc_dict</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="n">indent</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-666"><a href="#L-666"><span class="linenos">666</span></a>
|
||||
</span><span id="L-667"><a href="#L-667"><span class="linenos">667</span></a>
|
||||
</span><span id="L-668"><a href="#L-668"><span class="linenos">668</span></a><span class="k">def</span> <span class="nf">_od_from_list_and_dict</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">ind</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">'DICTOBS'</span><span class="p">):</span>
|
||||
</span><span id="L-668"><a href="#L-668"><span class="linenos">668</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_od_from_list_and_dict</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">ind</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">'DICTOBS'</span><span class="p">):</span>
|
||||
</span><span id="L-669"><a href="#L-669"><span class="linenos">669</span></a><span class="w"> </span><span class="sd">"""Parse a list of Obs or structures containing Obs and an accompanying</span>
|
||||
</span><span id="L-670"><a href="#L-670"><span class="linenos">670</span></a><span class="sd"> dict, where the structures have been replaced by placeholders to a</span>
|
||||
</span><span id="L-671"><a href="#L-671"><span class="linenos">671</span></a><span class="sd"> dict that contains the structures.</span>
|
||||
|
@ -781,7 +781,7 @@
|
|||
</span><span id="L-688"><a href="#L-688"><span class="linenos">688</span></a>
|
||||
</span><span id="L-689"><a href="#L-689"><span class="linenos">689</span></a> <span class="n">counter</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
</span><span id="L-690"><a href="#L-690"><span class="linenos">690</span></a>
|
||||
</span><span id="L-691"><a href="#L-691"><span class="linenos">691</span></a> <span class="k">def</span> <span class="nf">dict_replace_string</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-691"><a href="#L-691"><span class="linenos">691</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">dict_replace_string</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
</span><span id="L-692"><a href="#L-692"><span class="linenos">692</span></a> <span class="k">nonlocal</span> <span class="n">counter</span>
|
||||
</span><span id="L-693"><a href="#L-693"><span class="linenos">693</span></a> <span class="k">nonlocal</span> <span class="n">ol</span>
|
||||
</span><span id="L-694"><a href="#L-694"><span class="linenos">694</span></a> <span class="n">x</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
@ -797,7 +797,7 @@
|
|||
</span><span id="L-704"><a href="#L-704"><span class="linenos">704</span></a> <span class="n">x</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span>
|
||||
</span><span id="L-705"><a href="#L-705"><span class="linenos">705</span></a> <span class="k">return</span> <span class="n">x</span>
|
||||
</span><span id="L-706"><a href="#L-706"><span class="linenos">706</span></a>
|
||||
</span><span id="L-707"><a href="#L-707"><span class="linenos">707</span></a> <span class="k">def</span> <span class="nf">list_replace_string</span><span class="p">(</span><span class="n">li</span><span class="p">):</span>
|
||||
</span><span id="L-707"><a href="#L-707"><span class="linenos">707</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">list_replace_string</span><span class="p">(</span><span class="n">li</span><span class="p">):</span>
|
||||
</span><span id="L-708"><a href="#L-708"><span class="linenos">708</span></a> <span class="k">nonlocal</span> <span class="n">counter</span>
|
||||
</span><span id="L-709"><a href="#L-709"><span class="linenos">709</span></a> <span class="k">nonlocal</span> <span class="n">ol</span>
|
||||
</span><span id="L-710"><a href="#L-710"><span class="linenos">710</span></a> <span class="n">x</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -821,7 +821,7 @@
|
|||
</span><span id="L-728"><a href="#L-728"><span class="linenos">728</span></a> <span class="k">return</span> <span class="n">nd</span>
|
||||
</span><span id="L-729"><a href="#L-729"><span class="linenos">729</span></a>
|
||||
</span><span id="L-730"><a href="#L-730"><span class="linenos">730</span></a>
|
||||
</span><span id="L-731"><a href="#L-731"><span class="linenos">731</span></a><span class="k">def</span> <span class="nf">load_json_dict</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">'DICTOBS'</span><span class="p">):</span>
|
||||
</span><span id="L-731"><a href="#L-731"><span class="linenos">731</span></a><span class="k">def</span><span class="w"> </span><span class="nf">load_json_dict</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">'DICTOBS'</span><span class="p">):</span>
|
||||
</span><span id="L-732"><a href="#L-732"><span class="linenos">732</span></a><span class="w"> </span><span class="sd">"""Import a dict of Obs or structures containing Obs from a .json(.gz) file.</span>
|
||||
</span><span id="L-733"><a href="#L-733"><span class="linenos">733</span></a>
|
||||
</span><span id="L-734"><a href="#L-734"><span class="linenos">734</span></a><span class="sd"> The following structures are supported: Obs, list, numpy.ndarray, Corr</span>
|
||||
|
@ -875,7 +875,7 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#create_json_string"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="create_json_string-18"><a href="#create_json_string-18"><span class="linenos"> 18</span></a><span class="k">def</span> <span class="nf">create_json_string</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="create_json_string-18"><a href="#create_json_string-18"><span class="linenos"> 18</span></a><span class="k">def</span><span class="w"> </span><span class="nf">create_json_string</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-19"><a href="#create_json_string-19"><span class="linenos"> 19</span></a><span class="w"> </span><span class="sd">"""Generate the string for the export of a list of Obs or structures containing Obs</span>
|
||||
</span><span id="create_json_string-20"><a href="#create_json_string-20"><span class="linenos"> 20</span></a><span class="sd"> to a .json(.gz) file</span>
|
||||
</span><span id="create_json_string-21"><a href="#create_json_string-21"><span class="linenos"> 21</span></a>
|
||||
|
@ -897,7 +897,7 @@
|
|||
</span><span id="create_json_string-37"><a href="#create_json_string-37"><span class="linenos"> 37</span></a><span class="sd"> String for export to .json(.gz) file</span>
|
||||
</span><span id="create_json_string-38"><a href="#create_json_string-38"><span class="linenos"> 38</span></a><span class="sd"> """</span>
|
||||
</span><span id="create_json_string-39"><a href="#create_json_string-39"><span class="linenos"> 39</span></a>
|
||||
</span><span id="create_json_string-40"><a href="#create_json_string-40"><span class="linenos"> 40</span></a> <span class="k">def</span> <span class="nf">_gen_data_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-40"><a href="#create_json_string-40"><span class="linenos"> 40</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_gen_data_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-41"><a href="#create_json_string-41"><span class="linenos"> 41</span></a> <span class="n">dl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="create_json_string-42"><a href="#create_json_string-42"><span class="linenos"> 42</span></a> <span class="n">No</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
</span><span id="create_json_string-43"><a href="#create_json_string-43"><span class="linenos"> 43</span></a> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">mc_names</span><span class="p">:</span>
|
||||
|
@ -917,7 +917,7 @@
|
|||
</span><span id="create_json_string-57"><a href="#create_json_string-57"><span class="linenos"> 57</span></a> <span class="n">dl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ed</span><span class="p">)</span>
|
||||
</span><span id="create_json_string-58"><a href="#create_json_string-58"><span class="linenos"> 58</span></a> <span class="k">return</span> <span class="n">dl</span>
|
||||
</span><span id="create_json_string-59"><a href="#create_json_string-59"><span class="linenos"> 59</span></a>
|
||||
</span><span id="create_json_string-60"><a href="#create_json_string-60"><span class="linenos"> 60</span></a> <span class="k">def</span> <span class="nf">_gen_cdata_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-60"><a href="#create_json_string-60"><span class="linenos"> 60</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_gen_cdata_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-61"><a href="#create_json_string-61"><span class="linenos"> 61</span></a> <span class="n">dl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="create_json_string-62"><a href="#create_json_string-62"><span class="linenos"> 62</span></a> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">cov_names</span><span class="p">:</span>
|
||||
</span><span id="create_json_string-63"><a href="#create_json_string-63"><span class="linenos"> 63</span></a> <span class="n">ed</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
@ -933,7 +933,7 @@
|
|||
</span><span id="create_json_string-73"><a href="#create_json_string-73"><span class="linenos"> 73</span></a> <span class="n">dl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ed</span><span class="p">)</span>
|
||||
</span><span id="create_json_string-74"><a href="#create_json_string-74"><span class="linenos"> 74</span></a> <span class="k">return</span> <span class="n">dl</span>
|
||||
</span><span id="create_json_string-75"><a href="#create_json_string-75"><span class="linenos"> 75</span></a>
|
||||
</span><span id="create_json_string-76"><a href="#create_json_string-76"><span class="linenos"> 76</span></a> <span class="k">def</span> <span class="nf">write_Obs_to_dict</span><span class="p">(</span><span class="n">o</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-76"><a href="#create_json_string-76"><span class="linenos"> 76</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">write_Obs_to_dict</span><span class="p">(</span><span class="n">o</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-77"><a href="#create_json_string-77"><span class="linenos"> 77</span></a> <span class="n">d</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="create_json_string-78"><a href="#create_json_string-78"><span class="linenos"> 78</span></a> <span class="n">d</span><span class="p">[</span><span class="s1">'type'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'Obs'</span>
|
||||
</span><span id="create_json_string-79"><a href="#create_json_string-79"><span class="linenos"> 79</span></a> <span class="n">d</span><span class="p">[</span><span class="s1">'layout'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'1'</span>
|
||||
|
@ -950,7 +950,7 @@
|
|||
</span><span id="create_json_string-90"><a href="#create_json_string-90"><span class="linenos"> 90</span></a> <span class="n">d</span><span class="p">[</span><span class="s1">'cdata'</span><span class="p">]</span> <span class="o">=</span> <span class="n">cdata</span>
|
||||
</span><span id="create_json_string-91"><a href="#create_json_string-91"><span class="linenos"> 91</span></a> <span class="k">return</span> <span class="n">d</span>
|
||||
</span><span id="create_json_string-92"><a href="#create_json_string-92"><span class="linenos"> 92</span></a>
|
||||
</span><span id="create_json_string-93"><a href="#create_json_string-93"><span class="linenos"> 93</span></a> <span class="k">def</span> <span class="nf">write_List_to_dict</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-93"><a href="#create_json_string-93"><span class="linenos"> 93</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">write_List_to_dict</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-94"><a href="#create_json_string-94"><span class="linenos"> 94</span></a> <span class="n">_assert_equal_properties</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
</span><span id="create_json_string-95"><a href="#create_json_string-95"><span class="linenos"> 95</span></a> <span class="n">d</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="create_json_string-96"><a href="#create_json_string-96"><span class="linenos"> 96</span></a> <span class="n">d</span><span class="p">[</span><span class="s1">'type'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'List'</span>
|
||||
|
@ -969,7 +969,7 @@
|
|||
</span><span id="create_json_string-109"><a href="#create_json_string-109"><span class="linenos">109</span></a> <span class="n">d</span><span class="p">[</span><span class="s1">'cdata'</span><span class="p">]</span> <span class="o">=</span> <span class="n">cdata</span>
|
||||
</span><span id="create_json_string-110"><a href="#create_json_string-110"><span class="linenos">110</span></a> <span class="k">return</span> <span class="n">d</span>
|
||||
</span><span id="create_json_string-111"><a href="#create_json_string-111"><span class="linenos">111</span></a>
|
||||
</span><span id="create_json_string-112"><a href="#create_json_string-112"><span class="linenos">112</span></a> <span class="k">def</span> <span class="nf">write_Array_to_dict</span><span class="p">(</span><span class="n">oa</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-112"><a href="#create_json_string-112"><span class="linenos">112</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">write_Array_to_dict</span><span class="p">(</span><span class="n">oa</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-113"><a href="#create_json_string-113"><span class="linenos">113</span></a> <span class="n">ol</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">ravel</span><span class="p">(</span><span class="n">oa</span><span class="p">)</span>
|
||||
</span><span id="create_json_string-114"><a href="#create_json_string-114"><span class="linenos">114</span></a> <span class="n">_assert_equal_properties</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
</span><span id="create_json_string-115"><a href="#create_json_string-115"><span class="linenos">115</span></a> <span class="n">d</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
@ -989,7 +989,7 @@
|
|||
</span><span id="create_json_string-129"><a href="#create_json_string-129"><span class="linenos">129</span></a> <span class="n">d</span><span class="p">[</span><span class="s1">'cdata'</span><span class="p">]</span> <span class="o">=</span> <span class="n">cdata</span>
|
||||
</span><span id="create_json_string-130"><a href="#create_json_string-130"><span class="linenos">130</span></a> <span class="k">return</span> <span class="n">d</span>
|
||||
</span><span id="create_json_string-131"><a href="#create_json_string-131"><span class="linenos">131</span></a>
|
||||
</span><span id="create_json_string-132"><a href="#create_json_string-132"><span class="linenos">132</span></a> <span class="k">def</span> <span class="nf">_nan_Obs_like</span><span class="p">(</span><span class="n">obs</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-132"><a href="#create_json_string-132"><span class="linenos">132</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_nan_Obs_like</span><span class="p">(</span><span class="n">obs</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-133"><a href="#create_json_string-133"><span class="linenos">133</span></a> <span class="n">samples</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="create_json_string-134"><a href="#create_json_string-134"><span class="linenos">134</span></a> <span class="n">names</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="create_json_string-135"><a href="#create_json_string-135"><span class="linenos">135</span></a> <span class="n">idl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -1004,7 +1004,7 @@
|
|||
</span><span id="create_json_string-144"><a href="#create_json_string-144"><span class="linenos">144</span></a> <span class="n">my_obs</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">obs</span><span class="o">.</span><span class="n">reweighted</span>
|
||||
</span><span id="create_json_string-145"><a href="#create_json_string-145"><span class="linenos">145</span></a> <span class="k">return</span> <span class="n">my_obs</span>
|
||||
</span><span id="create_json_string-146"><a href="#create_json_string-146"><span class="linenos">146</span></a>
|
||||
</span><span id="create_json_string-147"><a href="#create_json_string-147"><span class="linenos">147</span></a> <span class="k">def</span> <span class="nf">write_Corr_to_dict</span><span class="p">(</span><span class="n">my_corr</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-147"><a href="#create_json_string-147"><span class="linenos">147</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">write_Corr_to_dict</span><span class="p">(</span><span class="n">my_corr</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-148"><a href="#create_json_string-148"><span class="linenos">148</span></a> <span class="n">first_not_none</span> <span class="o">=</span> <span class="nb">next</span><span class="p">(</span><span class="n">i</span> <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">my_corr</span><span class="o">.</span><span class="n">content</span><span class="p">)</span> <span class="k">if</span> <span class="n">np</span><span class="o">.</span><span class="n">all</span><span class="p">(</span><span class="n">j</span><span class="p">))</span>
|
||||
</span><span id="create_json_string-149"><a href="#create_json_string-149"><span class="linenos">149</span></a> <span class="n">dummy_array</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty</span><span class="p">((</span><span class="n">my_corr</span><span class="o">.</span><span class="n">N</span><span class="p">,</span> <span class="n">my_corr</span><span class="o">.</span><span class="n">N</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">object</span><span class="p">)</span>
|
||||
</span><span id="create_json_string-150"><a href="#create_json_string-150"><span class="linenos">150</span></a> <span class="n">dummy_array</span><span class="p">[:]</span> <span class="o">=</span> <span class="n">_nan_Obs_like</span><span class="p">(</span><span class="n">my_corr</span><span class="o">.</span><span class="n">content</span><span class="p">[</span><span class="n">first_not_none</span><span class="p">]</span><span class="o">.</span><span class="n">ravel</span><span class="p">()[</span><span class="mi">0</span><span class="p">])</span>
|
||||
|
@ -1049,7 +1049,7 @@
|
|||
</span><span id="create_json_string-189"><a href="#create_json_string-189"><span class="linenos">189</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="create_json_string-190"><a href="#create_json_string-190"><span class="linenos">190</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Unkown datatype."</span><span class="p">)</span>
|
||||
</span><span id="create_json_string-191"><a href="#create_json_string-191"><span class="linenos">191</span></a>
|
||||
</span><span id="create_json_string-192"><a href="#create_json_string-192"><span class="linenos">192</span></a> <span class="k">def</span> <span class="nf">_jsonifier</span><span class="p">(</span><span class="n">obj</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-192"><a href="#create_json_string-192"><span class="linenos">192</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_jsonifier</span><span class="p">(</span><span class="n">obj</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-193"><a href="#create_json_string-193"><span class="linenos">193</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
|
||||
</span><span id="create_json_string-194"><a href="#create_json_string-194"><span class="linenos">194</span></a> <span class="n">result</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="create_json_string-195"><a href="#create_json_string-195"><span class="linenos">195</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">obj</span><span class="p">:</span>
|
||||
|
@ -1116,7 +1116,7 @@ String for export to <a href="">pyerrors.input.json</a>(.gz) file</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#dump_to_json"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="dump_to_json-220"><a href="#dump_to_json-220"><span class="linenos">220</span></a><span class="k">def</span> <span class="nf">dump_to_json</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="dump_to_json-220"><a href="#dump_to_json-220"><span class="linenos">220</span></a><span class="k">def</span><span class="w"> </span><span class="nf">dump_to_json</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="dump_to_json-221"><a href="#dump_to_json-221"><span class="linenos">221</span></a><span class="w"> </span><span class="sd">"""Export a list of Obs or structures containing Obs to a .json(.gz) file.</span>
|
||||
</span><span id="dump_to_json-222"><a href="#dump_to_json-222"><span class="linenos">222</span></a><span class="sd"> Dict keys that are not JSON-serializable such as floats are converted to strings.</span>
|
||||
</span><span id="dump_to_json-223"><a href="#dump_to_json-223"><span class="linenos">223</span></a>
|
||||
|
@ -1200,7 +1200,7 @@ If True, the output is a gzipped json. If False, the output is a json file.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#import_json_string"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="import_json_string-474"><a href="#import_json_string-474"><span class="linenos">474</span></a><span class="k">def</span> <span class="nf">import_json_string</span><span class="p">(</span><span class="n">json_string</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="import_json_string-474"><a href="#import_json_string-474"><span class="linenos">474</span></a><span class="k">def</span><span class="w"> </span><span class="nf">import_json_string</span><span class="p">(</span><span class="n">json_string</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
</span><span id="import_json_string-475"><a href="#import_json_string-475"><span class="linenos">475</span></a><span class="w"> </span><span class="sd">"""Reconstruct a list of Obs or structures containing Obs from a json string.</span>
|
||||
</span><span id="import_json_string-476"><a href="#import_json_string-476"><span class="linenos">476</span></a>
|
||||
</span><span id="import_json_string-477"><a href="#import_json_string-477"><span class="linenos">477</span></a><span class="sd"> The following structures are supported: Obs, list, numpy.ndarray, Corr</span>
|
||||
|
@ -1275,7 +1275,7 @@ if full_output=True</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#load_json"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="load_json-504"><a href="#load_json-504"><span class="linenos">504</span></a><span class="k">def</span> <span class="nf">load_json</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="load_json-504"><a href="#load_json-504"><span class="linenos">504</span></a><span class="k">def</span><span class="w"> </span><span class="nf">load_json</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
</span><span id="load_json-505"><a href="#load_json-505"><span class="linenos">505</span></a><span class="w"> </span><span class="sd">"""Import a list of Obs or structures containing Obs from a .json(.gz) file.</span>
|
||||
</span><span id="load_json-506"><a href="#load_json-506"><span class="linenos">506</span></a>
|
||||
</span><span id="load_json-507"><a href="#load_json-507"><span class="linenos">507</span></a><span class="sd"> The following structures are supported: Obs, list, numpy.ndarray, Corr</span>
|
||||
|
@ -1367,7 +1367,7 @@ if full_output=True</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#dump_dict_to_json"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="dump_dict_to_json-629"><a href="#dump_dict_to_json-629"><span class="linenos">629</span></a><span class="k">def</span> <span class="nf">dump_dict_to_json</span><span class="p">(</span><span class="n">od</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">'DICTOBS'</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_dict_to_json-629"><a href="#dump_dict_to_json-629"><span class="linenos">629</span></a><span class="k">def</span><span class="w"> </span><span class="nf">dump_dict_to_json</span><span class="p">(</span><span class="n">od</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">'DICTOBS'</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="dump_dict_to_json-630"><a href="#dump_dict_to_json-630"><span class="linenos">630</span></a><span class="w"> </span><span class="sd">"""Export a dict of Obs or structures containing Obs to a .json(.gz) file</span>
|
||||
</span><span id="dump_dict_to_json-631"><a href="#dump_dict_to_json-631"><span class="linenos">631</span></a>
|
||||
</span><span id="dump_dict_to_json-632"><a href="#dump_dict_to_json-632"><span class="linenos">632</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -1450,7 +1450,7 @@ If True, the output is a gzipped json. If False, the output is a json file.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#load_json_dict"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="load_json_dict-732"><a href="#load_json_dict-732"><span class="linenos">732</span></a><span class="k">def</span> <span class="nf">load_json_dict</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">'DICTOBS'</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="load_json_dict-732"><a href="#load_json_dict-732"><span class="linenos">732</span></a><span class="k">def</span><span class="w"> </span><span class="nf">load_json_dict</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">full_output</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">reps</span><span class="o">=</span><span class="s1">'DICTOBS'</span><span class="p">):</span>
|
||||
</span><span id="load_json_dict-733"><a href="#load_json_dict-733"><span class="linenos">733</span></a><span class="w"> </span><span class="sd">"""Import a dict of Obs or structures containing Obs from a .json(.gz) file.</span>
|
||||
</span><span id="load_json_dict-734"><a href="#load_json_dict-734"><span class="linenos">734</span></a>
|
||||
</span><span id="load_json_dict-735"><a href="#load_json_dict-735"><span class="linenos">735</span></a><span class="sd"> The following structures are supported: Obs, list, numpy.ndarray, Corr</span>
|
||||
|
|
|
@ -79,19 +79,19 @@
|
|||
|
||||
<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="nn">os</span>
|
||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span> <span class="nn">fnmatch</span>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</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="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="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="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> <span class="c1"># Thinly-wrapped numpy</span>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</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="nn">matplotlib</span> <span class="kn">import</span> <span class="n">gridspec</span>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">from</span> <span class="nn">..obs</span> <span class="kn">import</span> <span class="n">Obs</span>
|
||||
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="kn">from</span> <span class="nn">..fits</span> <span class="kn">import</span> <span class="n">fit_lin</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">os</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-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-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-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-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-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-11"><a href="#L-11"><span class="linenos"> 11</span></a>
|
||||
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a><span class="k">def</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 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-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-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-16"><a href="#L-16"><span class="linenos"> 16</span></a>
|
||||
|
@ -178,7 +178,7 @@
|
|||
</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-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><span id="L-100"><a href="#L-100"><span class="linenos">100</span></a><span class="k">def</span> <span class="nf">read_pbp</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-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-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-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"> Parameters</span>
|
||||
|
@ -312,7 +312,7 @@
|
|||
|
||||
</div>
|
||||
<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="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-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>
|
||||
</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-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-17"><a href="#fit_t0-17"><span class="linenos">17</span></a>
|
||||
|
@ -447,7 +447,7 @@ The root of the data series.</li>
|
|||
|
||||
</div>
|
||||
<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="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-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>
|
||||
</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-103"><a href="#read_pbp-103"><span class="linenos">103</span></a>
|
||||
</span><span id="read_pbp-104"><a href="#read_pbp-104"><span class="linenos">104</span></a><span class="sd"> Parameters</span>
|
||||
|
|
|
@ -97,19 +97,19 @@
|
|||
|
||||
<label class="view-source-button" for="mod-openQCD-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="nn">os</span>
|
||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span> <span class="nn">fnmatch</span>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</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="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="nn">numpy</span> <span class="k">as</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 class="kn">from</span> <span class="nn">..obs</span> <span class="kn">import</span> <span class="n">Obs</span>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">from</span> <span class="nn">..obs</span> <span class="kn">import</span> <span class="n">CObs</span>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">from</span> <span class="nn">..correlators</span> <span class="kn">import</span> <span class="n">Corr</span>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">from</span> <span class="nn">.misc</span> <span class="kn">import</span> <span class="n">fit_t0</span>
|
||||
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="kn">from</span> <span class="nn">.utils</span> <span class="kn">import</span> <span class="n">sort_names</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">os</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-3"><a href="#L-3"><span class="linenos"> 3</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">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">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 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-7"><a href="#L-7"><span class="linenos"> 7</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">CObs</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">..correlators</span><span class="w"> </span><span class="kn">import</span> <span class="n">Corr</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">.misc</span><span class="w"> </span><span class="kn">import</span> <span class="n">fit_t0</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">.utils</span><span class="w"> </span><span class="kn">import</span> <span class="n">sort_names</span>
|
||||
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a>
|
||||
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a><span class="k">def</span> <span class="nf">read_rwms</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s1">'2.0'</span><span class="p">,</span> <span class="n">names</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><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">read_rwms</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s1">'2.0'</span><span class="p">,</span> <span class="n">names</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-14"><a href="#L-14"><span class="linenos"> 14</span></a><span class="w"> </span><span class="sd">"""Read rwms format from given folder structure. Returns a list of length nrw</span>
|
||||
</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a>
|
||||
</span><span id="L-16"><a href="#L-16"><span class="linenos"> 16</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -299,7 +299,7 @@
|
|||
</span><span id="L-200"><a href="#L-200"><span class="linenos"> 200</span></a> <span class="n">r_start_index</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">index</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><span id="L-201"><a href="#L-201"><span class="linenos"> 201</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
</span><span id="L-202"><a href="#L-202"><span class="linenos"> 202</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Config </span><span class="si">%d</span><span class="s1"> not in file with range [</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><span id="L-203"><a href="#L-203"><span class="linenos"> 203</span></a> <span class="n">r_start</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span> <span class="kc">None</span>
|
||||
</span><span id="L-203"><a href="#L-203"><span class="linenos"> 203</span></a> <span class="n">r_start</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||
</span><span id="L-204"><a href="#L-204"><span class="linenos"> 204</span></a>
|
||||
</span><span id="L-205"><a href="#L-205"><span class="linenos"> 205</span></a> <span class="k">if</span> <span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
</span><span id="L-206"><a href="#L-206"><span class="linenos"> 206</span></a> <span class="n">r_stop_index</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
|
||||
|
@ -308,7 +308,7 @@
|
|||
</span><span id="L-209"><a href="#L-209"><span class="linenos"> 209</span></a> <span class="n">r_stop_index</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">index</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-210"><a href="#L-210"><span class="linenos"> 210</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
</span><span id="L-211"><a href="#L-211"><span class="linenos"> 211</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Config </span><span class="si">%d</span><span class="s1"> not in file with range [</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><span id="L-212"><a href="#L-212"><span class="linenos"> 212</span></a> <span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span> <span class="kc">None</span>
|
||||
</span><span id="L-212"><a href="#L-212"><span class="linenos"> 212</span></a> <span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</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">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-215"><a href="#L-215"><span class="linenos"> 215</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_index</span><span class="p">[</span><span class="n">rep</span><span class="p">]:</span><span class="n">r_stop_index</span><span class="p">[</span><span class="n">rep</span><span class="p">]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">][::</span><span class="n">r_step</span><span class="p">])</span>
|
||||
|
@ -328,7 +328,7 @@
|
|||
</span><span id="L-229"><a href="#L-229"><span class="linenos"> 229</span></a> <span class="k">return</span> <span class="n">result</span>
|
||||
</span><span id="L-230"><a href="#L-230"><span class="linenos"> 230</span></a>
|
||||
</span><span id="L-231"><a href="#L-231"><span class="linenos"> 231</span></a>
|
||||
</span><span id="L-232"><a href="#L-232"><span class="linenos"> 232</span></a><span class="k">def</span> <span class="nf">_extract_flowed_energy_density</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">dtr_read</span><span class="p">,</span> <span class="n">xmin</span><span class="p">,</span> <span class="n">spatial_extent</span><span class="p">,</span> <span class="n">postfix</span><span class="o">=</span><span class="s1">'ms'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-232"><a href="#L-232"><span class="linenos"> 232</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_extract_flowed_energy_density</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">dtr_read</span><span class="p">,</span> <span class="n">xmin</span><span class="p">,</span> <span class="n">spatial_extent</span><span class="p">,</span> <span class="n">postfix</span><span class="o">=</span><span class="s1">'ms'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-233"><a href="#L-233"><span class="linenos"> 233</span></a><span class="w"> </span><span class="sd">"""Extract a dictionary with the flowed Yang-Mills action density from given .ms.dat files.</span>
|
||||
</span><span id="L-234"><a href="#L-234"><span class="linenos"> 234</span></a><span class="sd"> Returns a dictionary with Obs as values and flow times as keys.</span>
|
||||
</span><span id="L-235"><a href="#L-235"><span class="linenos"> 235</span></a>
|
||||
|
@ -489,7 +489,7 @@
|
|||
</span><span id="L-390"><a href="#L-390"><span class="linenos"> 390</span></a> <span class="n">r_start_index</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">index</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><span id="L-391"><a href="#L-391"><span class="linenos"> 391</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
</span><span id="L-392"><a href="#L-392"><span class="linenos"> 392</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Config </span><span class="si">%d</span><span class="s1"> not in file with range [</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><span id="L-393"><a href="#L-393"><span class="linenos"> 393</span></a> <span class="n">r_start</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span> <span class="kc">None</span>
|
||||
</span><span id="L-393"><a href="#L-393"><span class="linenos"> 393</span></a> <span class="n">r_start</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||
</span><span id="L-394"><a href="#L-394"><span class="linenos"> 394</span></a>
|
||||
</span><span id="L-395"><a href="#L-395"><span class="linenos"> 395</span></a> <span class="k">if</span> <span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
</span><span id="L-396"><a href="#L-396"><span class="linenos"> 396</span></a> <span class="n">r_stop_index</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
|
||||
|
@ -498,7 +498,7 @@
|
|||
</span><span id="L-399"><a href="#L-399"><span class="linenos"> 399</span></a> <span class="n">r_stop_index</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">index</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-400"><a href="#L-400"><span class="linenos"> 400</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
</span><span id="L-401"><a href="#L-401"><span class="linenos"> 401</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Config </span><span class="si">%d</span><span class="s1"> not in file with range [</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><span id="L-402"><a href="#L-402"><span class="linenos"> 402</span></a> <span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span> <span class="kc">None</span>
|
||||
</span><span id="L-402"><a href="#L-402"><span class="linenos"> 402</span></a> <span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||
</span><span id="L-403"><a href="#L-403"><span class="linenos"> 403</span></a>
|
||||
</span><span id="L-404"><a href="#L-404"><span class="linenos"> 404</span></a> <span class="k">if</span> <span class="n">np</span><span class="o">.</span><span class="n">any</span><span class="p">([</span><span class="nb">len</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">unique</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">cl</span><span class="p">)))</span> <span class="o">!=</span> <span class="mi">1</span> <span class="k">for</span> <span class="n">cl</span> <span class="ow">in</span> <span class="n">configlist</span><span class="p">]):</span>
|
||||
</span><span id="L-405"><a href="#L-405"><span class="linenos"> 405</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Irregular spaced data in input file!'</span><span class="p">,</span> <span class="p">[</span><span class="nb">len</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">unique</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">cl</span><span class="p">)))</span> <span class="k">for</span> <span class="n">cl</span> <span class="ow">in</span> <span class="n">configlist</span><span class="p">])</span>
|
||||
|
@ -521,7 +521,7 @@
|
|||
</span><span id="L-422"><a href="#L-422"><span class="linenos"> 422</span></a> <span class="k">return</span> <span class="n">E_dict</span>
|
||||
</span><span id="L-423"><a href="#L-423"><span class="linenos"> 423</span></a>
|
||||
</span><span id="L-424"><a href="#L-424"><span class="linenos"> 424</span></a>
|
||||
</span><span id="L-425"><a href="#L-425"><span class="linenos"> 425</span></a><span class="k">def</span> <span class="nf">extract_t0</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">dtr_read</span><span class="p">,</span> <span class="n">xmin</span><span class="p">,</span> <span class="n">spatial_extent</span><span class="p">,</span> <span class="n">fit_range</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="n">postfix</span><span class="o">=</span><span class="s1">'ms'</span><span class="p">,</span> <span class="n">c</span><span class="o">=</span><span class="mf">0.3</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-425"><a href="#L-425"><span class="linenos"> 425</span></a><span class="k">def</span><span class="w"> </span><span class="nf">extract_t0</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">dtr_read</span><span class="p">,</span> <span class="n">xmin</span><span class="p">,</span> <span class="n">spatial_extent</span><span class="p">,</span> <span class="n">fit_range</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="n">postfix</span><span class="o">=</span><span class="s1">'ms'</span><span class="p">,</span> <span class="n">c</span><span class="o">=</span><span class="mf">0.3</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-426"><a href="#L-426"><span class="linenos"> 426</span></a><span class="w"> </span><span class="sd">"""Extract t0/a^2 from given .ms.dat files. Returns t0 as Obs.</span>
|
||||
</span><span id="L-427"><a href="#L-427"><span class="linenos"> 427</span></a>
|
||||
</span><span id="L-428"><a href="#L-428"><span class="linenos"> 428</span></a><span class="sd"> It is assumed that all boundary effects have</span>
|
||||
|
@ -594,7 +594,7 @@
|
|||
</span><span id="L-495"><a href="#L-495"><span class="linenos"> 495</span></a> <span class="k">return</span> <span class="n">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="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'plot_fit'</span><span class="p">))</span>
|
||||
</span><span id="L-496"><a href="#L-496"><span class="linenos"> 496</span></a>
|
||||
</span><span id="L-497"><a href="#L-497"><span class="linenos"> 497</span></a>
|
||||
</span><span id="L-498"><a href="#L-498"><span class="linenos"> 498</span></a><span class="k">def</span> <span class="nf">extract_w0</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">dtr_read</span><span class="p">,</span> <span class="n">xmin</span><span class="p">,</span> <span class="n">spatial_extent</span><span class="p">,</span> <span class="n">fit_range</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="n">postfix</span><span class="o">=</span><span class="s1">'ms'</span><span class="p">,</span> <span class="n">c</span><span class="o">=</span><span class="mf">0.3</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-498"><a href="#L-498"><span class="linenos"> 498</span></a><span class="k">def</span><span class="w"> </span><span class="nf">extract_w0</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">dtr_read</span><span class="p">,</span> <span class="n">xmin</span><span class="p">,</span> <span class="n">spatial_extent</span><span class="p">,</span> <span class="n">fit_range</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="n">postfix</span><span class="o">=</span><span class="s1">'ms'</span><span class="p">,</span> <span class="n">c</span><span class="o">=</span><span class="mf">0.3</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-499"><a href="#L-499"><span class="linenos"> 499</span></a><span class="w"> </span><span class="sd">"""Extract w0/a from given .ms.dat files. Returns w0 as Obs.</span>
|
||||
</span><span id="L-500"><a href="#L-500"><span class="linenos"> 500</span></a>
|
||||
</span><span id="L-501"><a href="#L-501"><span class="linenos"> 501</span></a><span class="sd"> It is assumed that all boundary effects have</span>
|
||||
|
@ -676,7 +676,7 @@
|
|||
</span><span id="L-577"><a href="#L-577"><span class="linenos"> 577</span></a> <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">fit_t0</span><span class="p">(</span><span class="n">tdtt2E_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="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'plot_fit'</span><span class="p">),</span> <span class="n">observable</span><span class="o">=</span><span class="s1">'w0'</span><span class="p">))</span>
|
||||
</span><span id="L-578"><a href="#L-578"><span class="linenos"> 578</span></a>
|
||||
</span><span id="L-579"><a href="#L-579"><span class="linenos"> 579</span></a>
|
||||
</span><span id="L-580"><a href="#L-580"><span class="linenos"> 580</span></a><span class="k">def</span> <span class="nf">_parse_array_openQCD2</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">n</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">wa</span><span class="p">,</span> <span class="n">quadrupel</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
</span><span id="L-580"><a href="#L-580"><span class="linenos"> 580</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_parse_array_openQCD2</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">n</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">wa</span><span class="p">,</span> <span class="n">quadrupel</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
</span><span id="L-581"><a href="#L-581"><span class="linenos"> 581</span></a> <span class="n">arr</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-582"><a href="#L-582"><span class="linenos"> 582</span></a> <span class="k">if</span> <span class="n">d</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
|
||||
</span><span id="L-583"><a href="#L-583"><span class="linenos"> 583</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">n</span><span class="p">[</span><span class="mi">0</span><span class="p">]):</span>
|
||||
|
@ -695,7 +695,7 @@
|
|||
</span><span id="L-596"><a href="#L-596"><span class="linenos"> 596</span></a> <span class="k">return</span> <span class="n">arr</span>
|
||||
</span><span id="L-597"><a href="#L-597"><span class="linenos"> 597</span></a>
|
||||
</span><span id="L-598"><a href="#L-598"><span class="linenos"> 598</span></a>
|
||||
</span><span id="L-599"><a href="#L-599"><span class="linenos"> 599</span></a><span class="k">def</span> <span class="nf">_find_files</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">postfix</span><span class="p">,</span> <span class="n">ext</span><span class="p">,</span> <span class="n">known_files</span><span class="o">=</span><span class="p">[]):</span>
|
||||
</span><span id="L-599"><a href="#L-599"><span class="linenos"> 599</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_find_files</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">postfix</span><span class="p">,</span> <span class="n">ext</span><span class="p">,</span> <span class="n">known_files</span><span class="o">=</span><span class="p">[]):</span>
|
||||
</span><span id="L-600"><a href="#L-600"><span class="linenos"> 600</span></a> <span class="n">found</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-601"><a href="#L-601"><span class="linenos"> 601</span></a> <span class="n">files</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-602"><a href="#L-602"><span class="linenos"> 602</span></a>
|
||||
|
@ -735,7 +735,7 @@
|
|||
</span><span id="L-636"><a href="#L-636"><span class="linenos"> 636</span></a> <span class="k">return</span> <span class="n">files</span>
|
||||
</span><span id="L-637"><a href="#L-637"><span class="linenos"> 637</span></a>
|
||||
</span><span id="L-638"><a href="#L-638"><span class="linenos"> 638</span></a>
|
||||
</span><span id="L-639"><a href="#L-639"><span class="linenos"> 639</span></a><span class="k">def</span> <span class="nf">_read_array_openQCD2</span><span class="p">(</span><span class="n">fp</span><span class="p">):</span>
|
||||
</span><span id="L-639"><a href="#L-639"><span class="linenos"> 639</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_read_array_openQCD2</span><span class="p">(</span><span class="n">fp</span><span class="p">):</span>
|
||||
</span><span id="L-640"><a href="#L-640"><span class="linenos"> 640</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-641"><a href="#L-641"><span class="linenos"> 641</span></a> <span class="n">d</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-642"><a href="#L-642"><span class="linenos"> 642</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="o">*</span> <span class="n">d</span><span class="p">)</span>
|
||||
|
@ -761,7 +761,7 @@
|
|||
</span><span id="L-662"><a href="#L-662"><span class="linenos"> 662</span></a> <span class="k">return</span> <span class="p">{</span><span class="s1">'d'</span><span class="p">:</span> <span class="n">d</span><span class="p">,</span> <span class="s1">'n'</span><span class="p">:</span> <span class="n">n</span><span class="p">,</span> <span class="s1">'size'</span><span class="p">:</span> <span class="n">size</span><span class="p">,</span> <span class="s1">'arr'</span><span class="p">:</span> <span class="n">arr</span><span class="p">}</span>
|
||||
</span><span id="L-663"><a href="#L-663"><span class="linenos"> 663</span></a>
|
||||
</span><span id="L-664"><a href="#L-664"><span class="linenos"> 664</span></a>
|
||||
</span><span id="L-665"><a href="#L-665"><span class="linenos"> 665</span></a><span class="k">def</span> <span class="nf">read_qtop</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s2">"openQCD"</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-665"><a href="#L-665"><span class="linenos"> 665</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_qtop</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s2">"openQCD"</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-666"><a href="#L-666"><span class="linenos"> 666</span></a><span class="w"> </span><span class="sd">"""Read the topologial charge based on openQCD gradient flow measurements.</span>
|
||||
</span><span id="L-667"><a href="#L-667"><span class="linenos"> 667</span></a>
|
||||
</span><span id="L-668"><a href="#L-668"><span class="linenos"> 668</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -814,7 +814,7 @@
|
|||
</span><span id="L-715"><a href="#L-715"><span class="linenos"> 715</span></a> <span class="k">return</span> <span class="n">_read_flow_obs</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="n">dtr_cnfg</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="n">version</span><span class="p">,</span> <span class="n">obspos</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||
</span><span id="L-716"><a href="#L-716"><span class="linenos"> 716</span></a>
|
||||
</span><span id="L-717"><a href="#L-717"><span class="linenos"> 717</span></a>
|
||||
</span><span id="L-718"><a href="#L-718"><span class="linenos"> 718</span></a><span class="k">def</span> <span class="nf">read_gf_coupling</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">Zeuthen_flow</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-718"><a href="#L-718"><span class="linenos"> 718</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_gf_coupling</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">Zeuthen_flow</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-719"><a href="#L-719"><span class="linenos"> 719</span></a><span class="w"> </span><span class="sd">"""Read the gradient flow coupling based on sfqcd gradient flow measurements. See 1607.06423 for details.</span>
|
||||
</span><span id="L-720"><a href="#L-720"><span class="linenos"> 720</span></a>
|
||||
</span><span id="L-721"><a href="#L-721"><span class="linenos"> 721</span></a><span class="sd"> Note: The current implementation only works for c=0.3 and T=L. The definition of the coupling in 1607.06423 requires projection to topological charge zero which is not done within this function but has to be performed in a separate step.</span>
|
||||
|
@ -886,7 +886,7 @@
|
|||
</span><span id="L-787"><a href="#L-787"><span class="linenos"> 787</span></a> <span class="k">return</span> <span class="n">t</span> <span class="o">*</span> <span class="n">t</span> <span class="o">*</span> <span class="p">(</span><span class="mi">5</span> <span class="o">/</span> <span class="mi">3</span> <span class="o">*</span> <span class="n">plaq</span> <span class="o">-</span> <span class="mi">1</span> <span class="o">/</span> <span class="mi">12</span> <span class="o">*</span> <span class="n">C2x1</span><span class="p">)</span> <span class="o">/</span> <span class="n">normdict</span><span class="p">[</span><span class="n">L</span><span class="p">]</span>
|
||||
</span><span id="L-788"><a href="#L-788"><span class="linenos"> 788</span></a>
|
||||
</span><span id="L-789"><a href="#L-789"><span class="linenos"> 789</span></a>
|
||||
</span><span id="L-790"><a href="#L-790"><span class="linenos"> 790</span></a><span class="k">def</span> <span class="nf">_read_flow_obs</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s2">"openQCD"</span><span class="p">,</span> <span class="n">obspos</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">sum_t</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-790"><a href="#L-790"><span class="linenos"> 790</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_read_flow_obs</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s2">"openQCD"</span><span class="p">,</span> <span class="n">obspos</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">sum_t</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-791"><a href="#L-791"><span class="linenos"> 791</span></a><span class="w"> </span><span class="sd">"""Read a flow observable based on openQCD gradient flow measurements.</span>
|
||||
</span><span id="L-792"><a href="#L-792"><span class="linenos"> 792</span></a>
|
||||
</span><span id="L-793"><a href="#L-793"><span class="linenos"> 793</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -1094,7 +1094,7 @@
|
|||
</span><span id="L-995"><a href="#L-995"><span class="linenos"> 995</span></a> <span class="n">r_start_index</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">index</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><span id="L-996"><a href="#L-996"><span class="linenos"> 996</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
</span><span id="L-997"><a href="#L-997"><span class="linenos"> 997</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Config </span><span class="si">%d</span><span class="s1"> not in file with range [</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><span id="L-998"><a href="#L-998"><span class="linenos"> 998</span></a> <span class="n">r_start</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span> <span class="kc">None</span>
|
||||
</span><span id="L-998"><a href="#L-998"><span class="linenos"> 998</span></a> <span class="n">r_start</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||
</span><span id="L-999"><a href="#L-999"><span class="linenos"> 999</span></a>
|
||||
</span><span id="L-1000"><a href="#L-1000"><span class="linenos">1000</span></a> <span class="k">if</span> <span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
</span><span id="L-1001"><a href="#L-1001"><span class="linenos">1001</span></a> <span class="n">r_stop_index</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
|
||||
|
@ -1103,7 +1103,7 @@
|
|||
</span><span id="L-1004"><a href="#L-1004"><span class="linenos">1004</span></a> <span class="n">r_stop_index</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">index</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-1005"><a href="#L-1005"><span class="linenos">1005</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
</span><span id="L-1006"><a href="#L-1006"><span class="linenos">1006</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Config </span><span class="si">%d</span><span class="s1"> not in file with range [</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><span id="L-1007"><a href="#L-1007"><span class="linenos">1007</span></a> <span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span> <span class="kc">None</span>
|
||||
</span><span id="L-1007"><a href="#L-1007"><span class="linenos">1007</span></a> <span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||
</span><span id="L-1008"><a href="#L-1008"><span class="linenos">1008</span></a>
|
||||
</span><span id="L-1009"><a href="#L-1009"><span class="linenos">1009</span></a> <span class="k">if</span> <span class="n">version</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'sfqcd'</span><span class="p">]:</span>
|
||||
</span><span id="L-1010"><a href="#L-1010"><span class="linenos">1010</span></a> <span class="n">cstepsize</span> <span class="o">=</span> <span class="n">cmax</span> <span class="o">/</span> <span class="n">ncs</span>
|
||||
|
@ -1158,7 +1158,7 @@
|
|||
</span><span id="L-1059"><a href="#L-1059"><span class="linenos">1059</span></a> <span class="k">return</span> <span class="n">result</span>
|
||||
</span><span id="L-1060"><a href="#L-1060"><span class="linenos">1060</span></a>
|
||||
</span><span id="L-1061"><a href="#L-1061"><span class="linenos">1061</span></a>
|
||||
</span><span id="L-1062"><a href="#L-1062"><span class="linenos">1062</span></a><span class="k">def</span> <span class="nf">qtop_projection</span><span class="p">(</span><span class="n">qtop</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
|
||||
</span><span id="L-1062"><a href="#L-1062"><span class="linenos">1062</span></a><span class="k">def</span><span class="w"> </span><span class="nf">qtop_projection</span><span class="p">(</span><span class="n">qtop</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
|
||||
</span><span id="L-1063"><a href="#L-1063"><span class="linenos">1063</span></a><span class="w"> </span><span class="sd">"""Returns the projection to the topological charge sector defined by target.</span>
|
||||
</span><span id="L-1064"><a href="#L-1064"><span class="linenos">1064</span></a>
|
||||
</span><span id="L-1065"><a href="#L-1065"><span class="linenos">1065</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -1184,7 +1184,7 @@
|
|||
</span><span id="L-1085"><a href="#L-1085"><span class="linenos">1085</span></a> <span class="k">return</span> <span class="n">reto</span>
|
||||
</span><span id="L-1086"><a href="#L-1086"><span class="linenos">1086</span></a>
|
||||
</span><span id="L-1087"><a href="#L-1087"><span class="linenos">1087</span></a>
|
||||
</span><span id="L-1088"><a href="#L-1088"><span class="linenos">1088</span></a><span class="k">def</span> <span class="nf">read_qtop_sector</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-1088"><a href="#L-1088"><span class="linenos">1088</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_qtop_sector</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-1089"><a href="#L-1089"><span class="linenos">1089</span></a><span class="w"> </span><span class="sd">"""Constructs reweighting factors to a specified topological sector.</span>
|
||||
</span><span id="L-1090"><a href="#L-1090"><span class="linenos">1090</span></a>
|
||||
</span><span id="L-1091"><a href="#L-1091"><span class="linenos">1091</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -1242,7 +1242,7 @@
|
|||
</span><span id="L-1143"><a href="#L-1143"><span class="linenos">1143</span></a> <span class="k">return</span> <span class="n">qtop_projection</span><span class="p">(</span><span class="n">qtop</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="n">target</span><span class="p">)</span>
|
||||
</span><span id="L-1144"><a href="#L-1144"><span class="linenos">1144</span></a>
|
||||
</span><span id="L-1145"><a href="#L-1145"><span class="linenos">1145</span></a>
|
||||
</span><span id="L-1146"><a href="#L-1146"><span class="linenos">1146</span></a><span class="k">def</span> <span class="nf">read_ms5_xsf</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">qc</span><span class="p">,</span> <span class="n">corr</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s2">"r"</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-1146"><a href="#L-1146"><span class="linenos">1146</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_ms5_xsf</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">qc</span><span class="p">,</span> <span class="n">corr</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s2">"r"</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-1147"><a href="#L-1147"><span class="linenos">1147</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="L-1148"><a href="#L-1148"><span class="linenos">1148</span></a><span class="sd"> Read data from files in the specified directory with the specified prefix and quark combination extension, and return a `Corr` object containing the data.</span>
|
||||
</span><span id="L-1149"><a href="#L-1149"><span class="linenos">1149</span></a>
|
||||
|
@ -1423,7 +1423,7 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_rwms"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_rwms-14"><a href="#read_rwms-14"><span class="linenos"> 14</span></a><span class="k">def</span> <span class="nf">read_rwms</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s1">'2.0'</span><span class="p">,</span> <span class="n">names</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_rwms-14"><a href="#read_rwms-14"><span class="linenos"> 14</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_rwms</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s1">'2.0'</span><span class="p">,</span> <span class="n">names</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="read_rwms-15"><a href="#read_rwms-15"><span class="linenos"> 15</span></a><span class="w"> </span><span class="sd">"""Read rwms format from given folder structure. Returns a list of length nrw</span>
|
||||
</span><span id="read_rwms-16"><a href="#read_rwms-16"><span class="linenos"> 16</span></a>
|
||||
</span><span id="read_rwms-17"><a href="#read_rwms-17"><span class="linenos"> 17</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -1613,7 +1613,7 @@
|
|||
</span><span id="read_rwms-201"><a href="#read_rwms-201"><span class="linenos">201</span></a> <span class="n">r_start_index</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">index</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><span id="read_rwms-202"><a href="#read_rwms-202"><span class="linenos">202</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
</span><span id="read_rwms-203"><a href="#read_rwms-203"><span class="linenos">203</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Config </span><span class="si">%d</span><span class="s1"> not in file with range [</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><span id="read_rwms-204"><a href="#read_rwms-204"><span class="linenos">204</span></a> <span class="n">r_start</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span> <span class="kc">None</span>
|
||||
</span><span id="read_rwms-204"><a href="#read_rwms-204"><span class="linenos">204</span></a> <span class="n">r_start</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||
</span><span id="read_rwms-205"><a href="#read_rwms-205"><span class="linenos">205</span></a>
|
||||
</span><span id="read_rwms-206"><a href="#read_rwms-206"><span class="linenos">206</span></a> <span class="k">if</span> <span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
</span><span id="read_rwms-207"><a href="#read_rwms-207"><span class="linenos">207</span></a> <span class="n">r_stop_index</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
|
||||
|
@ -1622,7 +1622,7 @@
|
|||
</span><span id="read_rwms-210"><a href="#read_rwms-210"><span class="linenos">210</span></a> <span class="n">r_stop_index</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">index</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_rwms-211"><a href="#read_rwms-211"><span class="linenos">211</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
</span><span id="read_rwms-212"><a href="#read_rwms-212"><span class="linenos">212</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Config </span><span class="si">%d</span><span class="s1"> not in file with range [</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><span id="read_rwms-213"><a href="#read_rwms-213"><span class="linenos">213</span></a> <span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span> <span class="kc">None</span>
|
||||
</span><span id="read_rwms-213"><a href="#read_rwms-213"><span class="linenos">213</span></a> <span class="n">r_stop</span><span class="p">[</span><span class="n">rep</span><span class="p">],</span> <span class="n">configlist</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="n">configlist</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||
</span><span id="read_rwms-214"><a href="#read_rwms-214"><span class="linenos">214</span></a>
|
||||
</span><span id="read_rwms-215"><a href="#read_rwms-215"><span class="linenos">215</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_rwms-216"><a href="#read_rwms-216"><span class="linenos">216</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_index</span><span class="p">[</span><span class="n">rep</span><span class="p">]:</span><span class="n">r_stop_index</span><span class="p">[</span><span class="n">rep</span><span class="p">]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">][::</span><span class="n">r_step</span><span class="p">])</span>
|
||||
|
@ -1696,7 +1696,7 @@ Reweighting factors read</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#extract_t0"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="extract_t0-426"><a href="#extract_t0-426"><span class="linenos">426</span></a><span class="k">def</span> <span class="nf">extract_t0</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">dtr_read</span><span class="p">,</span> <span class="n">xmin</span><span class="p">,</span> <span class="n">spatial_extent</span><span class="p">,</span> <span class="n">fit_range</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="n">postfix</span><span class="o">=</span><span class="s1">'ms'</span><span class="p">,</span> <span class="n">c</span><span class="o">=</span><span class="mf">0.3</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="extract_t0-426"><a href="#extract_t0-426"><span class="linenos">426</span></a><span class="k">def</span><span class="w"> </span><span class="nf">extract_t0</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">dtr_read</span><span class="p">,</span> <span class="n">xmin</span><span class="p">,</span> <span class="n">spatial_extent</span><span class="p">,</span> <span class="n">fit_range</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="n">postfix</span><span class="o">=</span><span class="s1">'ms'</span><span class="p">,</span> <span class="n">c</span><span class="o">=</span><span class="mf">0.3</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="extract_t0-427"><a href="#extract_t0-427"><span class="linenos">427</span></a><span class="w"> </span><span class="sd">"""Extract t0/a^2 from given .ms.dat files. Returns t0 as Obs.</span>
|
||||
</span><span id="extract_t0-428"><a href="#extract_t0-428"><span class="linenos">428</span></a>
|
||||
</span><span id="extract_t0-429"><a href="#extract_t0-429"><span class="linenos">429</span></a><span class="sd"> It is assumed that all boundary effects have</span>
|
||||
|
@ -1851,7 +1851,7 @@ Extracted t0</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#extract_w0"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="extract_w0-499"><a href="#extract_w0-499"><span class="linenos">499</span></a><span class="k">def</span> <span class="nf">extract_w0</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">dtr_read</span><span class="p">,</span> <span class="n">xmin</span><span class="p">,</span> <span class="n">spatial_extent</span><span class="p">,</span> <span class="n">fit_range</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="n">postfix</span><span class="o">=</span><span class="s1">'ms'</span><span class="p">,</span> <span class="n">c</span><span class="o">=</span><span class="mf">0.3</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="extract_w0-499"><a href="#extract_w0-499"><span class="linenos">499</span></a><span class="k">def</span><span class="w"> </span><span class="nf">extract_w0</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">dtr_read</span><span class="p">,</span> <span class="n">xmin</span><span class="p">,</span> <span class="n">spatial_extent</span><span class="p">,</span> <span class="n">fit_range</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="n">postfix</span><span class="o">=</span><span class="s1">'ms'</span><span class="p">,</span> <span class="n">c</span><span class="o">=</span><span class="mf">0.3</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="extract_w0-500"><a href="#extract_w0-500"><span class="linenos">500</span></a><span class="w"> </span><span class="sd">"""Extract w0/a from given .ms.dat files. Returns w0 as Obs.</span>
|
||||
</span><span id="extract_w0-501"><a href="#extract_w0-501"><span class="linenos">501</span></a>
|
||||
</span><span id="extract_w0-502"><a href="#extract_w0-502"><span class="linenos">502</span></a><span class="sd"> It is assumed that all boundary effects have</span>
|
||||
|
@ -2015,7 +2015,7 @@ Extracted w0</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_qtop"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_qtop-666"><a href="#read_qtop-666"><span class="linenos">666</span></a><span class="k">def</span> <span class="nf">read_qtop</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s2">"openQCD"</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_qtop-666"><a href="#read_qtop-666"><span class="linenos">666</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_qtop</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s2">"openQCD"</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="read_qtop-667"><a href="#read_qtop-667"><span class="linenos">667</span></a><span class="w"> </span><span class="sd">"""Read the topologial charge based on openQCD gradient flow measurements.</span>
|
||||
</span><span id="read_qtop-668"><a href="#read_qtop-668"><span class="linenos">668</span></a>
|
||||
</span><span id="read_qtop-669"><a href="#read_qtop-669"><span class="linenos">669</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -2135,7 +2135,7 @@ Read topological charge</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_gf_coupling"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_gf_coupling-719"><a href="#read_gf_coupling-719"><span class="linenos">719</span></a><span class="k">def</span> <span class="nf">read_gf_coupling</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">Zeuthen_flow</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_gf_coupling-719"><a href="#read_gf_coupling-719"><span class="linenos">719</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_gf_coupling</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">dtr_cnfg</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">Zeuthen_flow</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="read_gf_coupling-720"><a href="#read_gf_coupling-720"><span class="linenos">720</span></a><span class="w"> </span><span class="sd">"""Read the gradient flow coupling based on sfqcd gradient flow measurements. See 1607.06423 for details.</span>
|
||||
</span><span id="read_gf_coupling-721"><a href="#read_gf_coupling-721"><span class="linenos">721</span></a>
|
||||
</span><span id="read_gf_coupling-722"><a href="#read_gf_coupling-722"><span class="linenos">722</span></a><span class="sd"> Note: The current implementation only works for c=0.3 and T=L. The definition of the coupling in 1607.06423 requires projection to topological charge zero which is not done within this function but has to be performed in a separate step.</span>
|
||||
|
@ -2260,7 +2260,7 @@ postfix of the file to read, e.g. '.gfms.dat' for openQCD-files</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#qtop_projection"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="qtop_projection-1063"><a href="#qtop_projection-1063"><span class="linenos">1063</span></a><span class="k">def</span> <span class="nf">qtop_projection</span><span class="p">(</span><span class="n">qtop</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="qtop_projection-1063"><a href="#qtop_projection-1063"><span class="linenos">1063</span></a><span class="k">def</span><span class="w"> </span><span class="nf">qtop_projection</span><span class="p">(</span><span class="n">qtop</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
|
||||
</span><span id="qtop_projection-1064"><a href="#qtop_projection-1064"><span class="linenos">1064</span></a><span class="w"> </span><span class="sd">"""Returns the projection to the topological charge sector defined by target.</span>
|
||||
</span><span id="qtop_projection-1065"><a href="#qtop_projection-1065"><span class="linenos">1065</span></a>
|
||||
</span><span id="qtop_projection-1066"><a href="#qtop_projection-1066"><span class="linenos">1066</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -2319,7 +2319,7 @@ projection to the topological charge sector defined by target</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_qtop_sector"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_qtop_sector-1089"><a href="#read_qtop_sector-1089"><span class="linenos">1089</span></a><span class="k">def</span> <span class="nf">read_qtop_sector</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_qtop_sector-1089"><a href="#read_qtop_sector-1089"><span class="linenos">1089</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_qtop_sector</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="read_qtop_sector-1090"><a href="#read_qtop_sector-1090"><span class="linenos">1090</span></a><span class="w"> </span><span class="sd">"""Constructs reweighting factors to a specified topological sector.</span>
|
||||
</span><span id="read_qtop_sector-1091"><a href="#read_qtop_sector-1091"><span class="linenos">1091</span></a>
|
||||
</span><span id="read_qtop_sector-1092"><a href="#read_qtop_sector-1092"><span class="linenos">1092</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -2443,7 +2443,7 @@ projection to the topological charge sector defined by target</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_ms5_xsf"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_ms5_xsf-1147"><a href="#read_ms5_xsf-1147"><span class="linenos">1147</span></a><span class="k">def</span> <span class="nf">read_ms5_xsf</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">qc</span><span class="p">,</span> <span class="n">corr</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s2">"r"</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_ms5_xsf-1147"><a href="#read_ms5_xsf-1147"><span class="linenos">1147</span></a><span class="k">def</span><span class="w"> </span><span class="nf">read_ms5_xsf</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">qc</span><span class="p">,</span> <span class="n">corr</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s2">"r"</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="read_ms5_xsf-1148"><a href="#read_ms5_xsf-1148"><span class="linenos">1148</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="read_ms5_xsf-1149"><a href="#read_ms5_xsf-1149"><span class="linenos">1149</span></a><span class="sd"> Read data from files in the specified directory with the specified prefix and quark combination extension, and return a `Corr` object containing the data.</span>
|
||||
</span><span id="read_ms5_xsf-1150"><a href="#read_ms5_xsf-1150"><span class="linenos">1150</span></a>
|
||||
|
|
|
@ -85,17 +85,17 @@
|
|||
|
||||
<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="nn">warnings</span>
|
||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span> <span class="nn">gzip</span>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span> <span class="nn">sqlite3</span>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
|
||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">from</span> <span class="nn">..obs</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">from</span> <span class="nn">..correlators</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">from</span> <span class="nn">.json</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 class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</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">warnings</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-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-4"><a href="#L-4"><span class="linenos"> 4</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 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">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">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 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><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="k">def</span> <span class="nf">to_sql</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">table_name</span><span class="p">,</span> <span class="n">db</span><span class="p">,</span> <span class="n">if_exists</span><span class="o">=</span><span class="s1">'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-11"><a href="#L-11"><span class="linenos"> 11</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 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 class="sd"> Parameters</span>
|
||||
|
@ -121,7 +121,7 @@
|
|||
</span><span id="L-34"><a href="#L-34"><span class="linenos"> 34</span></a> <span class="n">con</span><span class="o">.</span><span class="n">close</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><span id="L-37"><a href="#L-37"><span class="linenos"> 37</span></a><span class="k">def</span> <span class="nf">read_sql</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">db</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-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-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-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"> Parameters</span>
|
||||
|
@ -145,7 +145,7 @@
|
|||
</span><span id="L-58"><a href="#L-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="L-59"><a href="#L-59"><span class="linenos"> 59</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">def</span> <span class="nf">dump_df</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-61"><a href="#L-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>
|
||||
</span><span id="L-62"><a href="#L-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="L-63"><a href="#L-63"><span class="linenos"> 63</span></a>
|
||||
</span><span id="L-64"><a href="#L-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>
|
||||
|
@ -184,7 +184,7 @@
|
|||
</span><span id="L-97"><a href="#L-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="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><span id="L-100"><a href="#L-100"><span class="linenos">100</span></a><span class="k">def</span> <span class="nf">load_df</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-100"><a href="#L-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>
|
||||
</span><span id="L-101"><a href="#L-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="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"> Parameters</span>
|
||||
|
@ -218,7 +218,7 @@
|
|||
</span><span id="L-131"><a href="#L-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="L-132"><a href="#L-132"><span class="linenos">132</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 class="k">def</span> <span class="nf">_serialize_df</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</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-135"><a href="#L-135"><span class="linenos">135</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-136"><a href="#L-136"><span class="linenos">136</span></a>
|
||||
</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -239,7 +239,7 @@
|
|||
</span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a> <span class="k">return</span> <span class="n">out</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><span id="L-155"><a href="#L-155"><span class="linenos">155</span></a><span class="k">def</span> <span class="nf">_deserialize_df</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
</span><span id="L-155"><a href="#L-155"><span class="linenos">155</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-156"><a href="#L-156"><span class="linenos">156</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-157"><a href="#L-157"><span class="linenos">157</span></a>
|
||||
</span><span id="L-158"><a href="#L-158"><span class="linenos">158</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -275,7 +275,7 @@
|
|||
</span><span id="L-188"><a href="#L-188"><span class="linenos">188</span></a> <span class="k">return</span> <span class="n">df</span>
|
||||
</span><span id="L-189"><a href="#L-189"><span class="linenos">189</span></a>
|
||||
</span><span id="L-190"><a href="#L-190"><span class="linenos">190</span></a>
|
||||
</span><span id="L-191"><a href="#L-191"><span class="linenos">191</span></a><span class="k">def</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-191"><a href="#L-191"><span class="linenos">191</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-192"><a href="#L-192"><span class="linenos">192</span></a> <span class="n">serialize</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
</span><span id="L-193"><a href="#L-193"><span class="linenos">193</span></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
</span><span id="L-194"><a href="#L-194"><span class="linenos">194</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">col</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
|
@ -303,7 +303,7 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#to_sql"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="to_sql-12"><a href="#to_sql-12"><span class="linenos">12</span></a><span class="k">def</span> <span class="nf">to_sql</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">table_name</span><span class="p">,</span> <span class="n">db</span><span class="p">,</span> <span class="n">if_exists</span><span class="o">=</span><span class="s1">'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-12"><a href="#to_sql-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="to_sql-13"><a href="#to_sql-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="to_sql-14"><a href="#to_sql-14"><span class="linenos">14</span></a>
|
||||
</span><span id="to_sql-15"><a href="#to_sql-15"><span class="linenos">15</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -367,7 +367,7 @@ If True the json strings are gzipped.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#read_sql"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="read_sql-38"><a href="#read_sql-38"><span class="linenos">38</span></a><span class="k">def</span> <span class="nf">read_sql</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">db</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<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>
|
||||
</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-40"><a href="#read_sql-40"><span class="linenos">40</span></a>
|
||||
</span><span id="read_sql-41"><a href="#read_sql-41"><span class="linenos">41</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -427,7 +427,7 @@ Dataframe with the content of the sqlite database.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#dump_df"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="dump_df-62"><a href="#dump_df-62"><span class="linenos">62</span></a><span class="k">def</span> <span class="nf">dump_df</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">fname</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="dump_df-62"><a href="#dump_df-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="dump_df-63"><a href="#dump_df-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="dump_df-64"><a href="#dump_df-64"><span class="linenos">64</span></a>
|
||||
</span><span id="dump_df-65"><a href="#dump_df-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>
|
||||
|
@ -503,7 +503,7 @@ If True, the output is a gzipped csv file. If False, the output is a csv file.</
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#load_df"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="load_df-101"><a href="#load_df-101"><span class="linenos">101</span></a><span class="k">def</span> <span class="nf">load_df</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="n">auto_gamma</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">gz</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="load_df-101"><a href="#load_df-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="load_df-102"><a href="#load_df-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="load_df-103"><a href="#load_df-103"><span class="linenos">103</span></a>
|
||||
</span><span id="load_df-104"><a href="#load_df-104"><span class="linenos">104</span></a><span class="sd"> Parameters</span>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -86,12 +86,12 @@
|
|||
|
||||
<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-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</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="nn">fnmatch</span>
|
||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">import</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-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-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-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-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="k">def</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>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="w"> </span><span class="sd">"""Sorts a list of names of replika with searches for `r` and `id` in the replikum string.</span>
|
||||
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="sd"> If this search fails, a fallback method is used,</span>
|
||||
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a><span class="sd"> where the strings are simply compared and the first diffeing numeral is used for differentiation.</span>
|
||||
|
@ -138,7 +138,7 @@
|
|||
</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a> <span class="k">return</span> <span class="n">ll</span>
|
||||
</span><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a>
|
||||
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a>
|
||||
</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a><span class="k">def</span> <span class="nf">check_idl</span><span class="p">(</span><span class="n">idl</span><span class="p">,</span> <span class="n">che</span><span class="p">):</span>
|
||||
</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a><span class="k">def</span><span class="w"> </span><span class="nf">check_idl</span><span class="p">(</span><span class="n">idl</span><span class="p">,</span> <span class="n">che</span><span class="p">):</span>
|
||||
</span><span id="L-56"><a href="#L-56"><span class="linenos"> 56</span></a><span class="w"> </span><span class="sd">"""Checks if list of configurations is contained in an idl</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="sd"> Parameters</span>
|
||||
|
@ -168,7 +168,7 @@
|
|||
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="k">return</span> <span class="n">miss_str</span>
|
||||
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a>
|
||||
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a>
|
||||
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a><span class="k">def</span> <span class="nf">check_params</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">param_hash</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">param_prefix</span><span class="o">=</span><span class="s2">"parameters_"</span><span class="p">):</span>
|
||||
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a><span class="k">def</span><span class="w"> </span><span class="nf">check_params</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">param_hash</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">param_prefix</span><span class="o">=</span><span class="s2">"parameters_"</span><span class="p">):</span>
|
||||
</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</span></a><span class="sd"> Check if, for sfcf, the parameter hashes at the end of the parameter files are in fact the expected one.</span>
|
||||
</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a>
|
||||
|
@ -243,7 +243,7 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#sort_names"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="sort_names-9"><a href="#sort_names-9"><span class="linenos"> 9</span></a><span class="k">def</span> <span class="nf">sort_names</span><span class="p">(</span><span class="n">ll</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="sort_names-9"><a href="#sort_names-9"><span class="linenos"> 9</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="sort_names-10"><a href="#sort_names-10"><span class="linenos">10</span></a><span class="w"> </span><span class="sd">"""Sorts a list of names of replika with searches for `r` and `id` in the replikum string.</span>
|
||||
</span><span id="sort_names-11"><a href="#sort_names-11"><span class="linenos">11</span></a><span class="sd"> If this search fails, a fallback method is used,</span>
|
||||
</span><span id="sort_names-12"><a href="#sort_names-12"><span class="linenos">12</span></a><span class="sd"> where the strings are simply compared and the first diffeing numeral is used for differentiation.</span>
|
||||
|
@ -323,7 +323,7 @@ sorted list</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#check_idl"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="check_idl-56"><a href="#check_idl-56"><span class="linenos">56</span></a><span class="k">def</span> <span class="nf">check_idl</span><span class="p">(</span><span class="n">idl</span><span class="p">,</span> <span class="n">che</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="check_idl-56"><a href="#check_idl-56"><span class="linenos">56</span></a><span class="k">def</span><span class="w"> </span><span class="nf">check_idl</span><span class="p">(</span><span class="n">idl</span><span class="p">,</span> <span class="n">che</span><span class="p">):</span>
|
||||
</span><span id="check_idl-57"><a href="#check_idl-57"><span class="linenos">57</span></a><span class="w"> </span><span class="sd">"""Checks if list of configurations is contained in an idl</span>
|
||||
</span><span id="check_idl-58"><a href="#check_idl-58"><span class="linenos">58</span></a>
|
||||
</span><span id="check_idl-59"><a href="#check_idl-59"><span class="linenos">59</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -386,7 +386,7 @@ string with integers of which idls are missing</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#check_params"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="check_params-86"><a href="#check_params-86"><span class="linenos"> 86</span></a><span class="k">def</span> <span class="nf">check_params</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">param_hash</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">param_prefix</span><span class="o">=</span><span class="s2">"parameters_"</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="check_params-86"><a href="#check_params-86"><span class="linenos"> 86</span></a><span class="k">def</span><span class="w"> </span><span class="nf">check_params</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">param_hash</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="n">param_prefix</span><span class="o">=</span><span class="s2">"parameters_"</span><span class="p">):</span>
|
||||
</span><span id="check_params-87"><a href="#check_params-87"><span class="linenos"> 87</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="check_params-88"><a href="#check_params-88"><span class="linenos"> 88</span></a><span class="sd"> Check if, for sfcf, the parameter hashes at the end of the parameter files are in fact the expected one.</span>
|
||||
</span><span id="check_params-89"><a href="#check_params-89"><span class="linenos"> 89</span></a>
|
||||
|
|
|
@ -76,13 +76,13 @@
|
|||
|
||||
<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="nn">numpy</span> <span class="k">as</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="nn">.obs</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-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">from</span> <span class="nn">autograd</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="nn">scipy.integrate</span> <span class="kn">import</span> <span class="n">quad</span> <span class="k">as</span> <span class="n">squad</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-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">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-5"><a href="#L-5"><span class="linenos"> 5</span></a>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="k">def</span> <span class="nf">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 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-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-9"><a href="#L-9"><span class="linenos"> 9</span></a>
|
||||
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a><span class="sd"> The integration is performed using scipy.integrate.quad().</span>
|
||||
|
@ -178,7 +178,7 @@
|
|||
|
||||
</div>
|
||||
<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="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-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>
|
||||
</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><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>
|
||||
|
@ -275,9 +275,9 @@ The output is the same as for scipy.integrate.quad, the first element being an O
|
|||
function to integrate, has to be of the form</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="kn">import</span> <span class="nn">autograd.numpy</span> <span class="k">as</span> <span class="nn">anp</span>
|
||||
<pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn">autograd.numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">anp</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">func</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">p</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">p</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">x</span> <span class="o">+</span> <span class="n">p</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">*</span> <span class="n">anp</span><span class="o">.</span><span class="n">sinh</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
|
|
@ -106,12 +106,12 @@
|
|||
|
||||
<label class="view-source-button" for="mod-linalg-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="nn">numpy</span> <span class="k">as</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="nn">autograd.numpy</span> <span class="k">as</span> <span class="nn">anp</span> <span class="c1"># Thinly-wrapped numpy</span>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">from</span> <span class="nn">.obs</span> <span class="kn">import</span> <span class="n">derived_observable</span><span class="p">,</span> <span class="n">CObs</span><span class="p">,</span> <span class="n">Obs</span><span class="p">,</span> <span class="n">import_jackknife</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">autograd.numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">anp</span> <span class="c1"># Thinly-wrapped numpy</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">derived_observable</span><span class="p">,</span> <span class="n">CObs</span><span class="p">,</span> <span class="n">Obs</span><span class="p">,</span> <span class="n">import_jackknife</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-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="k">def</span> <span class="nf">matmul</span><span class="p">(</span><span class="o">*</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="k">def</span><span class="w"> </span><span class="nf">matmul</span><span class="p">(</span><span class="o">*</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="w"> </span><span class="sd">"""Matrix multiply all operands.</span>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -129,7 +129,7 @@
|
|||
</span><span id="L-21"><a href="#L-21"><span class="linenos"> 21</span></a> <span class="n">extended_operands</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmp</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||
</span><span id="L-22"><a href="#L-22"><span class="linenos"> 22</span></a> <span class="n">extended_operands</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmp</span><span class="p">[</span><span class="mi">1</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 class="k">def</span> <span class="nf">multi_dot</span><span class="p">(</span><span class="n">operands</span><span class="p">,</span> <span class="n">part</span><span class="p">):</span>
|
||||
</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">multi_dot</span><span class="p">(</span><span class="n">operands</span><span class="p">,</span> <span class="n">part</span><span class="p">):</span>
|
||||
</span><span id="L-25"><a href="#L-25"><span class="linenos"> 25</span></a> <span class="n">stack_r</span> <span class="o">=</span> <span class="n">operands</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-26"><a href="#L-26"><span class="linenos"> 26</span></a> <span class="n">stack_i</span> <span class="o">=</span> <span class="n">operands</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="L-27"><a href="#L-27"><span class="linenos"> 27</span></a> <span class="k">for</span> <span class="n">op_r</span><span class="p">,</span> <span class="n">op_i</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">operands</span><span class="p">[</span><span class="mi">2</span><span class="p">::</span><span class="mi">2</span><span class="p">],</span> <span class="n">operands</span><span class="p">[</span><span class="mi">3</span><span class="p">::</span><span class="mi">2</span><span class="p">]):</span>
|
||||
|
@ -144,10 +144,10 @@
|
|||
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-37"><a href="#L-37"><span class="linenos"> 37</span></a> <span class="k">return</span> <span class="n">stack_i</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 class="k">def</span> <span class="nf">multi_dot_r</span><span class="p">(</span><span class="n">operands</span><span class="p">):</span>
|
||||
</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">multi_dot_r</span><span class="p">(</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a> <span class="k">return</span> <span class="n">multi_dot</span><span class="p">(</span><span class="n">operands</span><span class="p">,</span> <span class="s1">'Real'</span><span class="p">)</span>
|
||||
</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a>
|
||||
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a> <span class="k">def</span> <span class="nf">multi_dot_i</span><span class="p">(</span><span class="n">operands</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">multi_dot_i</span><span class="p">(</span><span class="n">operands</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">multi_dot</span><span class="p">(</span><span class="n">operands</span><span class="p">,</span> <span class="s1">'Imag'</span><span class="p">)</span>
|
||||
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a>
|
||||
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a> <span class="n">Nr</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="n">multi_dot_r</span><span class="p">,</span> <span class="n">extended_operands</span><span class="p">,</span> <span class="n">array_mode</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||||
|
@ -159,7 +159,7 @@
|
|||
</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="k">return</span> <span class="n">res</span>
|
||||
</span><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a> <span class="k">def</span> <span class="nf">multi_dot</span><span class="p">(</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">multi_dot</span><span class="p">(</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a> <span class="n">stack</span> <span class="o">=</span> <span class="n">operands</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-56"><a href="#L-56"><span class="linenos"> 56</span></a> <span class="k">for</span> <span class="n">op</span> <span class="ow">in</span> <span class="n">operands</span><span class="p">[</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 class="n">stack</span> <span class="o">=</span> <span class="n">stack</span> <span class="o">@</span> <span class="n">op</span>
|
||||
|
@ -167,7 +167,7 @@
|
|||
</span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a> <span class="k">return</span> <span class="n">derived_observable</span><span class="p">(</span><span class="n">multi_dot</span><span class="p">,</span> <span class="n">operands</span><span class="p">,</span> <span class="n">array_mode</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><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a><span class="k">def</span> <span class="nf">jack_matmul</span><span class="p">(</span><span class="o">*</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a><span class="k">def</span><span class="w"> </span><span class="nf">jack_matmul</span><span class="p">(</span><span class="o">*</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a><span class="w"> </span><span class="sd">"""Matrix multiply both operands making use of the jackknife approximation.</span>
|
||||
</span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a>
|
||||
</span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -179,25 +179,25 @@
|
|||
</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a><span class="sd"> For large matrices this is considerably faster compared to matmul.</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><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a> <span class="k">def</span> <span class="nf">_exp_to_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_exp_to_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty_like</span><span class="p">(</span><span class="n">matrix</span><span class="p">)</span>
|
||||
</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a> <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndenumerate</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a> <span class="n">base_matrix</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">entry</span><span class="o">.</span><span class="n">export_jackknife</span><span class="p">()</span>
|
||||
</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a> <span class="k">return</span> <span class="n">base_matrix</span>
|
||||
</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a>
|
||||
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="k">def</span> <span class="nf">_imp_from_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_imp_from_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty_like</span><span class="p">(</span><span class="n">matrix</span><span class="p">)</span>
|
||||
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndenumerate</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a> <span class="n">base_matrix</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">import_jackknife</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="p">[</span><span class="n">idl</span><span class="p">])</span>
|
||||
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a> <span class="k">return</span> <span class="n">base_matrix</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="k">def</span> <span class="nf">_exp_to_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_exp_to_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty_like</span><span class="p">(</span><span class="n">matrix</span><span class="p">)</span>
|
||||
</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a> <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndenumerate</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a> <span class="n">base_matrix</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">entry</span><span class="o">.</span><span class="n">real</span><span class="o">.</span><span class="n">export_jackknife</span><span class="p">()</span> <span class="o">+</span> <span class="mi">1</span><span class="n">j</span> <span class="o">*</span> <span class="n">entry</span><span class="o">.</span><span class="n">imag</span><span class="o">.</span><span class="n">export_jackknife</span><span class="p">()</span>
|
||||
</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a> <span class="k">return</span> <span class="n">base_matrix</span>
|
||||
</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a>
|
||||
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a> <span class="k">def</span> <span class="nf">_imp_from_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_imp_from_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="L-93"><a href="#L-93"><span class="linenos"> 93</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty_like</span><span class="p">(</span><span class="n">matrix</span><span class="p">)</span>
|
||||
</span><span id="L-94"><a href="#L-94"><span class="linenos"> 94</span></a> <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndenumerate</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a> <span class="n">base_matrix</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">CObs</span><span class="p">(</span><span class="n">import_jackknife</span><span class="p">(</span><span class="n">entry</span><span class="o">.</span><span class="n">real</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="p">[</span><span class="n">idl</span><span class="p">]),</span>
|
||||
|
@ -228,7 +228,7 @@
|
|||
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a> <span class="k">return</span> <span class="n">_imp_from_jack</span><span class="p">(</span><span class="n">r</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</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><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a><span class="k">def</span> <span class="nf">einsum</span><span class="p">(</span><span class="n">subscripts</span><span class="p">,</span> <span class="o">*</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a><span class="k">def</span><span class="w"> </span><span class="nf">einsum</span><span class="p">(</span><span class="n">subscripts</span><span class="p">,</span> <span class="o">*</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a><span class="w"> </span><span class="sd">"""Wrapper for numpy.einsum</span>
|
||||
</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a>
|
||||
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -240,25 +240,25 @@
|
|||
</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a><span class="sd"> Obs valued.</span>
|
||||
</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a><span class="sd"> """</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 class="k">def</span> <span class="nf">_exp_to_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</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">_exp_to_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a> <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndenumerate</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a> <span class="n">base_matrix</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">entry</span><span class="o">.</span><span class="n">export_jackknife</span><span class="p">())</span>
|
||||
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a> <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">base_matrix</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">matrix</span><span class="o">.</span><span class="n">shape</span> <span class="o">+</span> <span class="n">base_matrix</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
|
||||
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a>
|
||||
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a> <span class="k">def</span> <span class="nf">_exp_to_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_exp_to_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="L-142"><a href="#L-142"><span class="linenos">142</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a> <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndenumerate</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a> <span class="n">base_matrix</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">entry</span><span class="o">.</span><span class="n">real</span><span class="o">.</span><span class="n">export_jackknife</span><span class="p">()</span> <span class="o">+</span> <span class="mi">1</span><span class="n">j</span> <span class="o">*</span> <span class="n">entry</span><span class="o">.</span><span class="n">imag</span><span class="o">.</span><span class="n">export_jackknife</span><span class="p">())</span>
|
||||
</span><span id="L-145"><a href="#L-145"><span class="linenos">145</span></a> <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">base_matrix</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">matrix</span><span class="o">.</span><span class="n">shape</span> <span class="o">+</span> <span class="n">base_matrix</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
|
||||
</span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a>
|
||||
</span><span id="L-147"><a href="#L-147"><span class="linenos">147</span></a> <span class="k">def</span> <span class="nf">_imp_from_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="L-147"><a href="#L-147"><span class="linenos">147</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_imp_from_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="L-148"><a href="#L-148"><span class="linenos">148</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty</span><span class="p">(</span><span class="n">shape</span><span class="o">=</span><span class="n">matrix</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 class="n">dtype</span><span class="o">=</span><span class="nb">object</span><span class="p">)</span>
|
||||
</span><span id="L-149"><a href="#L-149"><span class="linenos">149</span></a> <span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndindex</span><span class="p">(</span><span class="n">matrix</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-150"><a href="#L-150"><span class="linenos">150</span></a> <span class="n">base_matrix</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">import_jackknife</span><span class="p">(</span><span class="n">matrix</span><span class="p">[</span><span class="n">index</span><span class="p">],</span> <span class="n">name</span><span class="p">,</span> <span class="p">[</span><span class="n">idl</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">base_matrix</span>
|
||||
</span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a>
|
||||
</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a> <span class="k">def</span> <span class="nf">_imp_from_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_imp_from_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="L-154"><a href="#L-154"><span class="linenos">154</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty</span><span class="p">(</span><span class="n">shape</span><span class="o">=</span><span class="n">matrix</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 class="n">dtype</span><span class="o">=</span><span class="nb">object</span><span class="p">)</span>
|
||||
</span><span id="L-155"><a href="#L-155"><span class="linenos">155</span></a> <span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndindex</span><span class="p">(</span><span class="n">matrix</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-156"><a href="#L-156"><span class="linenos">156</span></a> <span class="n">base_matrix</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">CObs</span><span class="p">(</span><span class="n">import_jackknife</span><span class="p">(</span><span class="n">matrix</span><span class="p">[</span><span class="n">index</span><span class="p">]</span><span class="o">.</span><span class="n">real</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="p">[</span><span class="n">idl</span><span class="p">]),</span>
|
||||
|
@ -302,26 +302,26 @@
|
|||
</span><span id="L-194"><a href="#L-194"><span class="linenos">194</span></a> <span class="k">return</span> <span class="n">result</span>
|
||||
</span><span id="L-195"><a href="#L-195"><span class="linenos">195</span></a>
|
||||
</span><span id="L-196"><a href="#L-196"><span class="linenos">196</span></a>
|
||||
</span><span id="L-197"><a href="#L-197"><span class="linenos">197</span></a><span class="k">def</span> <span class="nf">inv</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="L-197"><a href="#L-197"><span class="linenos">197</span></a><span class="k">def</span><span class="w"> </span><span class="nf">inv</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="L-198"><a href="#L-198"><span class="linenos">198</span></a><span class="w"> </span><span class="sd">"""Inverse of Obs or CObs valued matrices."""</span>
|
||||
</span><span id="L-199"><a href="#L-199"><span class="linenos">199</span></a> <span class="k">return</span> <span class="n">_mat_mat_op</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">inv</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
|
||||
</span><span id="L-200"><a href="#L-200"><span class="linenos">200</span></a>
|
||||
</span><span id="L-201"><a href="#L-201"><span class="linenos">201</span></a>
|
||||
</span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a><span class="k">def</span> <span class="nf">cholesky</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a><span class="k">def</span><span class="w"> </span><span class="nf">cholesky</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a><span class="w"> </span><span class="sd">"""Cholesky decomposition of Obs valued matrices."""</span>
|
||||
</span><span id="L-204"><a href="#L-204"><span class="linenos">204</span></a> <span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">CObs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">x</span><span class="o">.</span><span class="n">ravel</span><span class="p">()):</span>
|
||||
</span><span id="L-205"><a href="#L-205"><span class="linenos">205</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Cholesky decomposition is not implemented for CObs."</span><span class="p">)</span>
|
||||
</span><span id="L-206"><a href="#L-206"><span class="linenos">206</span></a> <span class="k">return</span> <span class="n">_mat_mat_op</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">cholesky</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
|
||||
</span><span id="L-207"><a href="#L-207"><span class="linenos">207</span></a>
|
||||
</span><span id="L-208"><a href="#L-208"><span class="linenos">208</span></a>
|
||||
</span><span id="L-209"><a href="#L-209"><span class="linenos">209</span></a><span class="k">def</span> <span class="nf">det</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="L-209"><a href="#L-209"><span class="linenos">209</span></a><span class="k">def</span><span class="w"> </span><span class="nf">det</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="L-210"><a href="#L-210"><span class="linenos">210</span></a><span class="w"> </span><span class="sd">"""Determinant of Obs valued matrices."""</span>
|
||||
</span><span id="L-211"><a href="#L-211"><span class="linenos">211</span></a> <span class="k">return</span> <span class="n">_scalar_mat_op</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">det</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
|
||||
</span><span id="L-212"><a href="#L-212"><span class="linenos">212</span></a>
|
||||
</span><span id="L-213"><a href="#L-213"><span class="linenos">213</span></a>
|
||||
</span><span id="L-214"><a href="#L-214"><span class="linenos">214</span></a><span class="k">def</span> <span class="nf">_scalar_mat_op</span><span class="p">(</span><span class="n">op</span><span class="p">,</span> <span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-214"><a href="#L-214"><span class="linenos">214</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_scalar_mat_op</span><span class="p">(</span><span class="n">op</span><span class="p">,</span> <span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-215"><a href="#L-215"><span class="linenos">215</span></a><span class="w"> </span><span class="sd">"""Computes the matrix to scalar operation op to a given matrix of Obs."""</span>
|
||||
</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="k">def</span> <span class="nf">_mat</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_mat</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-217"><a href="#L-217"><span class="linenos">217</span></a> <span class="n">dim</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)))</span>
|
||||
</span><span id="L-218"><a href="#L-218"><span class="linenos">218</span></a>
|
||||
</span><span id="L-219"><a href="#L-219"><span class="linenos">219</span></a> <span class="n">mat</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -340,7 +340,7 @@
|
|||
</span><span id="L-232"><a href="#L-232"><span class="linenos">232</span></a> <span class="k">return</span> <span class="n">derived_observable</span><span class="p">(</span><span class="n">_mat</span><span class="p">,</span> <span class="n">raveled_obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||
</span><span id="L-233"><a href="#L-233"><span class="linenos">233</span></a>
|
||||
</span><span id="L-234"><a href="#L-234"><span class="linenos">234</span></a>
|
||||
</span><span id="L-235"><a href="#L-235"><span class="linenos">235</span></a><span class="k">def</span> <span class="nf">_mat_mat_op</span><span class="p">(</span><span class="n">op</span><span class="p">,</span> <span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-235"><a href="#L-235"><span class="linenos">235</span></a><span class="k">def</span><span class="w"> </span><span class="nf">_mat_mat_op</span><span class="p">(</span><span class="n">op</span><span class="p">,</span> <span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-236"><a href="#L-236"><span class="linenos">236</span></a><span class="w"> </span><span class="sd">"""Computes the matrix to matrix operation op to a given matrix of Obs."""</span>
|
||||
</span><span id="L-237"><a href="#L-237"><span class="linenos">237</span></a> <span class="c1"># Use real representation to calculate matrix operations for complex matrices</span>
|
||||
</span><span id="L-238"><a href="#L-238"><span class="linenos">238</span></a> <span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">CObs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">obs</span><span class="o">.</span><span class="n">ravel</span><span class="p">()):</span>
|
||||
|
@ -366,31 +366,31 @@
|
|||
</span><span id="L-258"><a href="#L-258"><span class="linenos">258</span></a> <span class="k">return</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">op</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="p">[</span><span class="n">obs</span><span class="p">],</span> <span class="n">array_mode</span><span class="o">=</span><span class="kc">True</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-259"><a href="#L-259"><span class="linenos">259</span></a>
|
||||
</span><span id="L-260"><a href="#L-260"><span class="linenos">260</span></a>
|
||||
</span><span id="L-261"><a href="#L-261"><span class="linenos">261</span></a><span class="k">def</span> <span class="nf">eigh</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-261"><a href="#L-261"><span class="linenos">261</span></a><span class="k">def</span><span class="w"> </span><span class="nf">eigh</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-262"><a href="#L-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Computes the eigenvalues and eigenvectors of a given hermitian matrix of Obs according to np.linalg.eigh."""</span>
|
||||
</span><span id="L-263"><a href="#L-263"><span class="linenos">263</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eigh</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
|
||||
</span><span id="L-264"><a href="#L-264"><span class="linenos">264</span></a> <span class="n">v</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eigh</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
|
||||
</span><span id="L-265"><a href="#L-265"><span class="linenos">265</span></a> <span class="k">return</span> <span class="n">w</span><span class="p">,</span> <span class="n">v</span>
|
||||
</span><span id="L-266"><a href="#L-266"><span class="linenos">266</span></a>
|
||||
</span><span id="L-267"><a href="#L-267"><span class="linenos">267</span></a>
|
||||
</span><span id="L-268"><a href="#L-268"><span class="linenos">268</span></a><span class="k">def</span> <span class="nf">eig</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-268"><a href="#L-268"><span class="linenos">268</span></a><span class="k">def</span><span class="w"> </span><span class="nf">eig</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-269"><a href="#L-269"><span class="linenos">269</span></a><span class="w"> </span><span class="sd">"""Computes the eigenvalues of a given matrix of Obs according to np.linalg.eig."""</span>
|
||||
</span><span id="L-270"><a href="#L-270"><span class="linenos">270</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">real</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eig</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="mi">0</span><span class="p">]),</span> <span class="n">obs</span><span class="p">)</span>
|
||||
</span><span id="L-271"><a href="#L-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="n">w</span>
|
||||
</span><span id="L-272"><a href="#L-272"><span class="linenos">272</span></a>
|
||||
</span><span id="L-273"><a href="#L-273"><span class="linenos">273</span></a>
|
||||
</span><span id="L-274"><a href="#L-274"><span class="linenos">274</span></a><span class="k">def</span> <span class="nf">eigv</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-274"><a href="#L-274"><span class="linenos">274</span></a><span class="k">def</span><span class="w"> </span><span class="nf">eigv</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-275"><a href="#L-275"><span class="linenos">275</span></a><span class="w"> </span><span class="sd">"""Computes the eigenvectors of a given hermitian matrix of Obs according to np.linalg.eigh."""</span>
|
||||
</span><span id="L-276"><a href="#L-276"><span class="linenos">276</span></a> <span class="n">v</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eigh</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
|
||||
</span><span id="L-277"><a href="#L-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="n">v</span>
|
||||
</span><span id="L-278"><a href="#L-278"><span class="linenos">278</span></a>
|
||||
</span><span id="L-279"><a href="#L-279"><span class="linenos">279</span></a>
|
||||
</span><span id="L-280"><a href="#L-280"><span class="linenos">280</span></a><span class="k">def</span> <span class="nf">pinv</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-280"><a href="#L-280"><span class="linenos">280</span></a><span class="k">def</span><span class="w"> </span><span class="nf">pinv</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-281"><a href="#L-281"><span class="linenos">281</span></a><span class="w"> </span><span class="sd">"""Computes the Moore-Penrose pseudoinverse of a matrix of Obs."""</span>
|
||||
</span><span id="L-282"><a href="#L-282"><span class="linenos">282</span></a> <span class="k">return</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">pinv</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">obs</span><span class="p">)</span>
|
||||
</span><span id="L-283"><a href="#L-283"><span class="linenos">283</span></a>
|
||||
</span><span id="L-284"><a href="#L-284"><span class="linenos">284</span></a>
|
||||
</span><span id="L-285"><a href="#L-285"><span class="linenos">285</span></a><span class="k">def</span> <span class="nf">svd</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-285"><a href="#L-285"><span class="linenos">285</span></a><span class="k">def</span><span class="w"> </span><span class="nf">svd</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-286"><a href="#L-286"><span class="linenos">286</span></a><span class="w"> </span><span class="sd">"""Computes the singular value decomposition of a matrix of Obs."""</span>
|
||||
</span><span id="L-287"><a href="#L-287"><span class="linenos">287</span></a> <span class="n">u</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">svd</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">full_matrices</span><span class="o">=</span><span class="kc">False</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
|
||||
</span><span id="L-288"><a href="#L-288"><span class="linenos">288</span></a> <span class="n">s</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">svd</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">full_matrices</span><span class="o">=</span><span class="kc">False</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
|
||||
|
@ -411,7 +411,7 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#matmul"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="matmul-7"><a href="#matmul-7"><span class="linenos"> 7</span></a><span class="k">def</span> <span class="nf">matmul</span><span class="p">(</span><span class="o">*</span><span class="n">operands</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="matmul-7"><a href="#matmul-7"><span class="linenos"> 7</span></a><span class="k">def</span><span class="w"> </span><span class="nf">matmul</span><span class="p">(</span><span class="o">*</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="matmul-8"><a href="#matmul-8"><span class="linenos"> 8</span></a><span class="w"> </span><span class="sd">"""Matrix multiply all operands.</span>
|
||||
</span><span id="matmul-9"><a href="#matmul-9"><span class="linenos"> 9</span></a>
|
||||
</span><span id="matmul-10"><a href="#matmul-10"><span class="linenos">10</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -429,7 +429,7 @@
|
|||
</span><span id="matmul-22"><a href="#matmul-22"><span class="linenos">22</span></a> <span class="n">extended_operands</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmp</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||
</span><span id="matmul-23"><a href="#matmul-23"><span class="linenos">23</span></a> <span class="n">extended_operands</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmp</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
||||
</span><span id="matmul-24"><a href="#matmul-24"><span class="linenos">24</span></a>
|
||||
</span><span id="matmul-25"><a href="#matmul-25"><span class="linenos">25</span></a> <span class="k">def</span> <span class="nf">multi_dot</span><span class="p">(</span><span class="n">operands</span><span class="p">,</span> <span class="n">part</span><span class="p">):</span>
|
||||
</span><span id="matmul-25"><a href="#matmul-25"><span class="linenos">25</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">multi_dot</span><span class="p">(</span><span class="n">operands</span><span class="p">,</span> <span class="n">part</span><span class="p">):</span>
|
||||
</span><span id="matmul-26"><a href="#matmul-26"><span class="linenos">26</span></a> <span class="n">stack_r</span> <span class="o">=</span> <span class="n">operands</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="matmul-27"><a href="#matmul-27"><span class="linenos">27</span></a> <span class="n">stack_i</span> <span class="o">=</span> <span class="n">operands</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
</span><span id="matmul-28"><a href="#matmul-28"><span class="linenos">28</span></a> <span class="k">for</span> <span class="n">op_r</span><span class="p">,</span> <span class="n">op_i</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">operands</span><span class="p">[</span><span class="mi">2</span><span class="p">::</span><span class="mi">2</span><span class="p">],</span> <span class="n">operands</span><span class="p">[</span><span class="mi">3</span><span class="p">::</span><span class="mi">2</span><span class="p">]):</span>
|
||||
|
@ -444,10 +444,10 @@
|
|||
</span><span id="matmul-37"><a href="#matmul-37"><span class="linenos">37</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="matmul-38"><a href="#matmul-38"><span class="linenos">38</span></a> <span class="k">return</span> <span class="n">stack_i</span>
|
||||
</span><span id="matmul-39"><a href="#matmul-39"><span class="linenos">39</span></a>
|
||||
</span><span id="matmul-40"><a href="#matmul-40"><span class="linenos">40</span></a> <span class="k">def</span> <span class="nf">multi_dot_r</span><span class="p">(</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="matmul-40"><a href="#matmul-40"><span class="linenos">40</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">multi_dot_r</span><span class="p">(</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="matmul-41"><a href="#matmul-41"><span class="linenos">41</span></a> <span class="k">return</span> <span class="n">multi_dot</span><span class="p">(</span><span class="n">operands</span><span class="p">,</span> <span class="s1">'Real'</span><span class="p">)</span>
|
||||
</span><span id="matmul-42"><a href="#matmul-42"><span class="linenos">42</span></a>
|
||||
</span><span id="matmul-43"><a href="#matmul-43"><span class="linenos">43</span></a> <span class="k">def</span> <span class="nf">multi_dot_i</span><span class="p">(</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="matmul-43"><a href="#matmul-43"><span class="linenos">43</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">multi_dot_i</span><span class="p">(</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="matmul-44"><a href="#matmul-44"><span class="linenos">44</span></a> <span class="k">return</span> <span class="n">multi_dot</span><span class="p">(</span><span class="n">operands</span><span class="p">,</span> <span class="s1">'Imag'</span><span class="p">)</span>
|
||||
</span><span id="matmul-45"><a href="#matmul-45"><span class="linenos">45</span></a>
|
||||
</span><span id="matmul-46"><a href="#matmul-46"><span class="linenos">46</span></a> <span class="n">Nr</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="n">multi_dot_r</span><span class="p">,</span> <span class="n">extended_operands</span><span class="p">,</span> <span class="n">array_mode</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||||
|
@ -459,7 +459,7 @@
|
|||
</span><span id="matmul-52"><a href="#matmul-52"><span class="linenos">52</span></a>
|
||||
</span><span id="matmul-53"><a href="#matmul-53"><span class="linenos">53</span></a> <span class="k">return</span> <span class="n">res</span>
|
||||
</span><span id="matmul-54"><a href="#matmul-54"><span class="linenos">54</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="matmul-55"><a href="#matmul-55"><span class="linenos">55</span></a> <span class="k">def</span> <span class="nf">multi_dot</span><span class="p">(</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="matmul-55"><a href="#matmul-55"><span class="linenos">55</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">multi_dot</span><span class="p">(</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="matmul-56"><a href="#matmul-56"><span class="linenos">56</span></a> <span class="n">stack</span> <span class="o">=</span> <span class="n">operands</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="matmul-57"><a href="#matmul-57"><span class="linenos">57</span></a> <span class="k">for</span> <span class="n">op</span> <span class="ow">in</span> <span class="n">operands</span><span class="p">[</span><span class="mi">1</span><span class="p">:]:</span>
|
||||
</span><span id="matmul-58"><a href="#matmul-58"><span class="linenos">58</span></a> <span class="n">stack</span> <span class="o">=</span> <span class="n">stack</span> <span class="o">@</span> <span class="n">op</span>
|
||||
|
@ -493,7 +493,7 @@ Obs valued.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#jack_matmul"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="jack_matmul-63"><a href="#jack_matmul-63"><span class="linenos"> 63</span></a><span class="k">def</span> <span class="nf">jack_matmul</span><span class="p">(</span><span class="o">*</span><span class="n">operands</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="jack_matmul-63"><a href="#jack_matmul-63"><span class="linenos"> 63</span></a><span class="k">def</span><span class="w"> </span><span class="nf">jack_matmul</span><span class="p">(</span><span class="o">*</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="jack_matmul-64"><a href="#jack_matmul-64"><span class="linenos"> 64</span></a><span class="w"> </span><span class="sd">"""Matrix multiply both operands making use of the jackknife approximation.</span>
|
||||
</span><span id="jack_matmul-65"><a href="#jack_matmul-65"><span class="linenos"> 65</span></a>
|
||||
</span><span id="jack_matmul-66"><a href="#jack_matmul-66"><span class="linenos"> 66</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -505,25 +505,25 @@ Obs valued.</li>
|
|||
</span><span id="jack_matmul-72"><a href="#jack_matmul-72"><span class="linenos"> 72</span></a><span class="sd"> For large matrices this is considerably faster compared to matmul.</span>
|
||||
</span><span id="jack_matmul-73"><a href="#jack_matmul-73"><span class="linenos"> 73</span></a><span class="sd"> """</span>
|
||||
</span><span id="jack_matmul-74"><a href="#jack_matmul-74"><span class="linenos"> 74</span></a>
|
||||
</span><span id="jack_matmul-75"><a href="#jack_matmul-75"><span class="linenos"> 75</span></a> <span class="k">def</span> <span class="nf">_exp_to_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="jack_matmul-75"><a href="#jack_matmul-75"><span class="linenos"> 75</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_exp_to_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="jack_matmul-76"><a href="#jack_matmul-76"><span class="linenos"> 76</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty_like</span><span class="p">(</span><span class="n">matrix</span><span class="p">)</span>
|
||||
</span><span id="jack_matmul-77"><a href="#jack_matmul-77"><span class="linenos"> 77</span></a> <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndenumerate</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="jack_matmul-78"><a href="#jack_matmul-78"><span class="linenos"> 78</span></a> <span class="n">base_matrix</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">entry</span><span class="o">.</span><span class="n">export_jackknife</span><span class="p">()</span>
|
||||
</span><span id="jack_matmul-79"><a href="#jack_matmul-79"><span class="linenos"> 79</span></a> <span class="k">return</span> <span class="n">base_matrix</span>
|
||||
</span><span id="jack_matmul-80"><a href="#jack_matmul-80"><span class="linenos"> 80</span></a>
|
||||
</span><span id="jack_matmul-81"><a href="#jack_matmul-81"><span class="linenos"> 81</span></a> <span class="k">def</span> <span class="nf">_imp_from_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="jack_matmul-81"><a href="#jack_matmul-81"><span class="linenos"> 81</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_imp_from_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="jack_matmul-82"><a href="#jack_matmul-82"><span class="linenos"> 82</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty_like</span><span class="p">(</span><span class="n">matrix</span><span class="p">)</span>
|
||||
</span><span id="jack_matmul-83"><a href="#jack_matmul-83"><span class="linenos"> 83</span></a> <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndenumerate</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="jack_matmul-84"><a href="#jack_matmul-84"><span class="linenos"> 84</span></a> <span class="n">base_matrix</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">import_jackknife</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="p">[</span><span class="n">idl</span><span class="p">])</span>
|
||||
</span><span id="jack_matmul-85"><a href="#jack_matmul-85"><span class="linenos"> 85</span></a> <span class="k">return</span> <span class="n">base_matrix</span>
|
||||
</span><span id="jack_matmul-86"><a href="#jack_matmul-86"><span class="linenos"> 86</span></a>
|
||||
</span><span id="jack_matmul-87"><a href="#jack_matmul-87"><span class="linenos"> 87</span></a> <span class="k">def</span> <span class="nf">_exp_to_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="jack_matmul-87"><a href="#jack_matmul-87"><span class="linenos"> 87</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_exp_to_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="jack_matmul-88"><a href="#jack_matmul-88"><span class="linenos"> 88</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty_like</span><span class="p">(</span><span class="n">matrix</span><span class="p">)</span>
|
||||
</span><span id="jack_matmul-89"><a href="#jack_matmul-89"><span class="linenos"> 89</span></a> <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndenumerate</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="jack_matmul-90"><a href="#jack_matmul-90"><span class="linenos"> 90</span></a> <span class="n">base_matrix</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">entry</span><span class="o">.</span><span class="n">real</span><span class="o">.</span><span class="n">export_jackknife</span><span class="p">()</span> <span class="o">+</span> <span class="mi">1</span><span class="n">j</span> <span class="o">*</span> <span class="n">entry</span><span class="o">.</span><span class="n">imag</span><span class="o">.</span><span class="n">export_jackknife</span><span class="p">()</span>
|
||||
</span><span id="jack_matmul-91"><a href="#jack_matmul-91"><span class="linenos"> 91</span></a> <span class="k">return</span> <span class="n">base_matrix</span>
|
||||
</span><span id="jack_matmul-92"><a href="#jack_matmul-92"><span class="linenos"> 92</span></a>
|
||||
</span><span id="jack_matmul-93"><a href="#jack_matmul-93"><span class="linenos"> 93</span></a> <span class="k">def</span> <span class="nf">_imp_from_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="jack_matmul-93"><a href="#jack_matmul-93"><span class="linenos"> 93</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_imp_from_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="jack_matmul-94"><a href="#jack_matmul-94"><span class="linenos"> 94</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty_like</span><span class="p">(</span><span class="n">matrix</span><span class="p">)</span>
|
||||
</span><span id="jack_matmul-95"><a href="#jack_matmul-95"><span class="linenos"> 95</span></a> <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndenumerate</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="jack_matmul-96"><a href="#jack_matmul-96"><span class="linenos"> 96</span></a> <span class="n">base_matrix</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">CObs</span><span class="p">(</span><span class="n">import_jackknife</span><span class="p">(</span><span class="n">entry</span><span class="o">.</span><span class="n">real</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="p">[</span><span class="n">idl</span><span class="p">]),</span>
|
||||
|
@ -580,7 +580,7 @@ Obs valued.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#einsum"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="einsum-124"><a href="#einsum-124"><span class="linenos">124</span></a><span class="k">def</span> <span class="nf">einsum</span><span class="p">(</span><span class="n">subscripts</span><span class="p">,</span> <span class="o">*</span><span class="n">operands</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="einsum-124"><a href="#einsum-124"><span class="linenos">124</span></a><span class="k">def</span><span class="w"> </span><span class="nf">einsum</span><span class="p">(</span><span class="n">subscripts</span><span class="p">,</span> <span class="o">*</span><span class="n">operands</span><span class="p">):</span>
|
||||
</span><span id="einsum-125"><a href="#einsum-125"><span class="linenos">125</span></a><span class="w"> </span><span class="sd">"""Wrapper for numpy.einsum</span>
|
||||
</span><span id="einsum-126"><a href="#einsum-126"><span class="linenos">126</span></a>
|
||||
</span><span id="einsum-127"><a href="#einsum-127"><span class="linenos">127</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -592,25 +592,25 @@ Obs valued.</li>
|
|||
</span><span id="einsum-133"><a href="#einsum-133"><span class="linenos">133</span></a><span class="sd"> Obs valued.</span>
|
||||
</span><span id="einsum-134"><a href="#einsum-134"><span class="linenos">134</span></a><span class="sd"> """</span>
|
||||
</span><span id="einsum-135"><a href="#einsum-135"><span class="linenos">135</span></a>
|
||||
</span><span id="einsum-136"><a href="#einsum-136"><span class="linenos">136</span></a> <span class="k">def</span> <span class="nf">_exp_to_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="einsum-136"><a href="#einsum-136"><span class="linenos">136</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_exp_to_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="einsum-137"><a href="#einsum-137"><span class="linenos">137</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="einsum-138"><a href="#einsum-138"><span class="linenos">138</span></a> <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndenumerate</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="einsum-139"><a href="#einsum-139"><span class="linenos">139</span></a> <span class="n">base_matrix</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">entry</span><span class="o">.</span><span class="n">export_jackknife</span><span class="p">())</span>
|
||||
</span><span id="einsum-140"><a href="#einsum-140"><span class="linenos">140</span></a> <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">base_matrix</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">matrix</span><span class="o">.</span><span class="n">shape</span> <span class="o">+</span> <span class="n">base_matrix</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
|
||||
</span><span id="einsum-141"><a href="#einsum-141"><span class="linenos">141</span></a>
|
||||
</span><span id="einsum-142"><a href="#einsum-142"><span class="linenos">142</span></a> <span class="k">def</span> <span class="nf">_exp_to_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="einsum-142"><a href="#einsum-142"><span class="linenos">142</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_exp_to_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="einsum-143"><a href="#einsum-143"><span class="linenos">143</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="einsum-144"><a href="#einsum-144"><span class="linenos">144</span></a> <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndenumerate</span><span class="p">(</span><span class="n">matrix</span><span class="p">):</span>
|
||||
</span><span id="einsum-145"><a href="#einsum-145"><span class="linenos">145</span></a> <span class="n">base_matrix</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">entry</span><span class="o">.</span><span class="n">real</span><span class="o">.</span><span class="n">export_jackknife</span><span class="p">()</span> <span class="o">+</span> <span class="mi">1</span><span class="n">j</span> <span class="o">*</span> <span class="n">entry</span><span class="o">.</span><span class="n">imag</span><span class="o">.</span><span class="n">export_jackknife</span><span class="p">())</span>
|
||||
</span><span id="einsum-146"><a href="#einsum-146"><span class="linenos">146</span></a> <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">base_matrix</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">matrix</span><span class="o">.</span><span class="n">shape</span> <span class="o">+</span> <span class="n">base_matrix</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
|
||||
</span><span id="einsum-147"><a href="#einsum-147"><span class="linenos">147</span></a>
|
||||
</span><span id="einsum-148"><a href="#einsum-148"><span class="linenos">148</span></a> <span class="k">def</span> <span class="nf">_imp_from_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="einsum-148"><a href="#einsum-148"><span class="linenos">148</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_imp_from_jack</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="einsum-149"><a href="#einsum-149"><span class="linenos">149</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty</span><span class="p">(</span><span class="n">shape</span><span class="o">=</span><span class="n">matrix</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 class="n">dtype</span><span class="o">=</span><span class="nb">object</span><span class="p">)</span>
|
||||
</span><span id="einsum-150"><a href="#einsum-150"><span class="linenos">150</span></a> <span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndindex</span><span class="p">(</span><span class="n">matrix</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="einsum-151"><a href="#einsum-151"><span class="linenos">151</span></a> <span class="n">base_matrix</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">import_jackknife</span><span class="p">(</span><span class="n">matrix</span><span class="p">[</span><span class="n">index</span><span class="p">],</span> <span class="n">name</span><span class="p">,</span> <span class="p">[</span><span class="n">idl</span><span class="p">])</span>
|
||||
</span><span id="einsum-152"><a href="#einsum-152"><span class="linenos">152</span></a> <span class="k">return</span> <span class="n">base_matrix</span>
|
||||
</span><span id="einsum-153"><a href="#einsum-153"><span class="linenos">153</span></a>
|
||||
</span><span id="einsum-154"><a href="#einsum-154"><span class="linenos">154</span></a> <span class="k">def</span> <span class="nf">_imp_from_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="einsum-154"><a href="#einsum-154"><span class="linenos">154</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">_imp_from_jack_c</span><span class="p">(</span><span class="n">matrix</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">idl</span><span class="p">):</span>
|
||||
</span><span id="einsum-155"><a href="#einsum-155"><span class="linenos">155</span></a> <span class="n">base_matrix</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty</span><span class="p">(</span><span class="n">shape</span><span class="o">=</span><span class="n">matrix</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 class="n">dtype</span><span class="o">=</span><span class="nb">object</span><span class="p">)</span>
|
||||
</span><span id="einsum-156"><a href="#einsum-156"><span class="linenos">156</span></a> <span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndindex</span><span class="p">(</span><span class="n">matrix</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="einsum-157"><a href="#einsum-157"><span class="linenos">157</span></a> <span class="n">base_matrix</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">CObs</span><span class="p">(</span><span class="n">import_jackknife</span><span class="p">(</span><span class="n">matrix</span><span class="p">[</span><span class="n">index</span><span class="p">]</span><span class="o">.</span><span class="n">real</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="p">[</span><span class="n">idl</span><span class="p">]),</span>
|
||||
|
@ -681,7 +681,7 @@ Obs valued.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#inv"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="inv-198"><a href="#inv-198"><span class="linenos">198</span></a><span class="k">def</span> <span class="nf">inv</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="inv-198"><a href="#inv-198"><span class="linenos">198</span></a><span class="k">def</span><span class="w"> </span><span class="nf">inv</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="inv-199"><a href="#inv-199"><span class="linenos">199</span></a><span class="w"> </span><span class="sd">"""Inverse of Obs or CObs valued matrices."""</span>
|
||||
</span><span id="inv-200"><a href="#inv-200"><span class="linenos">200</span></a> <span class="k">return</span> <span class="n">_mat_mat_op</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">inv</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
@ -703,7 +703,7 @@ Obs valued.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#cholesky"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="cholesky-203"><a href="#cholesky-203"><span class="linenos">203</span></a><span class="k">def</span> <span class="nf">cholesky</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="cholesky-203"><a href="#cholesky-203"><span class="linenos">203</span></a><span class="k">def</span><span class="w"> </span><span class="nf">cholesky</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="cholesky-204"><a href="#cholesky-204"><span class="linenos">204</span></a><span class="w"> </span><span class="sd">"""Cholesky decomposition of Obs valued matrices."""</span>
|
||||
</span><span id="cholesky-205"><a href="#cholesky-205"><span class="linenos">205</span></a> <span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">CObs</span><span class="p">)</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">x</span><span class="o">.</span><span class="n">ravel</span><span class="p">()):</span>
|
||||
</span><span id="cholesky-206"><a href="#cholesky-206"><span class="linenos">206</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Cholesky decomposition is not implemented for CObs."</span><span class="p">)</span>
|
||||
|
@ -727,7 +727,7 @@ Obs valued.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#det"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="det-210"><a href="#det-210"><span class="linenos">210</span></a><span class="k">def</span> <span class="nf">det</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="det-210"><a href="#det-210"><span class="linenos">210</span></a><span class="k">def</span><span class="w"> </span><span class="nf">det</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="det-211"><a href="#det-211"><span class="linenos">211</span></a><span class="w"> </span><span class="sd">"""Determinant of Obs valued matrices."""</span>
|
||||
</span><span id="det-212"><a href="#det-212"><span class="linenos">212</span></a> <span class="k">return</span> <span class="n">_scalar_mat_op</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">det</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
@ -749,7 +749,7 @@ Obs valued.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#eigh"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="eigh-262"><a href="#eigh-262"><span class="linenos">262</span></a><span class="k">def</span> <span class="nf">eigh</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="eigh-262"><a href="#eigh-262"><span class="linenos">262</span></a><span class="k">def</span><span class="w"> </span><span class="nf">eigh</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="eigh-263"><a href="#eigh-263"><span class="linenos">263</span></a><span class="w"> </span><span class="sd">"""Computes the eigenvalues and eigenvectors of a given hermitian matrix of Obs according to np.linalg.eigh."""</span>
|
||||
</span><span id="eigh-264"><a href="#eigh-264"><span class="linenos">264</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eigh</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
|
||||
</span><span id="eigh-265"><a href="#eigh-265"><span class="linenos">265</span></a> <span class="n">v</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eigh</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
|
||||
|
@ -773,7 +773,7 @@ Obs valued.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#eig"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="eig-269"><a href="#eig-269"><span class="linenos">269</span></a><span class="k">def</span> <span class="nf">eig</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="eig-269"><a href="#eig-269"><span class="linenos">269</span></a><span class="k">def</span><span class="w"> </span><span class="nf">eig</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="eig-270"><a href="#eig-270"><span class="linenos">270</span></a><span class="w"> </span><span class="sd">"""Computes the eigenvalues of a given matrix of Obs according to np.linalg.eig."""</span>
|
||||
</span><span id="eig-271"><a href="#eig-271"><span class="linenos">271</span></a> <span class="n">w</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">real</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eig</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="mi">0</span><span class="p">]),</span> <span class="n">obs</span><span class="p">)</span>
|
||||
</span><span id="eig-272"><a href="#eig-272"><span class="linenos">272</span></a> <span class="k">return</span> <span class="n">w</span>
|
||||
|
@ -796,7 +796,7 @@ Obs valued.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#eigv"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="eigv-275"><a href="#eigv-275"><span class="linenos">275</span></a><span class="k">def</span> <span class="nf">eigv</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="eigv-275"><a href="#eigv-275"><span class="linenos">275</span></a><span class="k">def</span><span class="w"> </span><span class="nf">eigv</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="eigv-276"><a href="#eigv-276"><span class="linenos">276</span></a><span class="w"> </span><span class="sd">"""Computes the eigenvectors of a given hermitian matrix of Obs according to np.linalg.eigh."""</span>
|
||||
</span><span id="eigv-277"><a href="#eigv-277"><span class="linenos">277</span></a> <span class="n">v</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">eigh</span><span class="p">(</span><span class="n">x</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
|
||||
</span><span id="eigv-278"><a href="#eigv-278"><span class="linenos">278</span></a> <span class="k">return</span> <span class="n">v</span>
|
||||
|
@ -819,7 +819,7 @@ Obs valued.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#pinv"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="pinv-281"><a href="#pinv-281"><span class="linenos">281</span></a><span class="k">def</span> <span class="nf">pinv</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="pinv-281"><a href="#pinv-281"><span class="linenos">281</span></a><span class="k">def</span><span class="w"> </span><span class="nf">pinv</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="pinv-282"><a href="#pinv-282"><span class="linenos">282</span></a><span class="w"> </span><span class="sd">"""Computes the Moore-Penrose pseudoinverse of a matrix of Obs."""</span>
|
||||
</span><span id="pinv-283"><a href="#pinv-283"><span class="linenos">283</span></a> <span class="k">return</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">pinv</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">obs</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
@ -841,7 +841,7 @@ Obs valued.</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#svd"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="svd-286"><a href="#svd-286"><span class="linenos">286</span></a><span class="k">def</span> <span class="nf">svd</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="svd-286"><a href="#svd-286"><span class="linenos">286</span></a><span class="k">def</span><span class="w"> </span><span class="nf">svd</span><span class="p">(</span><span class="n">obs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="svd-287"><a href="#svd-287"><span class="linenos">287</span></a><span class="w"> </span><span class="sd">"""Computes the singular value decomposition of a matrix of Obs."""</span>
|
||||
</span><span id="svd-288"><a href="#svd-288"><span class="linenos">288</span></a> <span class="n">u</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">svd</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">full_matrices</span><span class="o">=</span><span class="kc">False</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
|
||||
</span><span id="svd-289"><a href="#svd-289"><span class="linenos">289</span></a> <span class="n">s</span> <span class="o">=</span> <span class="n">derived_observable</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">anp</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">svd</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">full_matrices</span><span class="o">=</span><span class="kc">False</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span> <span class="n">obs</span><span class="p">)</span>
|
||||
|
|
|
@ -91,18 +91,18 @@
|
|||
|
||||
<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="nn">platform</span>
|
||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">import</span> <span class="nn">scipy</span>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">import</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="nn">matplotlib.pyplot</span> <span class="k">as</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="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">import</span> <span class="nn">pickle</span>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">from</span> <span class="nn">.obs</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="nn">.version</span> <span class="kn">import</span> <span class="n">__version__</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">platform</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-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-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-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-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-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-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-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-12"><a href="#L-12"><span class="linenos"> 12</span></a><span class="k">def</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 class="k">def</span><span class="w"> </span><span class="nf">print_config</span><span class="p">():</span>
|
||||
</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-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-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>
|
||||
|
@ -116,7 +116,7 @@
|
|||
</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-24"><a href="#L-24"><span class="linenos"> 24</span></a>
|
||||
</span><span id="L-25"><a href="#L-25"><span class="linenos"> 25</span></a>
|
||||
</span><span id="L-26"><a href="#L-26"><span class="linenos"> 26</span></a><span class="k">def</span> <span class="nf">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 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-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-28"><a href="#L-28"><span class="linenos"> 28</span></a>
|
||||
</span><span id="L-29"><a href="#L-29"><span class="linenos"> 29</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -147,7 +147,7 @@
|
|||
</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-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-57"><a href="#L-57"><span class="linenos"> 57</span></a><span class="k">def</span> <span class="nf">dump_object</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-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-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-59"><a href="#L-59"><span class="linenos"> 59</span></a>
|
||||
</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -171,7 +171,7 @@
|
|||
</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-79"><a href="#L-79"><span class="linenos"> 79</span></a>
|
||||
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a>
|
||||
</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a><span class="k">def</span> <span class="nf">load_object</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
||||
</span><span id="L-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-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-83"><a href="#L-83"><span class="linenos"> 83</span></a>
|
||||
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -188,7 +188,7 @@
|
|||
</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-96"><a href="#L-96"><span class="linenos"> 96</span></a>
|
||||
</span><span id="L-97"><a href="#L-97"><span class="linenos"> 97</span></a>
|
||||
</span><span id="L-98"><a href="#L-98"><span class="linenos"> 98</span></a><span class="k">def</span> <span class="nf">pseudo_Obs</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">dvalue</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">samples</span><span class="o">=</span><span class="mi">1000</span><span class="p">):</span>
|
||||
</span><span id="L-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-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-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="sd"> Parameters</span>
|
||||
|
@ -225,7 +225,7 @@
|
|||
</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-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-135"><a href="#L-135"><span class="linenos">135</span></a><span class="k">def</span> <span class="nf">gen_correlated_data</span><span class="p">(</span><span class="n">means</span><span class="p">,</span> <span class="n">cov</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">tau</span><span class="o">=</span><span class="mf">0.5</span><span class="p">,</span> <span class="n">samples</span><span class="o">=</span><span class="mi">1000</span><span class="p">):</span>
|
||||
</span><span id="L-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-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-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"> Parameters</span>
|
||||
|
@ -267,7 +267,7 @@
|
|||
</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-175"><a href="#L-175"><span class="linenos">175</span></a>
|
||||
</span><span id="L-176"><a href="#L-176"><span class="linenos">176</span></a>
|
||||
</span><span id="L-177"><a href="#L-177"><span class="linenos">177</span></a><span class="k">def</span> <span class="nf">_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 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-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-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-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>
|
||||
|
@ -291,7 +291,7 @@
|
|||
|
||||
</div>
|
||||
<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="nf">print_config</span><span class="p">():</span>
|
||||
<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>
|
||||
</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-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-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>
|
||||
|
@ -316,13 +316,13 @@
|
|||
<div class="attr function">
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">errorbar</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="n">x</span>,</span><span class="param"> <span class="n">y</span>,</span><span class="param"> <span class="n">axes</span><span class="o">=<</span><span class="n">module</span> <span class="s1">'matplotlib.pyplot'</span> <span class="kn">from</span> <span class="s1">'/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/matplotlib/pyplot.py'</span><span class="o">></span>,</span><span class="param"> <span class="o">**</span><span class="n">kwargs</span></span><span class="return-annotation">):</span></span>
|
||||
<span class="name">errorbar</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="n">x</span>,</span><span class="param"> <span class="n">y</span>,</span><span class="param"> <span class="n">axes</span><span class="o">=<</span><span class="n">module</span> <span class="s1">'matplotlib.pyplot'</span> <span class="kn">from</span><span class="w"> </span><span class="s1">'/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/matplotlib/pyplot.py'</span><span class="o">></span>,</span><span class="param"> <span class="o">**</span><span class="n">kwargs</span></span><span class="return-annotation">):</span></span>
|
||||
|
||||
<label class="view-source-button" for="errorbar-view-source"><span>View Source</span></label>
|
||||
|
||||
</div>
|
||||
<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="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-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>
|
||||
</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-29"><a href="#errorbar-29"><span class="linenos">29</span></a>
|
||||
</span><span id="errorbar-30"><a href="#errorbar-30"><span class="linenos">30</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -381,7 +381,7 @@ The axes to plot on. default is plt.</li>
|
|||
|
||||
</div>
|
||||
<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="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-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>
|
||||
</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-60"><a href="#dump_object-60"><span class="linenos">60</span></a>
|
||||
</span><span id="dump_object-61"><a href="#dump_object-61"><span class="linenos">61</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -439,7 +439,7 @@ specifies a custom path for the file (default '.')</li>
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#load_object"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="load_object-82"><a href="#load_object-82"><span class="linenos">82</span></a><span class="k">def</span> <span class="nf">load_object</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
||||
<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>
|
||||
</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-84"><a href="#load_object-84"><span class="linenos">84</span></a>
|
||||
</span><span id="load_object-85"><a href="#load_object-85"><span class="linenos">85</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -487,7 +487,7 @@ Loaded Object</li>
|
|||
|
||||
</div>
|
||||
<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="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-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>
|
||||
</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-101"><a href="#pseudo_Obs-101"><span class="linenos">101</span></a>
|
||||
</span><span id="pseudo_Obs-102"><a href="#pseudo_Obs-102"><span class="linenos">102</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -561,7 +561,7 @@ Generated Observable</li>
|
|||
|
||||
</div>
|
||||
<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="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-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>
|
||||
</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-138"><a href="#gen_correlated_data-138"><span class="linenos">138</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>
|
||||
|
|
|
@ -76,13 +76,13 @@
|
|||
|
||||
<label class="view-source-button" for="mod-mpm-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="nn">numpy</span> <span class="k">as</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="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="nn">.obs</span> <span class="kn">import</span> <span class="n">Obs</span>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">from</span> <span class="nn">.linalg</span> <span class="kn">import</span> <span class="n">svd</span><span class="p">,</span> <span class="n">eig</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-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-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-5"><a href="#L-5"><span class="linenos"> 5</span></a>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="k">def</span> <span class="nf">matrix_pencil_method</span><span class="p">(</span><span class="n">corrs</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">p</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-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-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-9"><a href="#L-9"><span class="linenos"> 9</span></a>
|
||||
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a><span class="sd"> Implementation of the matrix pencil method based on</span>
|
||||
|
@ -154,7 +154,7 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#matrix_pencil_method"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="matrix_pencil_method-8"><a href="#matrix_pencil_method-8"><span class="linenos"> 8</span></a><span class="k">def</span> <span class="nf">matrix_pencil_method</span><span class="p">(</span><span class="n">corrs</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">p</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<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>
|
||||
</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><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>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -76,13 +76,13 @@
|
|||
|
||||
<label class="view-source-button" for="mod-roots-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="nn">numpy</span> <span class="k">as</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="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="nn">autograd</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="nn">.obs</span> <span class="kn">import</span> <span class="n">derived_observable</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-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-5"><a href="#L-5"><span class="linenos"> 5</span></a>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="k">def</span> <span class="nf">find_root</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">guess</span><span class="o">=</span><span class="mf">1.0</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="L-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-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-9"><a href="#L-9"><span class="linenos"> 9</span></a>
|
||||
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -114,7 +114,7 @@
|
|||
</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-38"><a href="#L-38"><span class="linenos">38</span></a> <span class="k">except</span> <span class="ne">TypeError</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="kc">None</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-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-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-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>
|
||||
|
@ -134,7 +134,7 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#find_root"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="find_root-8"><a href="#find_root-8"><span class="linenos"> 8</span></a><span class="k">def</span> <span class="nf">find_root</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="n">guess</span><span class="o">=</span><span class="mf">1.0</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<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>
|
||||
</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><span id="find_root-11"><a href="#find_root-11"><span class="linenos">11</span></a><span class="sd"> Parameters</span>
|
||||
|
@ -166,7 +166,7 @@
|
|||
</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-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="k">except</span> <span class="ne">TypeError</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="kc">None</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="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">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>
|
||||
|
@ -186,8 +186,8 @@ Function to be minimized. Any numpy functions have to use the autograd.numpy wra
|
|||
Example:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="kn">import</span> <span class="nn">autograd.numpy</span> <span class="k">as</span> <span class="nn">anp</span>
|
||||
<span class="k">def</span> <span class="nf">root_func</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">d</span><span class="p">):</span>
|
||||
<pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn">autograd.numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">anp</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">root_func</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">d</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">anp</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span><span class="n">x</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> <span class="o">-</span> <span class="n">d</span>
|
||||
</code></pre>
|
||||
</div></li>
|
||||
|
|
|
@ -166,12 +166,12 @@
|
|||
|
||||
<label class="view-source-button" for="mod-special-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="nn">scipy</span>
|
||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">from</span> <span class="nn">autograd.extend</span> <span class="kn">import</span> <span class="n">primitive</span><span class="p">,</span> <span class="n">defvjp</span>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="kn">from</span> <span class="nn">autograd.scipy.special</span> <span class="kn">import</span> <span class="n">j0</span><span class="p">,</span> <span class="n">y0</span><span class="p">,</span> <span class="n">j1</span><span class="p">,</span> <span class="n">y1</span><span class="p">,</span> <span class="n">jn</span><span class="p">,</span> <span class="n">yn</span><span class="p">,</span> <span class="n">i0</span><span class="p">,</span> <span class="n">i1</span><span class="p">,</span> <span class="n">iv</span><span class="p">,</span> <span class="n">ive</span><span class="p">,</span> <span class="n">beta</span><span class="p">,</span> <span class="n">betainc</span><span class="p">,</span> <span class="n">betaln</span>
|
||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">from</span> <span class="nn">autograd.scipy.special</span> <span class="kn">import</span> <span class="n">polygamma</span><span class="p">,</span> <span class="n">psi</span><span class="p">,</span> <span class="n">digamma</span><span class="p">,</span> <span class="n">gamma</span><span class="p">,</span> <span class="n">gammaln</span><span class="p">,</span> <span class="n">gammainc</span><span class="p">,</span> <span class="n">gammaincc</span><span class="p">,</span> <span class="n">gammasgn</span><span class="p">,</span> <span class="n">rgamma</span><span class="p">,</span> <span class="n">multigammaln</span>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="kn">from</span> <span class="nn">autograd.scipy.special</span> <span class="kn">import</span> <span class="n">erf</span><span class="p">,</span> <span class="n">erfc</span><span class="p">,</span> <span class="n">erfinv</span><span class="p">,</span> <span class="n">erfcinv</span><span class="p">,</span> <span class="n">logit</span><span class="p">,</span> <span class="n">expit</span><span class="p">,</span> <span class="n">logsumexp</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">scipy</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-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="kn">from</span><span class="w"> </span><span class="nn">autograd.extend</span><span class="w"> </span><span class="kn">import</span> <span class="n">primitive</span><span class="p">,</span> <span class="n">defvjp</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">autograd.scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">j0</span><span class="p">,</span> <span class="n">y0</span><span class="p">,</span> <span class="n">j1</span><span class="p">,</span> <span class="n">y1</span><span class="p">,</span> <span class="n">jn</span><span class="p">,</span> <span class="n">yn</span><span class="p">,</span> <span class="n">i0</span><span class="p">,</span> <span class="n">i1</span><span class="p">,</span> <span class="n">iv</span><span class="p">,</span> <span class="n">ive</span><span class="p">,</span> <span class="n">beta</span><span class="p">,</span> <span class="n">betainc</span><span class="p">,</span> <span class="n">betaln</span>
|
||||
</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">autograd.scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">polygamma</span><span class="p">,</span> <span class="n">psi</span><span class="p">,</span> <span class="n">digamma</span><span class="p">,</span> <span class="n">gamma</span><span class="p">,</span> <span class="n">gammaln</span><span class="p">,</span> <span class="n">gammainc</span><span class="p">,</span> <span class="n">gammaincc</span><span class="p">,</span> <span class="n">gammasgn</span><span class="p">,</span> <span class="n">rgamma</span><span class="p">,</span> <span class="n">multigammaln</span>
|
||||
</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">autograd.scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">erf</span><span class="p">,</span> <span class="n">erfc</span><span class="p">,</span> <span class="n">erfinv</span><span class="p">,</span> <span class="n">erfcinv</span><span class="p">,</span> <span class="n">logit</span><span class="p">,</span> <span class="n">expit</span><span class="p">,</span> <span class="n">logsumexp</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><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="n">__all__</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"beta"</span><span class="p">,</span> <span class="s2">"betainc"</span><span class="p">,</span> <span class="s2">"betaln"</span><span class="p">,</span>
|
||||
|
@ -181,7 +181,7 @@
|
|||
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a>
|
||||
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a>
|
||||
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a><span class="nd">@primitive</span>
|
||||
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a><span class="k">def</span> <span class="nf">kn</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a><span class="k">def</span><span class="w"> </span><span class="nf">kn</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
|
||||
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a><span class="w"> </span><span class="sd">"""Modified Bessel function of the second kind of integer order n"""</span>
|
||||
</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a> <span class="k">if</span> <span class="nb">int</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="o">!=</span> <span class="n">n</span><span class="p">:</span>
|
||||
</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a> <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">"The order 'n' needs to be an integer."</span><span class="p">)</span>
|
||||
|
@ -206,7 +206,7 @@
|
|||
</div>
|
||||
<a class="headerlink" href="#beta"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="beta-36"><a href="#beta-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="beta-37"><a href="#beta-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="beta-37"><a href="#beta-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="beta-38"><a href="#beta-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="beta-39"><a href="#beta-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="beta-40"><a href="#beta-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -262,7 +262,7 @@ value of the beta function </p>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">scipy.special</span> <span class="k">as</span> <span class="nn">sc</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">sc</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -322,7 +322,7 @@ Eq. 5.12.1. <a href="https://dlmf.nist.gov/5.12">https://dlmf.nist.gov/5.12</a>&
|
|||
</div>
|
||||
<a class="headerlink" href="#betainc"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="betainc-36"><a href="#betainc-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="betainc-37"><a href="#betainc-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="betainc-37"><a href="#betainc-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="betainc-38"><a href="#betainc-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="betainc-39"><a href="#betainc-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="betainc-40"><a href="#betainc-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -390,6 +390,9 @@ without the gamma terms. One can use the function <code><a href="#beta">beta</a
|
|||
function by multiplying the result of <code>betainc(a, b, x)</code> by
|
||||
<code>beta(a, b)</code>.</p>
|
||||
|
||||
<p>This function wraps the <code>ibeta</code> routine from the
|
||||
Boost Math C++ library <sup class="footnote-ref" id="fnref-2"><a href="#fn-2">2</a></sup>.</p>
|
||||
|
||||
<h6 id="references">References</h6>
|
||||
|
||||
<h6 id="examples">Examples</h6>
|
||||
|
@ -397,7 +400,7 @@ function by multiplying the result of <code>betainc(a, b, x)</code> by
|
|||
<p>Let \( B(a, b) \) be the <code><a href="#beta">beta</a></code> function.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">scipy.special</span> <span class="k">as</span> <span class="nn">sc</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">sc</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -443,6 +446,10 @@ where \( F \) is the hypergeometric function <code>hyp2f1</code>:</p>
|
|||
<p>NIST Digital Library of Mathematical Functions
|
||||
<a href="https://dlmf.nist.gov/8.17">https://dlmf.nist.gov/8.17</a> <a href="#fnref-1" class="footnoteBackLink" title="Jump back to footnote 1 in the text.">↩</a></p>
|
||||
</li>
|
||||
|
||||
<li id="fn-2">
|
||||
<p>The Boost Developers. "Boost C++ Libraries". <a href="https://www.boost.org/">https://www.boost.org/</a>. <a href="#fnref-2" class="footnoteBackLink" title="Jump back to footnote 2 in the text.">↩</a></p>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -462,7 +469,7 @@ where \( F \) is the hypergeometric function <code>hyp2f1</code>:</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#betaln"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="betaln-36"><a href="#betaln-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="betaln-37"><a href="#betaln-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="betaln-37"><a href="#betaln-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="betaln-38"><a href="#betaln-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="betaln-39"><a href="#betaln-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="betaln-40"><a href="#betaln-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -510,8 +517,8 @@ Optional output array for function values</li>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">betaln</span><span class="p">,</span> <span class="n">beta</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">betaln</span><span class="p">,</span> <span class="n">beta</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -565,7 +572,7 @@ the logarithm of the actual value.</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#polygamma"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="polygamma-36"><a href="#polygamma-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="polygamma-37"><a href="#polygamma-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="polygamma-37"><a href="#polygamma-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="polygamma-38"><a href="#polygamma-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="polygamma-39"><a href="#polygamma-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="polygamma-40"><a href="#polygamma-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -614,7 +621,7 @@ Real valued input</li>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy</span> <span class="kn">import</span> <span class="n">special</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy</span><span class="w"> </span><span class="kn">import</span> <span class="n">special</span>
|
||||
<span class="gp">>>> </span><span class="n">x</span> <span class="o">=</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="mf">25.5</span><span class="p">]</span>
|
||||
<span class="gp">>>> </span><span class="n">special</span><span class="o">.</span><span class="n">polygamma</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
|
||||
<span class="go">array([ 0.64493407, 0.39493407, 0.03999467])</span>
|
||||
|
@ -639,7 +646,7 @@ Real valued input</li>
|
|||
</div>
|
||||
<a class="headerlink" href="#psi"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="psi-36"><a href="#psi-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="psi-37"><a href="#psi-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="psi-37"><a href="#psi-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="psi-38"><a href="#psi-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="psi-39"><a href="#psi-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="psi-40"><a href="#psi-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -700,7 +707,7 @@ function should maintain full accuracy around the origin.</p>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">psi</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">psi</span>
|
||||
<span class="gp">>>> </span><span class="n">z</span> <span class="o">=</span> <span class="mi">3</span> <span class="o">+</span> <span class="mi">4</span><span class="n">j</span>
|
||||
<span class="gp">>>> </span><span class="n">psi</span><span class="p">(</span><span class="n">z</span><span class="p">)</span>
|
||||
<span class="go">(1.55035981733341+1.0105022091860445j)</span>
|
||||
|
@ -757,7 +764,7 @@ function should maintain full accuracy around the origin.</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#digamma"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="digamma-36"><a href="#digamma-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="digamma-37"><a href="#digamma-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="digamma-37"><a href="#digamma-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="digamma-38"><a href="#digamma-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="digamma-39"><a href="#digamma-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="digamma-40"><a href="#digamma-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -818,7 +825,7 @@ function should maintain full accuracy around the origin.</p>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">psi</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">psi</span>
|
||||
<span class="gp">>>> </span><span class="n">z</span> <span class="o">=</span> <span class="mi">3</span> <span class="o">+</span> <span class="mi">4</span><span class="n">j</span>
|
||||
<span class="gp">>>> </span><span class="n">psi</span><span class="p">(</span><span class="n">z</span><span class="p">)</span>
|
||||
<span class="go">(1.55035981733341+1.0105022091860445j)</span>
|
||||
|
@ -875,7 +882,7 @@ function should maintain full accuracy around the origin.</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#gamma"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="gamma-36"><a href="#gamma-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="gamma-37"><a href="#gamma-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="gamma-37"><a href="#gamma-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="gamma-38"><a href="#gamma-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="gamma-39"><a href="#gamma-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="gamma-40"><a href="#gamma-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -928,16 +935,41 @@ factorial since \( \Gamma(n + 1) = n! \) for natural numbers
|
|||
which, combined with the fact that \( \Gamma(1) = 1 \), implies
|
||||
the above identity for \( z = n \).</p>
|
||||
|
||||
<p>The gamma function has poles at non-negative integers and the sign
|
||||
of infinity as z approaches each pole depends upon the direction in
|
||||
which the pole is approached. For this reason, the consistent thing
|
||||
is for gamma(z) to return NaN at negative integers, and to return
|
||||
-inf when x = -0.0 and +inf when x = 0.0, using the signbit of zero
|
||||
to signify the direction in which the origin is being approached. This
|
||||
is for instance what is recommended for the gamma function in annex F
|
||||
entry 9.5.4 of the Iso C 99 standard [isoc99]_.</p>
|
||||
|
||||
<p>Prior to SciPy version 1.15, <code>scipy.special.gamma(z)</code> returned <code>+inf</code>
|
||||
at each pole. This was fixed in version 1.15, but with the following
|
||||
consequence. Expressions where gamma appears in the denominator
|
||||
such as</p>
|
||||
|
||||
<p><code>gamma(u) * gamma(v) / (gamma(w) * gamma(x))</code></p>
|
||||
|
||||
<p>no longer evaluate to 0 if the numerator is well defined but there is a
|
||||
pole in the denominator. Instead such expressions evaluate to NaN. We
|
||||
recommend instead using the function <code><a href="#rgamma">rgamma</a></code> for the reciprocal gamma
|
||||
function in such cases. The above expression could for instance be written
|
||||
as</p>
|
||||
|
||||
<p><code>gamma(u) * gamma(v) * (rgamma(w) * rgamma(x))</code></p>
|
||||
|
||||
<h6 id="references">References</h6>
|
||||
|
||||
<p>.. [dlmf] NIST Digital Library of Mathematical Functions
|
||||
<a href="https://dlmf.nist.gov/5.2#E1">https://dlmf.nist.gov/5.2#E1</a></p>
|
||||
<a href="https://dlmf.nist.gov/5.2#E1">https://dlmf.nist.gov/5.2#E1</a>
|
||||
.. [isoc99] <a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf">https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf</a></p>
|
||||
|
||||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">gamma</span><span class="p">,</span> <span class="n">factorial</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">gamma</span><span class="p">,</span> <span class="n">factorial</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -972,7 +1004,7 @@ the above identity for \( z = n \).</p>
|
|||
</div>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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 class="gp">>>> </span><span class="n">plt</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">y</span><span class="p">,</span> <span class="s1">'b'</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.6</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s1">'gamma(x)'</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">k</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">7</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">factorial</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="s1">'k*'</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.6</span><span class="p">,</span>
|
||||
|
@ -1002,7 +1034,7 @@ the above identity for \( z = n \).</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#gammaln"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="gammaln-36"><a href="#gammaln-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="gammaln-37"><a href="#gammaln-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="gammaln-37"><a href="#gammaln-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="gammaln-38"><a href="#gammaln-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="gammaln-39"><a href="#gammaln-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="gammaln-40"><a href="#gammaln-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -1071,8 +1103,8 @@ gammasgn(x) * gamma(x)</code>.</p>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="gp">>>> </span><span class="kn">import</span> <span class="nn">scipy.special</span> <span class="k">as</span> <span class="nn">sc</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="kn">import</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">sc</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -1119,7 +1151,7 @@ gammasgn(x) * gamma(x)</code>.</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#gammainc"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="gammainc-36"><a href="#gammainc-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="gammainc-37"><a href="#gammainc-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="gammainc-37"><a href="#gammainc-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="gammainc-38"><a href="#gammainc-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="gammainc-39"><a href="#gammainc-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="gammainc-40"><a href="#gammainc-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -1188,7 +1220,7 @@ incomplete gamma function.</p>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">scipy.special</span> <span class="k">as</span> <span class="nn">sc</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">sc</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -1228,7 +1260,7 @@ monotonically increases to 1.</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#gammaincc"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="gammaincc-36"><a href="#gammaincc-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="gammaincc-37"><a href="#gammaincc-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="gammaincc-37"><a href="#gammaincc-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="gammaincc-38"><a href="#gammaincc-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="gammaincc-39"><a href="#gammaincc-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="gammaincc-40"><a href="#gammaincc-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -1297,7 +1329,7 @@ incomplete gamma function.</p>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">scipy.special</span> <span class="k">as</span> <span class="nn">sc</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">sc</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -1338,7 +1370,7 @@ starts at 1 and monotonically decreases to 0.</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#gammasgn"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="gammasgn-36"><a href="#gammasgn-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="gammasgn-37"><a href="#gammasgn-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="gammasgn-37"><a href="#gammasgn-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="gammasgn-38"><a href="#gammasgn-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="gammasgn-39"><a href="#gammasgn-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="gammasgn-40"><a href="#gammasgn-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -1406,8 +1438,8 @@ np.exp(gammaln(x))</code>.</p>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="gp">>>> </span><span class="kn">import</span> <span class="nn">scipy.special</span> <span class="k">as</span> <span class="nn">sc</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="kn">import</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">sc</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -1454,7 +1486,7 @@ np.exp(gammaln(x))</code>.</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#rgamma"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="rgamma-36"><a href="#rgamma-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="rgamma-37"><a href="#rgamma-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="rgamma-37"><a href="#rgamma-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="rgamma-38"><a href="#rgamma-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="rgamma-39"><a href="#rgamma-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="rgamma-40"><a href="#rgamma-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -1513,7 +1545,7 @@ more details.</p>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">scipy.special</span> <span class="k">as</span> <span class="nn">sc</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">sc</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -1559,7 +1591,7 @@ more details.</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#multigammaln"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="multigammaln-36"><a href="#multigammaln-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="multigammaln-37"><a href="#multigammaln-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="multigammaln-37"><a href="#multigammaln-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="multigammaln-38"><a href="#multigammaln-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="multigammaln-39"><a href="#multigammaln-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="multigammaln-40"><a href="#multigammaln-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -1618,8 +1650,8 @@ probability and mathematical statistics).</p>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">multigammaln</span><span class="p">,</span> <span class="n">gammaln</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">multigammaln</span><span class="p">,</span> <span class="n">gammaln</span>
|
||||
<span class="gp">>>> </span><span class="n">a</span> <span class="o">=</span> <span class="mf">23.5</span>
|
||||
<span class="gp">>>> </span><span class="n">d</span> <span class="o">=</span> <span class="mi">10</span>
|
||||
<span class="gp">>>> </span><span class="n">multigammaln</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span>
|
||||
|
@ -1652,7 +1684,7 @@ shown above:</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#kn"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="kn-36"><a href="#kn-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="kn-37"><a href="#kn-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="kn-37"><a href="#kn-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="kn-38"><a href="#kn-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="kn-39"><a href="#kn-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="kn-40"><a href="#kn-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -1686,7 +1718,7 @@ shown above:</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#j0"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="j0-36"><a href="#j0-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="j0-37"><a href="#j0-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="j0-37"><a href="#j0-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="j0-38"><a href="#j0-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="j0-39"><a href="#j0-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="j0-40"><a href="#j0-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -1754,7 +1786,7 @@ It should not be confused with the spherical Bessel functions (see
|
|||
<p>Calculate the function at one point:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">j0</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">j0</span>
|
||||
<span class="gp">>>> </span><span class="n">j0</span><span class="p">(</span><span class="mf">1.</span><span class="p">)</span>
|
||||
<span class="go">0.7651976865579665</span>
|
||||
</code></pre>
|
||||
|
@ -1763,7 +1795,7 @@ It should not be confused with the spherical Bessel functions (see
|
|||
<p>Calculate the function at several points:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="n">j0</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="o">-</span><span class="mf">2.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">4.</span><span class="p">]))</span>
|
||||
<span class="go">array([ 0.22389078, 1. , -0.39714981])</span>
|
||||
</code></pre>
|
||||
|
@ -1772,7 +1804,7 @@ It should not be confused with the spherical Bessel functions (see
|
|||
<p>Plot the function from -20 to 20.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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 class="gp">>>> </span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">()</span>
|
||||
<span class="gp">>>> </span><span class="n">x</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="o">-</span><span class="mf">20.</span><span class="p">,</span> <span class="mf">20.</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">y</span> <span class="o">=</span> <span class="n">j0</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
|
||||
|
@ -1807,7 +1839,7 @@ It should not be confused with the spherical Bessel functions (see
|
|||
</div>
|
||||
<a class="headerlink" href="#y0"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="y0-36"><a href="#y0-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="y0-37"><a href="#y0-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="y0-37"><a href="#y0-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="y0-38"><a href="#y0-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="y0-39"><a href="#y0-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="y0-40"><a href="#y0-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -1872,7 +1904,7 @@ two rational functions of degree 6/6 and 7/7.</p>
|
|||
<p>Calculate the function at one point:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">y0</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">y0</span>
|
||||
<span class="gp">>>> </span><span class="n">y0</span><span class="p">(</span><span class="mf">1.</span><span class="p">)</span>
|
||||
<span class="go">0.08825696421567697</span>
|
||||
</code></pre>
|
||||
|
@ -1881,7 +1913,7 @@ two rational functions of degree 6/6 and 7/7.</p>
|
|||
<p>Calculate at several points:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="n">y0</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="mf">0.5</span><span class="p">,</span> <span class="mf">2.</span><span class="p">,</span> <span class="mf">3.</span><span class="p">]))</span>
|
||||
<span class="go">array([-0.44451873, 0.51037567, 0.37685001])</span>
|
||||
</code></pre>
|
||||
|
@ -1890,7 +1922,7 @@ two rational functions of degree 6/6 and 7/7.</p>
|
|||
<p>Plot the function from 0 to 10.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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 class="gp">>>> </span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">()</span>
|
||||
<span class="gp">>>> </span><span class="n">x</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="mf">0.</span><span class="p">,</span> <span class="mf">10.</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">y</span> <span class="o">=</span> <span class="n">y0</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
|
||||
|
@ -1925,7 +1957,7 @@ two rational functions of degree 6/6 and 7/7.</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#j1"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="j1-36"><a href="#j1-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="j1-37"><a href="#j1-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="j1-37"><a href="#j1-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="j1-38"><a href="#j1-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="j1-39"><a href="#j1-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="j1-40"><a href="#j1-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -1986,7 +2018,7 @@ It should not be confused with the spherical Bessel functions (see
|
|||
<p>Calculate the function at one point:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">j1</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">j1</span>
|
||||
<span class="gp">>>> </span><span class="n">j1</span><span class="p">(</span><span class="mf">1.</span><span class="p">)</span>
|
||||
<span class="go">0.44005058574493355</span>
|
||||
</code></pre>
|
||||
|
@ -1995,7 +2027,7 @@ It should not be confused with the spherical Bessel functions (see
|
|||
<p>Calculate the function at several points:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="n">j1</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="o">-</span><span class="mf">2.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">4.</span><span class="p">]))</span>
|
||||
<span class="go">array([-0.57672481, 0. , -0.06604333])</span>
|
||||
</code></pre>
|
||||
|
@ -2004,7 +2036,7 @@ It should not be confused with the spherical Bessel functions (see
|
|||
<p>Plot the function from -20 to 20.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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 class="gp">>>> </span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">()</span>
|
||||
<span class="gp">>>> </span><span class="n">x</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="o">-</span><span class="mf">20.</span><span class="p">,</span> <span class="mf">20.</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">y</span> <span class="o">=</span> <span class="n">j1</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
|
||||
|
@ -2039,7 +2071,7 @@ It should not be confused with the spherical Bessel functions (see
|
|||
</div>
|
||||
<a class="headerlink" href="#y1"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="y1-36"><a href="#y1-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="y1-37"><a href="#y1-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="y1-37"><a href="#y1-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="y1-38"><a href="#y1-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="y1-39"><a href="#y1-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="y1-40"><a href="#y1-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -2100,7 +2132,7 @@ rational functions of degree 5/5.</p>
|
|||
<p>Calculate the function at one point:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">y1</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">y1</span>
|
||||
<span class="gp">>>> </span><span class="n">y1</span><span class="p">(</span><span class="mf">1.</span><span class="p">)</span>
|
||||
<span class="go">-0.7812128213002888</span>
|
||||
</code></pre>
|
||||
|
@ -2109,7 +2141,7 @@ rational functions of degree 5/5.</p>
|
|||
<p>Calculate at several points:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="n">y1</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="mf">0.5</span><span class="p">,</span> <span class="mf">2.</span><span class="p">,</span> <span class="mf">3.</span><span class="p">]))</span>
|
||||
<span class="go">array([-1.47147239, -0.10703243, 0.32467442])</span>
|
||||
</code></pre>
|
||||
|
@ -2118,7 +2150,7 @@ rational functions of degree 5/5.</p>
|
|||
<p>Plot the function from 0 to 10.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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 class="gp">>>> </span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">()</span>
|
||||
<span class="gp">>>> </span><span class="n">x</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="mf">0.</span><span class="p">,</span> <span class="mf">10.</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">y</span> <span class="o">=</span> <span class="n">y1</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
|
||||
|
@ -2153,7 +2185,7 @@ rational functions of degree 5/5.</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#jn"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="jn-36"><a href="#jn-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="jn-37"><a href="#jn-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="jn-37"><a href="#jn-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="jn-38"><a href="#jn-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="jn-39"><a href="#jn-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="jn-40"><a href="#jn-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -2228,7 +2260,7 @@ term is explicitly omitted for <code>v</code> values such that <code>v = floor(v
|
|||
<p>Evaluate the function of order 0 at one point.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">jv</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">jv</span>
|
||||
<span class="gp">>>> </span><span class="n">jv</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mf">1.</span><span class="p">)</span>
|
||||
<span class="go">0.7651976865579666</span>
|
||||
</code></pre>
|
||||
|
@ -2255,7 +2287,7 @@ providing a list or NumPy array as argument for the <code>v</code> parameter:</p
|
|||
array for <code>z</code>.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="n">points</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="o">-</span><span class="mf">2.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">3.</span><span class="p">])</span>
|
||||
<span class="gp">>>> </span><span class="n">jv</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">points</span><span class="p">)</span>
|
||||
<span class="go">array([ 0.22389078, 1. , -0.26005195])</span>
|
||||
|
@ -2283,7 +2315,7 @@ To calculate the orders 0 and 1 for an 1D array:</p>
|
|||
<p>Plot the functions of order 0 to 3 from -10 to 10.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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 class="gp">>>> </span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">()</span>
|
||||
<span class="gp">>>> </span><span class="n">x</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="o">-</span><span class="mf">10.</span><span class="p">,</span> <span class="mf">10.</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="gp">>>> </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">4</span><span class="p">):</span>
|
||||
|
@ -2320,7 +2352,7 @@ of a Complex Argument and Nonnegative Order",
|
|||
</div>
|
||||
<a class="headerlink" href="#yn"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="yn-36"><a href="#yn-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="yn-37"><a href="#yn-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="yn-37"><a href="#yn-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="yn-38"><a href="#yn-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="yn-39"><a href="#yn-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="yn-40"><a href="#yn-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -2381,7 +2413,7 @@ the routine for <code><a href="#y0">y0</a></code> or <code><a href="#y1">y1</a><
|
|||
<p>Evaluate the function of order 0 at one point.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">yn</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">yn</span>
|
||||
<span class="gp">>>> </span><span class="n">yn</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mf">1.</span><span class="p">)</span>
|
||||
<span class="go">0.08825696421567697</span>
|
||||
</code></pre>
|
||||
|
@ -2408,7 +2440,7 @@ providing a list or NumPy array as argument for the <code>v</code> parameter:</p
|
|||
array for <code>z</code>.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="n">points</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="mf">0.5</span><span class="p">,</span> <span class="mf">3.</span><span class="p">,</span> <span class="mf">8.</span><span class="p">])</span>
|
||||
<span class="gp">>>> </span><span class="n">yn</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">points</span><span class="p">)</span>
|
||||
<span class="go">array([-0.44451873, 0.37685001, 0.22352149])</span>
|
||||
|
@ -2436,7 +2468,7 @@ To calculate the orders 0 and 1 for an 1D array:</p>
|
|||
<p>Plot the functions of order 0 to 3 from 0 to 10.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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 class="gp">>>> </span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">()</span>
|
||||
<span class="gp">>>> </span><span class="n">x</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="mf">0.</span><span class="p">,</span> <span class="mf">10.</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="gp">>>> </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">4</span><span class="p">):</span>
|
||||
|
@ -2473,7 +2505,7 @@ To calculate the orders 0 and 1 for an 1D array:</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#i0"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="i0-36"><a href="#i0-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="i0-37"><a href="#i0-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="i0-37"><a href="#i0-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="i0-38"><a href="#i0-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="i0-39"><a href="#i0-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="i0-40"><a href="#i0-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -2536,7 +2568,7 @@ Chebyshev polynomial expansions are employed in each interval.</p>
|
|||
<p>Calculate the function at one point:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">i0</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">i0</span>
|
||||
<span class="gp">>>> </span><span class="n">i0</span><span class="p">(</span><span class="mf">1.</span><span class="p">)</span>
|
||||
<span class="go">1.2660658777520082</span>
|
||||
</code></pre>
|
||||
|
@ -2545,7 +2577,7 @@ Chebyshev polynomial expansions are employed in each interval.</p>
|
|||
<p>Calculate at several points:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="n">i0</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="o">-</span><span class="mf">2.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">3.5</span><span class="p">]))</span>
|
||||
<span class="go">array([2.2795853 , 1. , 7.37820343])</span>
|
||||
</code></pre>
|
||||
|
@ -2554,7 +2586,7 @@ Chebyshev polynomial expansions are employed in each interval.</p>
|
|||
<p>Plot the function from -10 to 10.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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 class="gp">>>> </span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">()</span>
|
||||
<span class="gp">>>> </span><span class="n">x</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="o">-</span><span class="mf">10.</span><span class="p">,</span> <span class="mf">10.</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">y</span> <span class="o">=</span> <span class="n">i0</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
|
||||
|
@ -2589,7 +2621,7 @@ Chebyshev polynomial expansions are employed in each interval.</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#i1"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="i1-36"><a href="#i1-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="i1-37"><a href="#i1-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="i1-37"><a href="#i1-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="i1-38"><a href="#i1-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="i1-39"><a href="#i1-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="i1-40"><a href="#i1-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -2653,7 +2685,7 @@ Chebyshev polynomial expansions are employed in each interval.</p>
|
|||
<p>Calculate the function at one point:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">i1</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">i1</span>
|
||||
<span class="gp">>>> </span><span class="n">i1</span><span class="p">(</span><span class="mf">1.</span><span class="p">)</span>
|
||||
<span class="go">0.5651591039924851</span>
|
||||
</code></pre>
|
||||
|
@ -2662,7 +2694,7 @@ Chebyshev polynomial expansions are employed in each interval.</p>
|
|||
<p>Calculate the function at several points:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="n">i1</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="o">-</span><span class="mf">2.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">6.</span><span class="p">]))</span>
|
||||
<span class="go">array([-1.59063685, 0. , 61.34193678])</span>
|
||||
</code></pre>
|
||||
|
@ -2671,7 +2703,7 @@ Chebyshev polynomial expansions are employed in each interval.</p>
|
|||
<p>Plot the function between -10 and 10.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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 class="gp">>>> </span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">()</span>
|
||||
<span class="gp">>>> </span><span class="n">x</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="o">-</span><span class="mf">10.</span><span class="p">,</span> <span class="mf">10.</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">y</span> <span class="o">=</span> <span class="n">i1</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
|
||||
|
@ -2706,7 +2738,7 @@ Chebyshev polynomial expansions are employed in each interval.</p>
|
|||
</div>
|
||||
<a class="headerlink" href="#iv"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="iv-36"><a href="#iv-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="iv-37"><a href="#iv-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="iv-37"><a href="#iv-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="iv-38"><a href="#iv-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="iv-39"><a href="#iv-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="iv-40"><a href="#iv-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -2786,7 +2818,7 @@ second kind, evaluated using the AMOS routine <code>zbesk</code>.</p>
|
|||
<p>Evaluate the function of order 0 at one point.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">iv</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">iv</span>
|
||||
<span class="gp">>>> </span><span class="n">iv</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mf">1.</span><span class="p">)</span>
|
||||
<span class="go">1.2660658777520084</span>
|
||||
</code></pre>
|
||||
|
@ -2813,7 +2845,7 @@ providing a list or NumPy array as argument for the <code>v</code> parameter:</p
|
|||
array for <code>z</code>.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="n">points</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="o">-</span><span class="mf">2.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">3.</span><span class="p">])</span>
|
||||
<span class="gp">>>> </span><span class="n">iv</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">points</span><span class="p">)</span>
|
||||
<span class="go">array([2.2795853 , 1. , 4.88079259])</span>
|
||||
|
@ -2841,7 +2873,7 @@ To calculate the orders 0 and 1 for an 1D array:</p>
|
|||
<p>Plot the functions of order 0 to 3 from -5 to 5.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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 class="gp">>>> </span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">()</span>
|
||||
<span class="gp">>>> </span><span class="n">x</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="o">-</span><span class="mf">5.</span><span class="p">,</span> <span class="mf">5.</span><span class="p">,</span> <span class="mi">1000</span><span class="p">)</span>
|
||||
<span class="gp">>>> </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">4</span><span class="p">):</span>
|
||||
|
@ -2882,7 +2914,7 @@ of a Complex Argument and Nonnegative Order",
|
|||
</div>
|
||||
<a class="headerlink" href="#ive"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="ive-36"><a href="#ive-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="ive-37"><a href="#ive-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="ive-37"><a href="#ive-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="ive-38"><a href="#ive-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="ive-39"><a href="#ive-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="ive-40"><a href="#ive-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -2969,9 +3001,9 @@ while <code><a href="#ive">ive</a></code> does not due to the exponential scalin
|
|||
a finite number.</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">iv</span><span class="p">,</span> <span class="n">ive</span>
|
||||
<span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">iv</span><span class="p">,</span> <span class="n">ive</span>
|
||||
<span class="gp">>>> </span><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="gp">>>> </span><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 class="gp">>>> </span><span class="n">iv</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mf">1000.</span><span class="p">),</span> <span class="n">ive</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mf">1000.</span><span class="p">)</span>
|
||||
<span class="go">(inf, 0.01256056218254712)</span>
|
||||
</code></pre>
|
||||
|
@ -3049,7 +3081,7 @@ of a Complex Argument and Nonnegative Order",
|
|||
</div>
|
||||
<a class="headerlink" href="#erf"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="erf-36"><a href="#erf-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="erf-37"><a href="#erf-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="erf-37"><a href="#erf-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="erf-38"><a href="#erf-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="erf-39"><a href="#erf-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="erf-40"><a href="#erf-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -3103,9 +3135,9 @@ The values of the error function at the given points <code>x</code>.</li>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy</span> <span class="kn">import</span> <span class="n">special</span>
|
||||
<span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy</span><span class="w"> </span><span class="kn">import</span> <span class="n">special</span>
|
||||
<span class="gp">>>> </span><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 class="gp">>>> </span><span class="n">x</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="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">plt</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">special</span><span class="o">.</span><span class="n">erf</span><span class="p">(</span><span class="n">x</span><span class="p">))</span>
|
||||
<span class="gp">>>> </span><span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">'$x$'</span><span class="p">)</span>
|
||||
|
@ -3136,7 +3168,7 @@ The values of the error function at the given points <code>x</code>.</li>
|
|||
</div>
|
||||
<a class="headerlink" href="#erfc"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="erfc-36"><a href="#erfc-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="erfc-37"><a href="#erfc-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="erfc-37"><a href="#erfc-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="erfc-38"><a href="#erfc-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="erfc-39"><a href="#erfc-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="erfc-40"><a href="#erfc-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -3182,9 +3214,9 @@ Optional output array for the function results</li>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy</span> <span class="kn">import</span> <span class="n">special</span>
|
||||
<span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy</span><span class="w"> </span><span class="kn">import</span> <span class="n">special</span>
|
||||
<span class="gp">>>> </span><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 class="gp">>>> </span><span class="n">x</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="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">plt</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">special</span><span class="o">.</span><span class="n">erfc</span><span class="p">(</span><span class="n">x</span><span class="p">))</span>
|
||||
<span class="gp">>>> </span><span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">'$x$'</span><span class="p">)</span>
|
||||
|
@ -3215,7 +3247,7 @@ Optional output array for the function results</li>
|
|||
</div>
|
||||
<a class="headerlink" href="#erfinv"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="erfinv-36"><a href="#erfinv-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="erfinv-37"><a href="#erfinv-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="erfinv-37"><a href="#erfinv-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="erfinv-38"><a href="#erfinv-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="erfinv-39"><a href="#erfinv-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="erfinv-40"><a href="#erfinv-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -3266,12 +3298,19 @@ The inverse of erf of y, element-wise</li>
|
|||
<code><a href="#erfc">erfc</a></code>: Complementary error function, <code>1 - erf(x)</code><br />
|
||||
<code><a href="#erfcinv">erfcinv</a></code>: Inverse of the complementary error function </p>
|
||||
|
||||
<h6 id="notes">Notes</h6>
|
||||
|
||||
<p>This function wraps the <code>erf_inv</code> routine from the
|
||||
Boost Math C++ library <sup class="footnote-ref" id="fnref-1"><a href="#fn-1">1</a></sup>.</p>
|
||||
|
||||
<h6 id="references">References</h6>
|
||||
|
||||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">erfinv</span><span class="p">,</span> <span class="n">erf</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><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 class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">erfinv</span><span class="p">,</span> <span class="n">erf</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -3310,6 +3349,15 @@ The inverse of erf of y, element-wise</li>
|
|||
<span class="gp">>>> </span><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
<div class="footnotes">
|
||||
<hr />
|
||||
<ol>
|
||||
<li id="fn-1">
|
||||
<p>The Boost Developers. "Boost C++ Libraries". <a href="https://www.boost.org/">https://www.boost.org/</a>. <a href="#fnref-1" class="footnoteBackLink" title="Jump back to footnote 1 in the text.">↩</a></p>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -3327,7 +3375,7 @@ The inverse of erf of y, element-wise</li>
|
|||
</div>
|
||||
<a class="headerlink" href="#erfcinv"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="erfcinv-36"><a href="#erfcinv-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="erfcinv-37"><a href="#erfcinv-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="erfcinv-37"><a href="#erfcinv-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="erfcinv-38"><a href="#erfcinv-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="erfcinv-39"><a href="#erfcinv-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="erfcinv-40"><a href="#erfcinv-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -3383,9 +3431,9 @@ The inverse of erfc of y, element-wise</li>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">erfcinv</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><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 class="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">erfcinv</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -3433,7 +3481,7 @@ The inverse of erfc of y, element-wise</li>
|
|||
</div>
|
||||
<a class="headerlink" href="#logit"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="logit-36"><a href="#logit-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="logit-37"><a href="#logit-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="logit-37"><a href="#logit-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="logit-38"><a href="#logit-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="logit-39"><a href="#logit-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="logit-40"><a href="#logit-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -3451,8 +3499,7 @@ The inverse of erfc of y, element-wise</li>
|
|||
|
||||
<div class="docstring"><p>logit(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature])</p>
|
||||
|
||||
<p>"""
|
||||
logit(x, out=None)</p>
|
||||
<p>logit(x, out=None)</p>
|
||||
|
||||
<p>Logit ufunc for ndarrays.</p>
|
||||
|
||||
|
@ -3491,8 +3538,8 @@ see <a href="https://docs.scipy.org/doc/numpy/reference/ufuncs.html">ufuncs </a>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">logit</span><span class="p">,</span> <span class="n">expit</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">logit</span><span class="p">,</span> <span class="n">expit</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -3513,7 +3560,7 @@ see <a href="https://docs.scipy.org/doc/numpy/reference/ufuncs.html">ufuncs </a>
|
|||
<p>Plot logit(x) for x in [0, 1]:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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 class="gp">>>> </span><span class="n">x</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="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">501</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">y</span> <span class="o">=</span> <span class="n">logit</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">plt</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">y</span><span class="p">)</span>
|
||||
|
@ -3541,7 +3588,7 @@ see <a href="https://docs.scipy.org/doc/numpy/reference/ufuncs.html">ufuncs </a>
|
|||
</div>
|
||||
<a class="headerlink" href="#expit"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="expit-36"><a href="#expit-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="expit-37"><a href="#expit-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="expit-37"><a href="#expit-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="expit-38"><a href="#expit-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="expit-39"><a href="#expit-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="expit-40"><a href="#expit-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -3598,8 +3645,8 @@ see <a href="https://docs.scipy.org/doc/numpy/reference/ufuncs.html">ufuncs </a>
|
|||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">expit</span><span class="p">,</span> <span class="n">logit</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">expit</span><span class="p">,</span> <span class="n">logit</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
|
@ -3620,7 +3667,7 @@ see <a href="https://docs.scipy.org/doc/numpy/reference/ufuncs.html">ufuncs </a>
|
|||
<p>Plot expit(x) for x in [-6, 6]:</p>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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 class="gp">>>> </span><span class="n">x</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="o">-</span><span class="mi">6</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="mi">121</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">y</span> <span class="o">=</span> <span class="n">expit</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">plt</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">y</span><span class="p">)</span>
|
||||
|
@ -3648,7 +3695,7 @@ see <a href="https://docs.scipy.org/doc/numpy/reference/ufuncs.html">ufuncs </a>
|
|||
</div>
|
||||
<a class="headerlink" href="#logsumexp"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="logsumexp-36"><a href="#logsumexp-36"><span class="linenos">36</span></a> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
|
||||
</span><span id="logsumexp-37"><a href="#logsumexp-37"><span class="linenos">37</span></a> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="logsumexp-37"><a href="#logsumexp-37"><span class="linenos">37</span></a> <span class="k">def</span><span class="w"> </span><span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
</span><span id="logsumexp-38"><a href="#logsumexp-38"><span class="linenos">38</span></a> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
|
||||
</span><span id="logsumexp-39"><a href="#logsumexp-39"><span class="linenos">39</span></a> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
|
||||
</span><span id="logsumexp-40"><a href="#logsumexp-40"><span class="linenos">40</span></a> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
|
||||
|
@ -3722,11 +3769,15 @@ If <code>return_sign</code> is False, only one result is returned.</li>
|
|||
only handles two arguments. <code>logaddexp.reduce</code> is similar to this
|
||||
function, but may be less stable.</p>
|
||||
|
||||
<p>The logarithm is a multivalued function: for each \( x \) there is an
|
||||
infinite number of \( z \) such that \( exp(z) = x \). The convention
|
||||
is to return the \( z \) whose imaginary part lies in \( (-pi, pi] \).</p>
|
||||
|
||||
<h6 id="examples">Examples</h6>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
||||
<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">logsumexp</span>
|
||||
<pre><span></span><code><span class="gp">>>> </span><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="gp">>>> </span><span class="kn">from</span><span class="w"> </span><span class="nn">scipy.special</span><span class="w"> </span><span class="kn">import</span> <span class="n">logsumexp</span>
|
||||
<span class="gp">>>> </span><span class="n">a</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">logsumexp</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
|
||||
<span class="go">9.4586297444267107</span>
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue