Parameter folding and flattening, parameter origami: paragami*!
This is a library (very much still in development) intended to make sensitivity analysis easier for optimization problems. The core functionality consists of tools for "folding" and "flattening" collections of parameters -- i.e., for converting data structures of constrained parameters to and from vectors of unconstrained parameters.
For background and motivation, see the following papers:
Covariances, Robustness, and Variational Bayes Ryan Giordano, Tamara Broderick, Michael I. Jordan https://arxiv.org/abs/1709.02536
A Swiss Army Infinitesimal Jackknife Ryan Giordano, Will Stephenson, Runjing Liu, Michael I. Jordan, Tamara Broderick https://arxiv.org/abs/1806.00550
Evaluating Sensitivity to the Stick Breaking Prior in Bayesian Nonparametrics Runjing Liu, Ryan Giordano, Michael I. Jordan, Tamara Broderick https://arxiv.org/abs/1810.06587
We welcome new users! However, please be aware that the package is
still in development. We encourage users to contact the author (github
user rgiordan) for advice, bugs, or if you're using the package for
something important.
To install the latest tagged version, install with pip:
python3 -m pip install paragami.
The paragami package is under rapid development, so you may want to
clone the respository and use the master branch instead.
Note: In order to use the functions in
sparse_preconditioners_lib, you must additionally manually install
scikit-sparse,
which requires the C++ libraries in libsuitesparse-dev.
Most users will not require this functionality so scikit-sparse is not installed by default with paragami for simplicity. See the
scikit-sparse requirements
for more details on installation.
For examples and API documentation, see readthedocs.
Alternatively, check out the repo and run make html in docs/.
* Thanks to Stéfan van der Walt for the suggesting the package name.