Octave, SciLab, Python/Numpy?

With Dr. John W. Eaton moving to ESI Group, the GNU Octave developer community is thinking of ways to improve the pace and structure of Octave development. I have used GNU Octave throughout my career, for systems deployed in the field, lab research, and teaching. I have submitted accepted code pull requests to Octave to help close the loop.

Choosing Octave, Scilab or Python

Not to the exclusion of other math systems such as Sage, Scilab allows integrating multiple numerical systems together. However, Scilab is its own language–with convenient syntax, and a Matlab to Scilab converter, but for my purposes and for many of my colleagues, we seek the lowest boundaries to cross-platform code sharing.

Python

Most analyses in remote sensing as well as geospace remote sensing (radar, optical, radio) use the Python & SciPy stack. This has been extremely stable and robust. Sometimes there are accidental corner cases experienced with Windows, which can be handled via Appveyor. For Mac/Linux continuous integration (auto self-test on each git push) I use Travis CI.

GNU Octave

GNU Octave allows running Matlab .m code without changes for many tasks. .m code that calls proprietary toolboxes or advanced functions may be need some try catch statements. Matlab is also widely used in remote sensing. From my own experience as well as what I hear from others, one of the biggest problems with Matlab is that your colleague may not have a sufficiently new Matlab version, or is lacking a paid toolbox.

Leave a Comment