Skip to content

Commit

Permalink
documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
gplepage committed Mar 30, 2024
1 parent b81a483 commit 60ea2f1
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 15 deletions.
Binary file modified doc/html/.doctrees/environment.pickle
Binary file not shown.
Binary file modified doc/html/.doctrees/vegas.doctree
Binary file not shown.
2 changes: 1 addition & 1 deletion doc/html/searchindex.js

Large diffs are not rendered by default.

13 changes: 7 additions & 6 deletions doc/html/vegas.html
Original file line number Diff line number Diff line change
Expand Up @@ -1382,12 +1382,13 @@ <h2>PDFIntegrator Objects<a class="headerlink" href="#pdfintegrator-objects" tit
<span class="n">r</span> <span class="o">=</span> <span class="n">g_ev</span><span class="o">.</span><span class="n">stats</span><span class="p">()</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">&#39;&lt;p&gt; =&#39;</span><span class="p">,</span> <span class="n">r</span><span class="p">,</span> <span class="s1">&#39;(vegas)&#39;</span><span class="p">)</span>

<span class="c1"># sample g_pdf(p) and use sample to evaluate &lt;p&gt; and &lt;cos(p0)&gt;</span>
<span class="c1"># sample g_pdf(p)</span>
<span class="n">wgts</span><span class="p">,</span> <span class="n">p_samples</span> <span class="o">=</span> <span class="n">g_ev</span><span class="o">.</span><span class="n">sample</span><span class="p">(</span><span class="n">nbatch</span><span class="o">=</span><span class="mi">40_000</span><span class="p">)</span>
<span class="n">p_avg</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">wgts</span><span class="p">[</span><span class="kc">None</span><span class="p">,</span> <span class="p">:]</span> <span class="o">*</span> <span class="n">p_samples</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<span class="n">cosp_avg</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">wgts</span><span class="p">[</span><span class="kc">None</span><span class="p">,</span> <span class="p">:]</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">p_samples</span><span class="p">),</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<span class="c1"># evaluate mean values &lt;p&gt; and &lt;cos(p0)&gt;</span>
<span class="n">p_avg</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">wgts</span> <span class="o">*</span> <span class="n">p_samples</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<span class="n">cosp0_avg</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">wgts</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">p_samples</span><span class="p">[</span><span class="mi">0</span><span class="p">]))</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">&#39;&lt;p&gt; =&#39;</span><span class="p">,</span> <span class="n">p_avg</span><span class="p">,</span> <span class="s1">&#39;(sample)&#39;</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">&#39;&lt;cos(p)&gt; =&#39;</span><span class="p">,</span> <span class="n">cosp_avg</span><span class="p">,</span> <span class="s1">&#39;(sample)&#39;</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">&#39;&lt;cos(p0)&gt; =&#39;</span><span class="p">,</span> <span class="n">cosp0_avg</span><span class="p">,</span> <span class="s1">&#39;(sample)&#39;</span><span class="p">)</span>
</pre></div>
</div>
<p>Here <code class="docutils literal notranslate"><span class="pre">p_samples[d,</span> <span class="pre">i]</span></code> is a batch of about 40,000 random samples
Expand All @@ -1400,8 +1401,8 @@ <h2>PDFIntegrator Objects<a class="headerlink" href="#pdfintegrator-objects" tit
batch index to the leftmost position: <code class="docutils literal notranslate"><span class="pre">p_samples[i,</span> <span class="pre">d]</span></code>.)
The output from this script is:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">&lt;</span><span class="n">p</span><span class="o">&gt;</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.40</span><span class="p">(</span><span class="mi">17</span><span class="p">)</span> <span class="mf">0.40</span><span class="p">(</span><span class="mi">17</span><span class="p">)]</span> <span class="p">(</span><span class="n">vegas</span><span class="p">)</span>
<span class="o">&lt;</span><span class="n">p</span><span class="o">&gt;</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.39998773</span> <span class="mf">0.39984626</span><span class="p">]</span> <span class="p">(</span><span class="n">sample</span><span class="p">)</span>
<span class="o">&lt;</span><span class="n">cos</span><span class="p">(</span><span class="n">p</span><span class="p">)</span><span class="o">&gt;</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.90745871</span> <span class="mf">0.9075133</span> <span class="p">]</span> <span class="p">(</span><span class="n">sample</span><span class="p">)</span>
<span class="o">&lt;</span><span class="n">p</span><span class="o">&gt;</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.40011804</span> <span class="mf">0.39999454</span><span class="p">]</span> <span class="p">(</span><span class="n">sample</span><span class="p">)</span>
<span class="o">&lt;</span><span class="n">cos</span><span class="p">(</span><span class="n">p0</span><span class="p">)</span><span class="o">&gt;</span> <span class="o">=</span> <span class="mf">0.9074221724843065</span> <span class="p">(</span><span class="n">sample</span><span class="p">)</span>
</pre></div>
</div>
<p>Samples are also useful for making histograms and contour
Expand Down
15 changes: 8 additions & 7 deletions src/vegas/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1055,13 +1055,14 @@ def g_pdf(p):
r = g_ev.stats()
print('<p> =', r, '(vegas)')
# sample g_pdf(p) and use sample to evaluate <p> and <cos(p0)>
# sample g_pdf(p)
wgts, p_samples = g_ev.sample(nbatch=40_000)
p_avg = np.sum(wgts[None, :] * p_samples, axis=1)
cosp_avg = np.sum(wgts[None, :] * np.cos(p_samples), axis=1)
# evaluate mean values <p> and <cos(p0)>
p_avg = np.sum(wgts * p_samples, axis=1)
cosp0_avg = np.sum(wgts * np.cos(p_samples[0]))
print('<p> =', p_avg, '(sample)')
print('<cos(p)> =', cosp_avg, '(sample)')
print('<cos(p0)> =', cosp0_avg, '(sample)')
Here ``p_samples[d, i]`` is a batch of about 40,000 random samples
for parameter ``p[d]`` drawn from the (bimodal) distribution with
PDF ``g_pdf(p)``. Index ``d=0,1`` labels directions in parameter
Expand All @@ -1073,8 +1074,8 @@ def g_pdf(p):
The output from this script is::
<p> = [0.40(17) 0.40(17)] (vegas)
<p> = [0.39998773 0.39984626] (sample)
<cos(p)> = [0.90745871 0.9075133 ] (sample)
<p> = [0.40011804 0.39999454] (sample)
<cos(p0)> = 0.9074221724843065 (sample)
Samples are also useful for making histograms and contour
plots of the probability density. For example, the following
Expand Down
2 changes: 1 addition & 1 deletion tests/test_vegas.py
Original file line number Diff line number Diff line change
Expand Up @@ -1343,7 +1343,7 @@ def f(p):
self.assertTrue(r[1].shape == (2,3))

def test_PDFIntegrator_sample(self): ## add dictionaries
nbatch = 100_000
nbatch = 100000
cov1 = np.array([[1., 0.99], [0.99, 1]])
D = np.array([2, 1e-1])
cov1 = D[None, :] * cov1 * D[:, None]
Expand Down

0 comments on commit 60ea2f1

Please sign in to comment.