/Optimus-Primal

Light weight primal dual solver

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Optimus Primal

Build Status codecov

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".

Install

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

Requirements

Optional

  • Matplotlib (only for examples)