CVX on Octave: an update
GNU Octave 4.0 was released on May 29, 2015. This was the culmination of a lot of hard work. The Octave development should be proud! I’m pleased to find that the patches I submitted to allow for CVX compatibility were scheduled for 4.0. That means we are now a lot closer to supporting CVX on Octave!
The current build of CVX 3.0 is functional enough in Octave 4.0 to be considered “alpha” quality. We are not ready to begin providing support for Octave, but if you enjoy testing bleeding edge software, you are more than welcome to give it a try.
There are some very important caveats to consider, however, before proceeding.
- This is for Octave 4.0 and later only. There aren’t many publicly available binaries for Octave 4.0 yet, so you may have to build your own. Windows users, however, are in luck; precompiled binaries are available on the GNU FTP site.
- We haven’t built a dedicated set of Octave packages yet. You will either need to grab CVX directly from our Git repository, or download a Matlab package and compile the MEX files yourself (see the next bullet).
- The Git repositories for CVX and the SeDuMI and SDPT3 submodules include Octave MEX binaries for Windows. If you wish to use Octave on any other platform, you will likely have to compile them yourself (and we have received one report that MEX recompilation was required even on Windows). CVX 3.0 beta includes a new function, cvx_compile, that attempts to compile the CVX MEX files for you, and shows you the commands you need to execute to do the same for SeDuMi and SDPT3. This is all the help we can offer you at this point, I’m afraid; but if you do succeed, you might want to share your experience on the Octave post on the CVX Forum.
- Complex variables will not work due to a known bug in Octave 4.0.
- The GUI and plotting seem to have problems on Windows 8+ as well.
- We have created an Octave post on the CVX Forum to collect all discussion concerning CVX on Octave. Please do not create new posts on the forum about Octave; we will merge all such posts into this original one. We’ll open up the forum for a fuller discussion once the software is more stable.
I cannot emphasize this enough: we do not support CVX on Octave yet. If you need CVX for your research, you would be taking an unreasonable risk to depend on the Octave version. So don’t; stick with MATLAB.
But we’re getting there. Once we are satisfied with the stability of CVX on Octave, and we have figured out how to supply binaries for the major platforms, we will make further announcements!