2 min read

GNU Octave team released version 5.1.0 of the popular high-level programming language, last week. GNU Octave 5.1.0 comes with general improvements, dependencies, and other changes.

What’s new in GNU Octave 5.1.0?

General Improvements

  • The Octave plotting system in GNU Octave 5.1.0 supports high-resolution screens (the ones with greater than 96 DPI such as HiDPI/Retina monitors).
  • There’s a newly added Unicode character support for files and folders in Windows.
  • The fsolve function is modified to use larger step sizes while calculating the Jacobian of a function with finite differences, thereby, leading to faster convergence.
  • The ranks function is recoded for performance and has now become 25X faster. It also supports a third argument that can specify resolving the ranking of tie values.
  • Another function randi has also been recoded to produce an unbiased (all results are equally likely) sample of integers.
  • The function isdefinite now returns true or false instead of -1, 0, or 1.
  • The intmax, intmin, and flintmax functions can now accept a variable as input.
  • There is no longer a need for path handling functions to perform variable or brace expansion on path elements. Also, Octave’s load-path is no longer subject to these expansions.
  • A new printing device is available, “-ddumb”, that can produce ASCII art for plots. This device has been made available only with the gnuplot toolkit.

Other Changes

  • Dependencies:
    • The GUI now requires Qt libraries in GNU Octave 5.1.0. The minimum Qt4 version that is supported is Qt4.8.The OSMesa library is no longer used.
    • To print invisible figures while using OpenGL graphics, the Qt QOFFSCREENSURFACE feature must be available.
    • The FFTW library should be able to perform FFT calculations. The FFTPACK sources are removed from Octave.
  • Matlab Compatibility:
    • The functions such as issymmetric and ishermitian now accept an option “nonskew” or “skew” for calculating the symmetric or skew-symmetric property of a matrix.
    • The issorted function can now use a direction option of “ascend” or “descend”.
    • You can now use clear with no arguments and it will remove only local variables from the current workspace. Global variables will no longer be visible, but will exist in the global workspace.
  • Graphic Objects:
    • Figure graphic objects in GNU Octave 5.1.0 now have a new property “Number” which is read-only and that can return the handle (number) of the figure. But if “IntegerHandle” is set to “off” then the property will return an empty matrix [].
    • Patch and surface graphic objects can now use the “FaceNormals” property for flat lighting.
    • “FaceNormals” and “VertexNormals” can now be calculated only when necessary to improve graphics performance.
    • The “Margin” property of text-objects has a new default of 3 rather than 2.

For the complete list of changes, check out the official GNU Octave 5.1.0 release notes.

Read Next

GNU Health Federation message and authentication server drops MongoDB and adopts PostgreSQL

Bash 5.0 is here with new features and improvements


GNU ed 1.15 released!