octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

A group in Norway starts to develop support for multidimensional arrays


From: John W. Eaton
Subject: A group in Norway starts to develop support for multidimensional arrays in Octave.
Date: Wed, 18 Jun 2003 17:09:32 -0500

On 18-Jun-2003, Ole Jacob Hagen <address@hidden> wrote:

| I'm proudly presents that there are 6 summer-students at NTNU
| (Norwegian University of Science and Technology ), who are going to
| develop Multidimensional arrays in Octave during this summer.
| 
| We will consider these data structures in Octave; 
| 1. multidimensional arrays. 
| 2. cell arrays, expand functionality to Matlab. 
| 3. struct arrays, expand functionality to Matlab. 
| 
| If there is time, multidimensional arrays of cell arrays and struct
| arrays, will also be considered.
| 
| If someone are working on the same data structures, please send me
| an email, and we can cooperate, so we avoid reinventing the wheel.

Yes, I'm planning similar work.  I don't really think that there is
all that much left to do to get the basics of N-dimensional arrays
working.  I think that indexing is really all that is left, but I will
have to take another closer look at it.  I will try to do that soon.
If I can make N-dimensional real arrays work, then that provides an
example of how Complex arrays would work.  Expanding Cell and
structure arrays to N-dimensions should not be too hard then.

Once the basic data structures for N-dimensional objects are
available, the rest of the work would be modifying lots of individual
functions to support N-dimensions instead of just 2.  This brings up
the problem of dispatching.  It would really be better if, instead of
having to modify every existing function to add support for a new
type, we could just add functions to operate on the new type.  Doing
that will require some major changes in the internals of Octave.

Related to all this, I've been thinking about a complete overhaul of
the way matrix objects are handled in Octave.  For example, instead of
having many different octave_value types to support various types of
matrix objects, we could have one for all matrix-like objects.  But
this will be a lot more work, and I'm not sure whether it is really
feasible at this point.  It could break a lot of code.  OTOH, if this
is something that would improve and simplify the internals of Octave,
then it will only break more code if the change is delayed.

If you are going to have six people working on N-dimensional objects,
then I would like to try to make it a success.  If your group works
all summer and then submits a giant patch that touches lots of files
(as I would guess changes to support N-dimensional arrays would have
to) then I don't think that is going to work.  I'm unlikely to be able
to digest a large patch like that, and less likely to apply it.  I
need to see ideas posted to the mailing list and discussed here.
Once we have some idea of how things will be implemented, then I would
prefer to see (relatively) small patches that try to do one thing
instead of a large patch that tries to fix everything at once.

Thanks,

jwe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]