Skip to content

Commit b239437

Browse files
Added navbar and removed insert_navbar.sh
1 parent 29467eb commit b239437

File tree

6 files changed

+6
-0
lines changed

6 files changed

+6
-0
lines changed

dev/general/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,7 @@
457457
});
458458
</script>
459459
<!-- NAVBAR END -->
460+
460461
<div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../">SliceSampling.jl</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../">Home</a></li><li class="is-active"><a class="tocitem" href>General Usage</a><ul class="internal"><li><a class="tocitem" href="#Examples"><span>Examples</span></a></li><li><a class="tocitem" href="#Drawing-Samples"><span>Drawing Samples</span></a></li><li><a class="tocitem" href="#Performing-a-Single-Transition"><span>Performing a Single Transition</span></a></li></ul></li><li><a class="tocitem" href="../univariate_slice/">Univariate Slice Sampling</a></li><li><a class="tocitem" href="../meta_multivariate/">Meta Multivariate Samplers</a></li><li><a class="tocitem" href="../latent_slice/">Latent Slice Sampling</a></li><li><a class="tocitem" href="../gibbs_polar/">Gibbsian Polar Slice Sampling</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>General Usage</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>General Usage</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/TuringLang/SliceSampling.jl/blob/main/docs/src/general.md#" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><h1 id="General-Usage"><a class="docs-heading-anchor" href="#General-Usage">General Usage</a><a id="General-Usage-1"></a><a class="docs-heading-anchor-permalink" href="#General-Usage" title="Permalink"></a></h1><p>This package implements the <code>AbstractMCMC</code> <a href="https://github.com/TuringLang/AbstractMCMC.jl">interface</a>. <code>AbstractMCMC</code> provides a unifying interface for MCMC algorithms applied to <a href="https://github.com/tpapp/LogDensityProblems.jl">LogDensityProblems</a>.</p><h2 id="Examples"><a class="docs-heading-anchor" href="#Examples">Examples</a><a id="Examples-1"></a><a class="docs-heading-anchor-permalink" href="#Examples" title="Permalink"></a></h2><h3 id="Drawing-Samples-From-a-LogDensityProblems-Through-AbstractMCMC"><a class="docs-heading-anchor" href="#Drawing-Samples-From-a-LogDensityProblems-Through-AbstractMCMC">Drawing Samples From a <code>LogDensityProblems</code> Through <code>AbstractMCMC</code></a><a id="Drawing-Samples-From-a-LogDensityProblems-Through-AbstractMCMC-1"></a><a class="docs-heading-anchor-permalink" href="#Drawing-Samples-From-a-LogDensityProblems-Through-AbstractMCMC" title="Permalink"></a></h3><p><code>SliceSampling.jl</code> implements the <a href="https://github.com/TuringLang/AbstractMCMC.jl"><code>AbstractMCMC</code></a> interface through <a href="https://github.com/tpapp/LogDensityProblems.jl"><code>LogDensityProblems</code></a>. That is, one simply needs to define a <code>LogDensityProblems</code> and pass it to <code>AbstractMCMC</code>:</p><pre><code class="language-julia hljs">using AbstractMCMC
461462
using Distributions
462463
using LinearAlgebra

dev/gibbs_polar/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,7 @@
457457
});
458458
</script>
459459
<!-- NAVBAR END -->
460+
460461
<div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../">SliceSampling.jl</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../">Home</a></li><li><a class="tocitem" href="../general/">General Usage</a></li><li><a class="tocitem" href="../univariate_slice/">Univariate Slice Sampling</a></li><li><a class="tocitem" href="../meta_multivariate/">Meta Multivariate Samplers</a></li><li><a class="tocitem" href="../latent_slice/">Latent Slice Sampling</a></li><li class="is-active"><a class="tocitem" href>Gibbsian Polar Slice Sampling</a><ul class="internal"><li><a class="tocitem" href="#Introduction"><span>Introduction</span></a></li><li><a class="tocitem" href="#Description"><span>Description</span></a></li><li><a class="tocitem" href="#Interface"><span>Interface</span></a></li><li><a class="tocitem" href="#Demonstration"><span>Demonstration</span></a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Gibbsian Polar Slice Sampling</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Gibbsian Polar Slice Sampling</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/TuringLang/SliceSampling.jl/blob/main/docs/src/gibbs_polar.md#" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><h1 id="polar"><a class="docs-heading-anchor" href="#polar">Gibbsian Polar Slice Sampling</a><a id="polar-1"></a><a class="docs-heading-anchor-permalink" href="#polar" title="Permalink"></a></h1><h2 id="Introduction"><a class="docs-heading-anchor" href="#Introduction">Introduction</a><a id="Introduction-1"></a><a class="docs-heading-anchor-permalink" href="#Introduction" title="Permalink"></a></h2><p>Gibbsian polar slice sampling (GPSS) is a recent vector-valued slice sampling algorithm proposed by P. Schär, M. Habeck, and D. Rudolf<sup class="footnote-reference"><a id="citeref-SHR2023" href="#footnote-SHR2023">[SHR2023]</a></sup>. It is an computationally efficient variant of polar slice sampler previously proposed by Roberts and Rosenthal<sup class="footnote-reference"><a id="citeref-RR2002" href="#footnote-RR2002">[RR2002]</a></sup>. Unlike other slice sampling algorithms, it operates a Gibbs sampler over polar coordinates, reminiscent of the elliptical slice sampler (ESS). Due to the involvement of polar coordinates, GPSS only works reliably on more than one dimension. However, unlike ESS, GPSS is applicable to any target distribution.</p><h2 id="Description"><a class="docs-heading-anchor" href="#Description">Description</a><a id="Description-1"></a><a class="docs-heading-anchor-permalink" href="#Description" title="Permalink"></a></h2><p>For a <span>$d$</span>-dimensional target distribution <span>$\pi$</span>, GPSS utilizes the following augmented target distribution:</p><p class="math-container">\[\begin{aligned}
461462
p(x, T) &amp;= \varrho_{\pi}^{(0)}(x) \varrho_{\pi}^{(1)}(x) \, \operatorname{Uniform}\left(T; 0, \varrho^1(x)\right) \\
462463
\varrho_{\pi}^{(0)}(x) &amp;= {\lVert x \rVert}^{1 - d} \\

dev/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,5 +457,6 @@
457457
});
458458
</script>
459459
<!-- NAVBAR END -->
460+
460461
<div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href>SliceSampling.jl</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li class="is-active"><a class="tocitem" href>Home</a></li><li><a class="tocitem" href="general/">General Usage</a></li><li><a class="tocitem" href="univariate_slice/">Univariate Slice Sampling</a></li><li><a class="tocitem" href="meta_multivariate/">Meta Multivariate Samplers</a></li><li><a class="tocitem" href="latent_slice/">Latent Slice Sampling</a></li><li><a class="tocitem" href="gibbs_polar/">Gibbsian Polar Slice Sampling</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Home</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Home</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/TuringLang/SliceSampling.jl/blob/main/docs/src/index.md#" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><h1 id="SliceSampling"><a class="docs-heading-anchor" href="#SliceSampling">SliceSampling</a><a id="SliceSampling-1"></a><a class="docs-heading-anchor-permalink" href="#SliceSampling" title="Permalink"></a></h1><p>This package implements slice sampling algorithms. Slice sampling finds its roots in the Swendsen–Wang algorithm for Ising models<sup class="footnote-reference"><a id="citeref-SW1987" href="#footnote-SW1987">[SW1987]</a></sup><sup class="footnote-reference"><a id="citeref-ES1988" href="#footnote-ES1988">[ES1988]</a></sup>. It later came into the interest of the statistical community through Besag and Green<sup class="footnote-reference"><a id="citeref-BG1993" href="#footnote-BG1993">[BG1993]</a></sup>, and popularized by Neal <sup class="footnote-reference"><a id="citeref-N2003" href="#footnote-N2003">[N2003]</a></sup>. Furthermore, Neal introduced various ways to efficiently implement slice samplers. This package provides the original slice sampling algorithms by Neal and their later extensions.</p><ul><li><a href="gibbs_polar/#SliceSampling.GibbsPolarSlice"><code>SliceSampling.GibbsPolarSlice</code></a></li><li><a href="meta_multivariate/#SliceSampling.HitAndRun"><code>SliceSampling.HitAndRun</code></a></li><li><a href="latent_slice/#SliceSampling.LatentSlice"><code>SliceSampling.LatentSlice</code></a></li><li><a href="meta_multivariate/#SliceSampling.RandPermGibbs"><code>SliceSampling.RandPermGibbs</code></a></li><li><a href="univariate_slice/#SliceSampling.Slice"><code>SliceSampling.Slice</code></a></li><li><a href="univariate_slice/#SliceSampling.SliceDoublingOut"><code>SliceSampling.SliceDoublingOut</code></a></li><li><a href="univariate_slice/#SliceSampling.SliceSteppingOut"><code>SliceSampling.SliceSteppingOut</code></a></li><li><a href="general/#SliceSampling.Transition"><code>SliceSampling.Transition</code></a></li><li><a href="general/#SliceSampling.initial_sample"><code>SliceSampling.initial_sample</code></a></li></ul><section class="footnotes is-size-7"><ul><li class="footnote" id="footnote-SW1987"><a class="tag is-link" href="#citeref-SW1987">SW1987</a>Swendsen, R. H., &amp; Wang, J. S. (1987). Nonuniversal critical dynamics in Monte Carlo simulations. Physical review letters, 58(2), 86.</li><li class="footnote" id="footnote-ES1988"><a class="tag is-link" href="#citeref-ES1988">ES1988</a>Edwards, R. G., &amp; Sokal, A. D. (1988). Generalization of the fortuin-kasteleyn-swendsen-wang representation and monte carlo algorithm. Physical review D, 38(6), 2009.</li><li class="footnote" id="footnote-BG1993"><a class="tag is-link" href="#citeref-BG1993">BG1993</a>Besag, J., &amp; Green, P. J. (1993). Spatial statistics and Bayesian computation. Journal of the Royal Statistical Society Series B: Statistical Methodology, 55(1), 25-37.</li><li class="footnote" id="footnote-N2003"><a class="tag is-link" href="#citeref-N2003">N2003</a>Neal, R. M. (2003). Slice sampling. The annals of statistics, 31(3), 705-767.</li></ul></section></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="general/">General Usage »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.7.0 on <span class="colophon-date" title="Tuesday 8 October 2024 16:47">Tuesday 8 October 2024</span>. Using Julia version 1.11.0.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
461462

dev/latent_slice/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,7 @@
457457
});
458458
</script>
459459
<!-- NAVBAR END -->
460+
460461
<div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../">SliceSampling.jl</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../">Home</a></li><li><a class="tocitem" href="../general/">General Usage</a></li><li><a class="tocitem" href="../univariate_slice/">Univariate Slice Sampling</a></li><li><a class="tocitem" href="../meta_multivariate/">Meta Multivariate Samplers</a></li><li class="is-active"><a class="tocitem" href>Latent Slice Sampling</a><ul class="internal"><li><a class="tocitem" href="#Introduction"><span>Introduction</span></a></li><li><a class="tocitem" href="#Description"><span>Description</span></a></li><li><a class="tocitem" href="#Interface"><span>Interface</span></a></li></ul></li><li><a class="tocitem" href="../gibbs_polar/">Gibbsian Polar Slice Sampling</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Latent Slice Sampling</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Latent Slice Sampling</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/TuringLang/SliceSampling.jl/blob/main/docs/src/latent_slice.md#" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><h1 id="latent"><a class="docs-heading-anchor" href="#latent">Latent Slice Sampling</a><a id="latent-1"></a><a class="docs-heading-anchor-permalink" href="#latent" title="Permalink"></a></h1><h2 id="Introduction"><a class="docs-heading-anchor" href="#Introduction">Introduction</a><a id="Introduction-1"></a><a class="docs-heading-anchor-permalink" href="#Introduction" title="Permalink"></a></h2><p>Latent slice sampling is a recent vector-valued slice sampling algorithm proposed by Li and Walker<sup class="footnote-reference"><a id="citeref-LW2023" href="#footnote-LW2023">[LW2023]</a></sup>. Unlike other slice sampling algorithms, it treats the &quot;search intervals&quot; as auxiliary variables and adapts them along the samples from the log-target in a Gibbs-type scheme.</p><h2 id="Description"><a class="docs-heading-anchor" href="#Description">Description</a><a id="Description-1"></a><a class="docs-heading-anchor-permalink" href="#Description" title="Permalink"></a></h2><p>Specifically, the extended joint density of the latent slice sampler is as follows:</p><p class="math-container">\[ p(x, t, s, l) = \pi(x) \, p(s) \, \operatorname{Uniform}\left(t; 0, \pi\left(x\right)\right) \, \operatorname{Uniform}\left(l; \; x - s/2,\, x + s/2\right),\]</p><p>where <span>$y$</span> is the parameters of the log-target <span>$\pi$</span>, <span>$s$</span> is the width of the search interval and <span>$l$</span> is the centering of the search interval relative to <span>$y$</span>. Naturally, the sampler operates as a blocked-Gibbs sampler </p><p class="math-container">\[\begin{aligned}
461462
l_n &amp;\sim \operatorname{Uniform}\left(l; \; x_{n-1} - s_{n-1}/2,\, x_{n-1} + s_{n-1}/2\right) \\
462463
s_n &amp;\sim p(s \mid x_{n-1}, l_{n}) \\

0 commit comments

Comments
 (0)