Friends of open source Matlab-alternative GNU Octave can now get their hands on version 6.1 of the numerical computation tool.
The first release of the 6.x series has landed with a couple of rewrites and new implementations of already known components that are designed to improve performance and precision. The new rand function, for example, uses a uniform interval between floating point values in the range (0,1) instead of going for uniform density, and makes sure that values generated for single precision outputs are strictly within that spectrum.
A rewrite of the quadv function is intended to perform better than its predecessor and compute integrands of periodic functions. The Octave team has also made small adjustments to the linspace function, which they said has led to the more intuitive behaviour of producing symmetrical sequences for symmetric endpoints.
Starting with this release, format, a command added to give users some say in the way Octave displays its outputs, can be called with multiple options in arbitrary order. The latest iteration has also learned new options – uppercase and lowercase with lowercase being the default. It prints “a lowercase ‘e’ for the exponent character in scientific notation and lowercase ‘a-f’ for the hex digits representing 10-15”.
As there seems to be a growing interest in accessing more complex RESTful web services, Octave 6.1 has webread and webwrite functions to be used alongside the weboptions structure. Features for those include “support for cookies to enable RESTful communication with the web service”.
Users that had trouble using regexp and related functions previously may be pleased to learn that those are now handling UTF-8 encoding correctly and indeed require strings to be in that format. At the graphics backend, a rewrite of the legend function and some changes in the axis functions fixed a number of bugs as well.
The backend also inlcudes a couple of new properties such as FontSmoothing to use anti-aliasing on text and axis objects; and pointer, pointershapecdata, and pointershapehotspot to change the shape of cursors visible in the plot window. Nicer looking text subscripts and superscripts have also been promised as part of the package.
The Octave team has also worked on compatibility measures for its project, making a switch to and from Matlab more of an option. As part of this effort, the interpreter has been adjusted to handle nested functions, while functions unique and setdiff were changed to return column index vectors for the second and third outputs or compatible results respectively. And don’t be surprised if some lines appear larger as graphics properties LineWidth and MarkerSize are not measured in pixels anymore but in points.