#####################################
"Parameter origami": ``paragami``.
#####################################

.. image:: https://travis-ci.org/rgiordan/paragami.svg?branch=master
    :target: https://travis-ci.org/rgiordan/paragami

.. image:: https://codecov.io/gh/rgiordan/paragami/branch/master/graph/badge.svg
  :target: https://codecov.io/gh/rgiordan/paragami

Description.
==========================

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


Using the package.
==========================

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.


Installation.
-------------------------

The package is not (yet) registered on ``pypi``.
To install, run the following command, pointing to the root of the git repo:

``sudo -H pip3 install --user -e paragami``.

Documentation and Examples.
----------------------------------

.. _readthedocs: https://paragami.readthedocs.io/

For API documentation, see readthedocs_.

Alternatively, check out the repo and run ``make html`` in ``docs/``.

For motivating and expository Jupyter notebooks, see
``docs/example_notebooks/``.  A good place to start is
``docs/example_notebooks/front_page_example.ipynb``.
