Everybody that has read this blog a few times knows our collective reliance on CVX as a means of figuring out, in small problems, if things work out. While CVX is a great tool it relies on Matlab which is not free. As nice as Matlab is, some people want to have CVX capabilities outside of that framework. Today and tomorrow, we will feature two instances of that. The first one is an implementation in Julia.
Convex Optimization in Julia by Madeleine Udell, Karanveer Mohan, David Zeng, Jenny Hong, Steven Diamond, Stephen Boyd
This paper describes Convex.jl, a convex optimization modeling framework in Julia. Convex.jl translates problems from a user-friendly functional language into an abstract syntax tree describing the problem. This concise representation of the global structure of the problem allows Convex.jl to infer whether the problem complies with the rules of disciplined convex programming (DCP), and to pass the problem to a suitable solver. These operations are carried out in Julia using multiple dispatch, which dramatically reduces the time required to verify DCP compliance and to parse a problem into conic form.
Convex.jl is a julia package for Disciplined Convex Programming. Note that Convex.jl was previously called CVX.jl. This package is under active development; interfaces are not guaranteed to be stable, and bugs should be expected. Nevertheless, we try to fix problems that come up as swiftly as we can. We'd love bug reports and feature requests!
Credit: NASA/JPL-Caltech/Space Science Institute, Mimicking the Moon; Released: November 3, 2014 (PIA 18291)Image/Caption Information
CreditsCurrently, Convex.jl is developed and maintained by:
- Stephen Boyd: Professor of Electrical Engineering, Stanford University. He is also the co-author of the book Convex Optimization. We thank Professor Boyd for his continuous input and support.
- Steven Diamond: Convex.jl started out as a wrapper around Steven Diamond's CVXPY and its design has been inspired from CVXPY. We greatly appreciate Steven Diamond's experienced and continual guidance. In addition, Steven Diamond also wrote http://dcp.stanford.edu/ to teach disciplined convex programming, a useful resource for Convex.jl users.
Liked this entry ? subscribe to Nuit Blanche's feed, there's more where that came from. You can also subscribe to Nuit Blanche by Email, explore the Big Picture in Compressive Sensing or the Matrix Factorization Jungle and join the conversations on compressive sensing, advanced matrix factorization and calibration issues on Linkedin.