view NEWS @ 8710:739141cde75a ss-3-1-52

fix typo in Array-f.cc
author Jaroslav Hajek <highegg@gmail.com>
date Mon, 09 Feb 2009 21:51:31 +0100
parents a6b4d8fdbea1
children ae51dc447bab
line wrap: on
line source

Summary of important user-visible changes for version 3.2:
---------------------------------------------------------

 ** Compatibility with Matlab graphics is much better now.  

    The hggroup object and associated listener callback functions have
    been added allowing the inclusion of group objects. Data sources
    have been added to these group objects such that

           x = 0:0.1:10;
           y = sin (x);
           plot (x, y, "ydatasource", "y");
           for i = 1 : 100
             pause(0.1)
             y = sin (x + 0.1 * i);
             refreshdata();
           endfor

    works as expected. This capability has be used to introduce stem-series,
    bar-series, etc objects for better Matlab compatibility.

 ** Experimental OpenGL/FLTK based backend to replace gnuplot

    An experimental backend to replace the gnuplot backend has been
    written based on FLTK. This backend is off by default. You can
    switch to using this  with the command

        backend ("fltk")

    for all future figures or for a particular figure with the command

        backend (h, "fltk")

    where "h" is a valid figure handle.

 ** Eliminate the functions for direct access to gnuplot from Octave.
    The functions __gnuplot_plot__, __gnuplot_set__, __gnuplot_raw__,
     __gnuplot_show__, __gnuplot_replot__, __gnuplot_splot__,
     __gnuplot_save_data__  and __gnuplot_send_inline_data__ have been
    removed from Octave. These function were incompatible with the high
    level graphics handle code.

 ** The fsolve function now accepts an option structure argument (see
    also the optimset function).
    The INFO values returned from fsolve have changed to be compatible
    with Matlab's fsolve function.
    Additionally, fsolve is now able to solve overdetermined systems.

 ** The norm function is now able to compute row or column norms of a matrix
    in a single call, as well as general matrix p-norms.

 ** Object Oriented Programming

    Octave now includes OOP features and the user can create their 
    own class objects and overloaded functions and operators. For
    example, all methods of a class called "myclass" will be found in 
    a directory "@myclass" on the users path. The class specific versions
    of functions and operators take precedence over the generic versions
    of these functions. See the Octave manual for more details.

 ** Block comments
    Commented code can be between matching "%{" and "%}" markers, even
    if the commented code spans several line. This allows blocks code
    to be commented, without needing to comment each line. For
    example, 

    function y = func (x)
      y = 2 * x;
    %{
      y += 1;
    %}
    endfunction

    the line "y += 1;" will not be executed.
  
 ** Removed the Control, Finance and Quaternions toolboxes
    These toolboxes have been removed and ported to octave-forge, as
    they are specialized toolboxes that not all users need. These
    functions can be reinstalled using the Octave package manager (see
    the pkg function) and the packages available at

    http://octave.sourceforge.net/packages.html

 ** The imwrite and imread function have been included in Octave based
    on the GraphicsMagick library.

 ** The eigs and svds functions have been included in Octave based on
    the ARPACK library.

 ** Special treatment in the parser of expressions like "a' * b". In
    these cases the transpose is no longer explicitly formed and BLAS
    libraries are called with the transpose flagged. This significantly  
    improves the speed.

 ** Single Precision data type
    Octave now includes a single precision data type. Single precision
    variables can be created with the "single" command, or from
    function like ones, etc. For example

    single (1)
    ones (2, 2, "single")
    zeros (2, 2, "single")
    eye (2, 2, "single")
    Inf (2, 2, "single")
    NaN (2, 2, "single")
    NA (2, 2, "single")

    all create single precision variables. Mixed double/single
    precision operators and functions return single precision
    types. As a consequence of this addition to Octave the internal
    representation of the double precision NA value has changed, and
    so users that make use of data generated by Octave with R or
    visa-versa are warned that compatibility might not be assured.

 ** Improved array indexing
    The underlying code used for indexing of arrays has been completely
    rewritten and so the indexing of arrays is now significantly faster.

 ** 64-bit integer arithmetic
    Arithmetic with 64-bit integers (int64 and uint64 types) is fully supported,
    with saturation semantics like the other integer types. Most of the integer
    arithmetic operations was rewritten to exploit integer arithmetic in the CPU
    efficiently. As a result, performance was significantly improved.

 ** Diagonal and permutation matrices
    The interpreter can now treat diagonal and permutation matrices as special
    objects, rather than general full matrices. Therefore, it is now possible
    to construct & use these matrices in linear algebra without suffering a 
    performance penalty.


See NEWS.3 for old news.