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.