mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-03-16 15:20:24 +01:00
Documentation updated
This commit is contained in:
parent
29ae383303
commit
d3a418a344
2 changed files with 20 additions and 5 deletions
|
@ -361,7 +361,10 @@
|
|||
<span class="n">output</span><span class="o">.</span><span class="n">chisquare_by_expected_chisquare</span><span class="p">)</span>
|
||||
|
||||
<span class="n">fitp</span> <span class="o">=</span> <span class="n">out</span><span class="o">.</span><span class="n">beta</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">hess_inv</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">pinv</span><span class="p">(</span><span class="n">jacobian</span><span class="p">(</span><span class="n">jacobian</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 class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
|
||||
<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="bp">None</span>
|
||||
|
||||
<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 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>
|
||||
|
@ -638,7 +641,10 @@
|
|||
<span class="n">output</span><span class="o">.</span><span class="n">chisquare_by_expected_chisquare</span><span class="p">)</span>
|
||||
|
||||
<span class="n">fitp</span> <span class="o">=</span> <span class="n">fit_result</span><span class="o">.</span><span class="n">x</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">hess_inv</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">pinv</span><span class="p">(</span><span class="n">jacobian</span><span class="p">(</span><span class="n">jacobian</span><span class="p">(</span><span class="n">chisqfunc</span><span class="p">))(</span><span class="n">fitp</span><span class="p">))</span>
|
||||
<span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
|
||||
<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="bp">None</span>
|
||||
|
||||
<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 class="k">def</span> <span class="nf">chisqfunc_compact</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
|
@ -1214,7 +1220,10 @@ If true, use the full correlation matrix in the definition of the chisquare
|
|||
<span class="n">output</span><span class="o">.</span><span class="n">chisquare_by_expected_chisquare</span><span class="p">)</span>
|
||||
|
||||
<span class="n">fitp</span> <span class="o">=</span> <span class="n">out</span><span class="o">.</span><span class="n">beta</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">hess_inv</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">pinv</span><span class="p">(</span><span class="n">jacobian</span><span class="p">(</span><span class="n">jacobian</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 class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
|
||||
<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="bp">None</span>
|
||||
|
||||
<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 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>
|
||||
|
|
|
@ -102,7 +102,10 @@
|
|||
|
||||
<span class="c1"># Error propagation as detailed in arXiv:1809.01289</span>
|
||||
<span class="n">dx</span> <span class="o">=</span> <span class="n">jacobian</span><span class="p">(</span><span class="n">func</span><span class="p">)(</span><span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">d</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<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</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||
<span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
|
||||
<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="bp">None</span>
|
||||
<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 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">d</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 class="p">[</span><span class="n">d</span><span class="p">],</span> <span class="n">man_grad</span><span class="o">=</span><span class="p">[</span><span class="n">deriv</span><span class="p">])</span>
|
||||
|
@ -149,7 +152,10 @@
|
|||
|
||||
<span class="c1"># Error propagation as detailed in arXiv:1809.01289</span>
|
||||
<span class="n">dx</span> <span class="o">=</span> <span class="n">jacobian</span><span class="p">(</span><span class="n">func</span><span class="p">)(</span><span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">d</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<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</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||
<span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
|
||||
<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="bp">None</span>
|
||||
<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 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">d</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 class="p">[</span><span class="n">d</span><span class="p">],</span> <span class="n">man_grad</span><span class="o">=</span><span class="p">[</span><span class="n">deriv</span><span class="p">])</span>
|
||||
|
|
Loading…
Add table
Reference in a new issue