comparison NEWS @ 8737:ae51dc447bab

NEWS: update for release
author John W. Eaton <jwe@octave.org>
date Fri, 13 Feb 2009 15:06:50 -0500
parents a6b4d8fdbea1
children c32e710407ee
comparison
equal deleted inserted replaced
8736:53b4fdeacc2e 8737:ae51dc447bab
1 Summary of important user-visible changes for version 3.2: 1 Summary of important user-visible changes for version 3.2:
2 --------------------------------------------------------- 2 ---------------------------------------------------------
3 3
4 ** Compatibility with Matlab graphics is much better now. 4 ** Compatibility with Matlab graphics has been improved.
5 5
6 The hggroup object and associated listener callback functions have 6 The hggroup object and associated listener callback functions have
7 been added allowing the inclusion of group objects. Data sources 7 been added allowing the inclusion of group objects. Data sources
8 have been added to these group objects such that 8 have been added to these group objects such that
9 9
10 x = 0:0.1:10; 10 x = 0:0.1:10;
11 y = sin (x); 11 y = sin (x);
12 plot (x, y, "ydatasource", "y"); 12 plot (x, y, "ydatasource", "y");
14 pause(0.1) 14 pause(0.1)
15 y = sin (x + 0.1 * i); 15 y = sin (x + 0.1 * i);
16 refreshdata(); 16 refreshdata();
17 endfor 17 endfor
18 18
19 works as expected. This capability has be used to introduce stem-series, 19 works as expected. This capability has be used to introduce
20 bar-series, etc objects for better Matlab compatibility. 20 stem-series, bar-series, etc. objects for better Matlab
21 21 compatibility.
22 ** Experimental OpenGL/FLTK based backend to replace gnuplot 22
23 23 ** New graphics functions:
24 An experimental backend to replace the gnuplot backend has been 24
25 written based on FLTK. This backend is off by default. You can 25 addlistener dellistener ezsurf ishghandle
26 switch to using this with the command 26 addproperty ezcontour ezsurfc linkprop
27 allchild ezcontourf findall plotmatrix
28 available_backends ezmesh gcbf refresh
29 backend ezmeshc gcbo refreshdata
30 cla ezplot ginput surfl
31 clabel ezplot3 gtext waitforbuttonpress
32 comet ezpolar intwarning
33
34 ** Improvements to the debugger.
35
36 The interactive debugging features have been improved. Stopping
37 on statements with dbstop should work correctly now. Stepping
38 into and over functions, and stepping one statement at a time
39 (with dbstep) now works. Moving up and down the call stack with
40 dbup and dbdown now works. The dbstack function is now available
41 to print the current function call stack. The new dbquit function
42 is available to exit the debugging mode.
43
44 ** New experimental OpenGL/FLTK based plotting system.
45
46 An experimental plotting system based on OpenGL and the FLTK
47 toolkit is now part of Octave. This backend is disabled by
48 default. You can switch to using it with the command
27 49
28 backend ("fltk") 50 backend ("fltk")
29 51
30 for all future figures or for a particular figure with the command 52 for all future figures or for a particular figure with the command
31 53
32 backend (h, "fltk") 54 backend (h, "fltk")
33 55
34 where "h" is a valid figure handle. 56 where "h" is a valid figure handle. Please note that this backend
35 57 does not yet support text objects. Obviously, this is a necessary
36 ** Eliminate the functions for direct access to gnuplot from Octave. 58 feature before it can be considered usable. We are looking for
59 volunteers to help implement this missing feature.
60
61 ** Functions providing direct access to gnuplot have been removed.
62
37 The functions __gnuplot_plot__, __gnuplot_set__, __gnuplot_raw__, 63 The functions __gnuplot_plot__, __gnuplot_set__, __gnuplot_raw__,
38 __gnuplot_show__, __gnuplot_replot__, __gnuplot_splot__, 64 __gnuplot_show__, __gnuplot_replot__, __gnuplot_splot__,
39 __gnuplot_save_data__ and __gnuplot_send_inline_data__ have been 65 __gnuplot_save_data__ and __gnuplot_send_inline_data__ have been
40 removed from Octave. These function were incompatible with the high 66 removed from Octave. These function were incompatible with the
41 level graphics handle code. 67 high level graphics handle code.
42 68
43 ** The fsolve function now accepts an option structure argument (see 69 ** Improvements to fsolve.
44 also the optimset function). 70
45 The INFO values returned from fsolve have changed to be compatible 71 The fsolve function now accepts an option structure argument (see
46 with Matlab's fsolve function. 72 also the optimset function). The INFO values returned from fsolve
73 have changed to be compatible with Matlab's fsolve function.
47 Additionally, fsolve is now able to solve overdetermined systems. 74 Additionally, fsolve is now able to solve overdetermined systems.
48 75
49 ** The norm function is now able to compute row or column norms of a matrix 76 ** Object Oriented Programming.
50 in a single call, as well as general matrix p-norms. 77
51 78 Octave now includes OOP features and the user can create their own
52 ** Object Oriented Programming 79 class objects and overloaded functions and operators. For
53 80 example, all methods of a class called "myclass" will be found in
54 Octave now includes OOP features and the user can create their 81 a directory "@myclass" on the users path. The class specific
55 own class objects and overloaded functions and operators. For 82 versions of functions and operators take precedence over the
56 example, all methods of a class called "myclass" will be found in 83 generic versions of these functions.
57 a directory "@myclass" on the users path. The class specific versions 84
58 of functions and operators take precedence over the generic versions 85 New functions related to OOP include
59 of these functions. See the Octave manual for more details. 86
60 87 class inferiorto isobject loadobj methods superiorto
61 ** Block comments 88
89 See the Octave manual for more details.
90
91 ** Block comments.
92
62 Commented code can be between matching "%{" and "%}" markers, even 93 Commented code can be between matching "%{" and "%}" markers, even
63 if the commented code spans several line. This allows blocks code 94 if the commented code spans several line. This allows blocks code
64 to be commented, without needing to comment each line. For 95 to be commented, without needing to comment each line. For
65 example, 96 example,
66 97
67 function y = func (x) 98 function y = func (x)
68 y = 2 * x; 99 y = 2 * x;
69 %{ 100 %{
70 y += 1; 101 y += 1;
71 %} 102 %}
72 endfunction 103 endfunction
73 104
74 the line "y += 1;" will not be executed. 105 the line "y += 1;" will not be executed.
75 106
76 ** Removed the Control, Finance and Quaternions toolboxes 107 ** The Control, Finance and Quaternion functions have been removed.
77 These toolboxes have been removed and ported to octave-forge, as 108
78 they are specialized toolboxes that not all users need. These 109 These functions are now available as separate packages from
79 functions can be reinstalled using the Octave package manager (see 110
80 the pkg function) and the packages available at 111 http://octave.sourceforge.net/packages.html
81 112
82 http://octave.sourceforge.net/packages.html 113 and can be reinstalled using the Octave package manager (see
83 114 the pkg function).
84 ** The imwrite and imread function have been included in Octave based 115
85 on the GraphicsMagick library. 116 ** Special treatment in the parser of expressions like "a' * b".
86 117
87 ** The eigs and svds functions have been included in Octave based on 118 In these cases the transpose is no longer explicitly formed and
88 the ARPACK library. 119 BLAS libraries are called with the transpose flagged,
89 120 significantly improving performance for these kinds of
90 ** Special treatment in the parser of expressions like "a' * b". In 121 operations.
91 these cases the transpose is no longer explicitly formed and BLAS 122
92 libraries are called with the transpose flagged. This significantly 123 ** Single Precision data type.
93 improves the speed. 124
94 125 Octave now includes a single precision data type. Single
95 ** Single Precision data type 126 precision variables can be created with the "single" command, or
96 Octave now includes a single precision data type. Single precision 127 from function like ones, etc. For example
97 variables can be created with the "single" command, or from 128
98 function like ones, etc. For example 129 single (1)
99 130 ones (2, 2, "single")
100 single (1) 131 zeros (2, 2, "single")
101 ones (2, 2, "single") 132 eye (2, 2, "single")
102 zeros (2, 2, "single") 133 Inf (2, 2, "single")
103 eye (2, 2, "single") 134 NaN (2, 2, "single")
104 Inf (2, 2, "single") 135 NA (2, 2, "single")
105 NaN (2, 2, "single") 136
106 NA (2, 2, "single") 137 all create single precision variables. For compatibility with
107 138 Matlab, mixed double/single precision operators and functions
108 all create single precision variables. Mixed double/single 139 return single precision types.
109 precision operators and functions return single precision 140
110 types. As a consequence of this addition to Octave the internal 141 As a consequence of this addition to Octave the internal
111 representation of the double precision NA value has changed, and 142 representation of the double precision NA value has changed, and
112 so users that make use of data generated by Octave with R or 143 so users that make use of data generated by Octave with R or
113 visa-versa are warned that compatibility might not be assured. 144 visa-versa are warned that compatibility might not be assured.
114 145
115 ** Improved array indexing 146 ** Improved array indexing.
116 The underlying code used for indexing of arrays has been completely 147
117 rewritten and so the indexing of arrays is now significantly faster. 148 The underlying code used for indexing of arrays has been
118 149 completely rewritten and so the indexing of arrays is now
119 ** 64-bit integer arithmetic 150 significantly faster.
120 Arithmetic with 64-bit integers (int64 and uint64 types) is fully supported, 151
121 with saturation semantics like the other integer types. Most of the integer 152 ** Diagonal and permutation matrices.
122 arithmetic operations was rewritten to exploit integer arithmetic in the CPU 153
123 efficiently. As a result, performance was significantly improved. 154 The interpreter can now treat diagonal and permutation matrices as
124 155 special objects that store only the non-zero elements, rather than
125 ** Diagonal and permutation matrices 156 general full matrices. Therefore, it is now possible to construct
126 The interpreter can now treat diagonal and permutation matrices as special 157 and use these matrices in linear algebra without suffering a
127 objects, rather than general full matrices. Therefore, it is now possible 158 performance penalty due to storing large numbers of zero elements.
128 to construct & use these matrices in linear algebra without suffering a 159
129 performance penalty. 160 ** 64-bit integer arithmetic.
130 161
162 Arithmetic with 64-bit integers (int64 and uint64 types) is fully
163 supported, with saturation semantics like the other integer types.
164 Performance of most integer arithmetic operations has been
165 improved by using integer arithmetic directly. Previously, Octave
166 performed integer math with saturation semantics by converting the
167 operands to double precision, performing the operation, and then
168 converting the result back to an integer value, truncating if
169 necessary.
170
171 ** Improvements to the norm function.
172
173 The norm function is now able to compute row or column norms of a
174 matrix in a single call, as well as general matrix p-norms.
175
176 ** New functions for reading and writing images.
177
178 The imwrite and imread function have been included in Octave.
179 These functions require the GraphicsMagick library. The new
180 function imfinfo provides information about an image file (size,
181 type, colors, etc.)
182
183 ** New functions for computing some eigenvalues or singular values.
184
185 The eigs and svds functions have been included in Octave. These
186 functions require the ARPACK library (now distributed under a
187 GPL-compatible license).
188
189 ** Changes to strcat.
190
191 The strcat function is now compatible with Matlab's strcat
192 function, which removes trailing whitespace when concatenating
193 character strings. For example
194
195 strcat ('foo ', 'bar')
196 ==> 'foobar'
197
198 The new function cstrcat provides the previous behavior of
199 Octave's strcat.
200
201 ** Specific sparse matrix functions removed.
202
203 The following functions, which handled only sparse matrices have
204 been removed. Instead of calling these functions directly, you
205 should use the corresponding function without the "sp" prefix.
206
207 spatan2 spcumsum spkron spprod
208 spchol spdet splchol spqr
209 spchol2inv spdiag splu spsum
210 spcholinv spfind spmax spsumsqk
211 spcumprod spinv spmin
212
213 ** New QR and Cholesky factorization updating functions.
214
215 choldelete cholshift qrdelete qrshift
216 cholinsert cholupdate qrinsert qrupdate
217
218 ** New quadrature functions.
219
220 dblquad quadgk quadv triplequad
221
222 ** Other miscellaneous new functions.
223
224 addtodate interp1q rectint
225 bicgstab isdebugmode regexptranslate
226 cgs isfloat restoredefaultpath
227 command_line_path isstrprop roundb
228 contrast log1p rundemos
229 convn lsqnonneg runlength
230 datetick matlabroot saveobj
231 display namelengthmax spaugment
232 expm1 nargoutchk strchr
233 filemarker pathdef strvcat
234 fstat perl subspace
235 full prctile symvar
236 fzero quantile treelayout
237 genvarname re_read_readline_init_file validatestring
238 hypot reallog which
239 idivide realpow
240 info realsqrt
131 241
132 See NEWS.3 for old news. 242 See NEWS.3 for old news.