Welcome to F2O’s documentation!

F2O (First order optimization) is a JAX-aware Python package that implements several first order optimization methods with applications to inverse problems such Tikhonov regularization, total variation, (convolutional) sparse representation, background subtraction/modeling, etc.

Originally, this library was developed as a companion software for a graduate-level optimization course at PUCP (Pontificia Universidad Catolica del Peru), which, due to the COVID-19 pandemic, was moved to a 100% online format. F2O’s main objective was to allow a high level, almost algorithmic description-like, way to program first order optimization methods such (accelerated) proximal gradient methods, ADMM, etc.

Currently, F2O support has expanded to other courses (such graduaute-lavel DIP) and has shifted from a purely academic companion software to target inverse problems related to signal/image processing such Total Variation (TV), Basis Pursuit (BP), convolutional Sparse Representation (CSR), Video Background Modeling (VBM), etc.

Read the F2O’s Philosophy section for F2O’s philosophy and simple illustrative example.

Note

This project is under active development.

Bibliography

Indices and tables