Makes some minor changes to PyVBMC's interfaces:
a. vbmc.optimize() now returns just two items: the vp and a results dictionary. The elbo, elbo_sd and success_flag are contained in the dictionary.
b. There is now a vp.log_pdf() function for convenience (it calls vp.pdf() with log_flag=True and passes along all other arguments and keyword arguments.
c. Adds tests for vp.log_pdf().
Updates the documentation and examples with these changes.
Adds separate .py files for each example, containing the full code. Links to these files are at the top of each example.
Note: The links won't work until this PR is merged because they point to the main branch (I couldn't get Sphinx to understand the relative links inside a Jupyter Notebook).
Some other small changes to the documentation:
a. Adds a "How does it work?" section to the README, with animated gif.
b. Fixes BibTeX in GitHub pages to match README.
vbmc.optimize()
now returns just two items: thevp
and aresults
dictionary. Theelbo
,elbo_sd
andsuccess_flag
are contained in the dictionary. b. There is now avp.log_pdf()
function for convenience (it callsvp.pdf()
withlog_flag=True
and passes along all other arguments and keyword arguments. c. Adds tests forvp.log_pdf()
..py
files for each example, containing the full code. Links to these files are at the top of each example.