A light weight proximal splitting Forward Backward Primal Dual based solver for convex optimization problems.
The current version supports finding the minimum of f(x) + h(A x) + p(B x) + g(x), where f, h, and p are lower semi continuous and have proximal operators, and g is differentiable. A and B are linear operators.
To learn more about proximal operators and algorithms, visit proximity operator repository. We suggest that users read the tutorial G. Chierchia, E. Chouzenoux, P. L. Combettes, and J.-C. Pesquet. "The Proximity Operator Repository. User's guide".
You can install from the master branch
pip install git+https://github.com/Luke-Pratley/Optimus-Primal.git@master#egg=optimusprimal
or from a frozen version at pypi
pip install optimusprimal
- Python >= 3.8
- PyWavelets
- Numpy
- Scipy
- Matplotlib (only for examples)