StructuredOptimization.jl is a high-level modeling language that utilizes a syntax that is very close to the mathematical formulation of an optimization problem.
This user-friendly interface acts as a parser to utilize three different packages:
ProximalOperators.jl provides proximal mappings of functions that are frequently used in signal processing and optimization.
AbstractOperators.jl provides algorithms for the evaluation and combination of forward and (Jacobian) adjoint of linear and nonlinear mappings.
ProximalAlgorithms.jl is a library of proximal algorithms (aka splitting algorithms) solvers.
StructuredOptimization.jl can handle large-scale convex and nonconvex problems with nonsmooth cost functions. It supports complex variables as well. See the Quick tutorial guide and the Demos.
To install the package, hit
] from the Julia command line to enter the package manager, then
pkg> add StructuredOptimization
If you use StructuredOptimization.jl for published work, we encourage you to cite:
- N. Antonello, L. Stella, P. Patrinos, T. van Waterschoot, “Proximal Gradient Algorithms: Applications in Signal Processing,” arXiv:1803.01621 (2018).
StructuredOptimization.jl is developed by Lorenzo Stella and Niccolò Antonello at KU Leuven, ESAT/Stadius.