Eduardo | 23 Apr 23:34 2014

Re-introducing myself + blog link (GSOC)

Hi all,

I am Eduardo AKA edu159 for who don't know me or sadly have forgotten me :). I am Spanish guy leaving in Madrid but born in Canary Islands,a spanish territory near North Africa (we have been for the 2nd consecutive year the best Earth's photo according to NASA's tournament!! For more "interesting" info about me just check my public profile at Octave wiki.

Here you can find my blog where I will keep track of the evolution of my GSOC project --->



Nir Krakauer | 23 Apr 18:54 2014

Google Summer of Code 2014 begins

Congratulations to the students who'll be working on Octave for this year's GSoC!

Eduardo Fernández will add incomplete matrix factorizations.
Eugenio Gianniti will improve Octave's finite element modeling capabilities via an interface with FEniCS.
David Spies will improve Octave's handling of sparse matrices.

Thanks to Jordi, jwe, Felipe, Pascal, Michael, Kai, Marco, and Doug for helping with selecting proposals and mentoring students.

Accepted students:

1) Please (re)introduce yourself to the list if you haven't already done so. And get involved in any and all topics you find of interest.

2) You should each have or create a blog where you post on your project at least weekly. Send the URL to this list, and we'll include them in the aggregator.

3) Your should be hearing regularly from your mentor. Messages to/from your mentor should be copied to this list, and you can also bring up on the list or on IRC any questions or concerns that arise.

4) See for tips on working with existing Octave repositories, and for general information about the program.

Happy coding!


Carnë Draug | 23 Apr 18:34 2014

control 2.6.3 released

Hi everyone

a new release of the control package is out, version 2.6.3, by Lukas
Reichlin. Enjoy Octave responsibly.


Sudheer Kumar | 22 Apr 17:47 2014

Octave + PetSc

I request for advice on the following:

I have a MATLAB code that uses some Linear algebra (LA) and Linear equation solver (LS) routines. I have to speed up this MATLAB code by using the i) MKL routines for LA calls and ii) Petsc routines for LS calls.

I was able to achieve the step (i) using the following commands

icc -c  -I/work/apps/matlab/2013a/extern/include -I/work/apps/matlab/2013a/simulink/include -DMATLAB_MEX_FILE -ansi -D_GNU_SOURCE  -fexceptions -fPIC -fno-omit-frame-pointer -pthread  -DMX_COMPAT_64 -O -DNDEBUG  "matrixMultiply.c"

icc -O -pthread -shared -Wl,--version-script,/work/apps/matlab/2013a/extern/lib/glnxa64/ -Wl,--no-undefined -o  "matrixMultiply.mexa64"  matrixMultiply.o  -Wl,-rpath-link,/work/apps/matlab/2013a/bin/glnxa64 -L/work/apps/matlab/2013a/bin/glnxa64 -lmx -lmex -lmat -mkl -lm -lstdc++

The code with dgemm call runs fine. However, how to achieve the step (ii), i.e., calling the PetSc routing from MATLAB executables compiled with mex. Please provide if you are aware of any sample codes.

I wish to eventually achieve all the above functionality for the Octave code as well. I thought of trying first with MATLAB as I thought the interface and support for external library support is better with it. Please do let me know your suggestions. Thanks.

Mike Miller | 22 Apr 15:31 2014

[RFC] build with OpenMP by default?

Is it time to build Octave with OpenMP by default? It looks to me like
it's been an "experimental" disabled-by-default option since the 3.4.0
release. It has been enabled in Debian and Ubuntu builds since 3.4.3
was released in late 2011 and I'm not aware of any negative

Autoconf now provides a AC_OPENMP macro with a --disable-openmp
option, we could use this to handle setting up OpenMP to be consistent
with other projects.

See bug #41699 [1] for my motivation for enabling OpenMP by default
(segfault when exiting or unloading oct-files that use OpenMP).

Also there might be extra steps needed to build with OpenMP using MXE,
have any MXE builders looked into it?





Eugenio Gianniti | 22 Apr 14:45 2014

GSoC - fem-fenics project

Dear all,

thanks for accepting my proposal for this year Google Summer of Code.

I am looking forward to working on it, so I would be glad to hear your suggestions about what to study to be
perfectly ready on the “D-Day”. I think I should read the whole documentation of last year work as a
starting point, then probably get a deep understanding of the interface between Octave and FEniCS.
Probably Marco can give me some good hints about this and provide useful advice on anything important I did
not mention.

Kind regards,

Tatsuro MATSUOKA | 22 Apr 01:55 2014

Is configure check TargetData.h in llvm obsolate? (Octave-3.8.1)


At configure script checking llvm, existing of  TargetData.h is necessary.
However, llvm 3.2 or later, there seems not TargetData.h in include/llvm/Target directory.

Is configure check TargetData.h in llvm obsolate? 



Eduardo | 21 Apr 22:31 2014

GSOC acceptance acknowledgements

Hi all,

I want to thanks you all that have selected me for being a "GSOCer" this year. I have been through some really difficult familiar situations the past few weeks getting nothing but bad news and that announcement has made me so happy. I will do my best to accomplish the established goals. Thanks again guys.


Carnë Draug | 18 Apr 22:12 2014

io 2.2.0 released

Hi everyone

a new release of the io package is out, version 2.2.0, by Philip
Nienhuis. Enjoy Octave responsibly.


Colin Macdonald | 17 Apr 15:34 2014

A symbolic package using SymPy


I've been tinkering with making a symbolic package using the Python 
CAS SymPy.  The goal is feature parity with other symbolic packages.

You can try it now, either git clone, or just download a .zip file 
(which works as a GNU Octave package).

Here's some examples:

 > pkg install
 > pkg load octsympy
 > syms x y z a b c k
 > A = [sin(x/2) floor(exp(x*c)); ...
acosh(x^(b*c)/pi) ceil(sin(x/gamma(x)))]
 > pretty(A)
 > f = exp(-x^2);
 > F = fourier(f,x,k);
 > pretty(F)
 > g = ifourier(F,k,x);
 > simplify(f - g)
 > limit(1/x, x, 0, 'left')

If you have problems with the Python communication (I've only tested 
on GNU/Linux and my guess is it doesn't work out-of-box on Windows), try:

 > octsympy_config ipc_system

I'd be happy to move everything elsewhere at some point, but for now, 
issue tracker is also at GitHub, so please give it a try and file some 
bugs ;-)  Help also very much appreciated!



Colin Macdonald
University Lecturer in Numerical Methodologies
Tutorial Fellow at Oriel College
University of Oxford

John W. Eaton | 16 Apr 15:50 2014

printf integer format compatibility

While looking at some problems with printing 64-bit integer values with 
printf, I found that Matlab's printf function silently switches from 
integer formats like '%d' or '%u' to '%e' when values are not integers 
or when they exceed the maximum value possible for a 64-bit integer 
type.  Matlab also seems to be ignoring size specifications for integer 
formats, so although formats like '%hd' (short int) are accepted, there 
seems to be no change in output compared to just using '%d'.  And '%d' 
always handles up to 64-bit integers without needing 'l' or 'll'.

I checked in the following change on the default branch:

Now you can expect behavior like the following, which appears to be 
compatible with Matlab:

   sprintf('%d',intmin('int32'))    %% ans = -2147483648
   sprintf('%d',intmax('int32'))    %% ans = 2147483647
   sprintf('%d',intmin('int64'))    %% ans = -9223372036854775808
   sprintf('%d',intmax('int64'))    %% ans = 9223372036854775807
   sprintf('%d',intmin('uint32'))   %% ans = 0
   sprintf('%d',intmax('uint32'))   %% ans = 4294967295
   sprintf('%d',intmin('uint64'))   %% ans = 0
   sprintf('%d',intmax('uint64'))   %% ans = 1.84467e+19
   sprintf('%d',realmin('single'))  %% ans = 1.17549e-38
   sprintf('%d',realmax('single'))  %% ans = 3.40282e+38
   sprintf('%d',realmin('double'))  %% ans = 2.22507e-308
   sprintf('%d',realmax('double'))  %% ans = 1.79769e+308

There is still one difference:  Matlab switches to '%e' and Octave is 
currently switching to '%g'.  Should we follow Matlab exactly here?  I 
generally prefer '%g' over '%e' because it seems easier to me to read 
numbers without unnecessary e+04 style exponents appended.

This change caused a few new test failures in cases where '%d' was 
previously assumed to always produce an integer result.  I fixed one 
problem in the datestr function by rounding the printf argument that was 
used with a '%d' format.  I could use some help fixing the stemleaf 
function since I'm not sure what the intent is there.