
Boost : 
From: David Abrahams (abrahams_at_[hidden])
Date: 20010612 16:47:32
 Original Message 
From: "Hubert HOLIN" <Hubert.Holin_at_[hidden]>
> I'll clarify a few things in just a moment, but what I meant
> here (and badly messedup) is that I had a threeindices thing A such
> that for any index r in the range A[.][.][r] can be considered the
> matrix of some linear operator, but that it turned out to be
> advantageous to consider for some indices p and q the vector
> A[p][q][.].
OK. Certainly it should be possible to generate views of a matrix which
accomplish these.
> > > Also, fft in more than 2 dimensions simultaneously (I also need
> > > that sometimes) could benefit from such tools (remember the index
> > > dance!).
> >
> > Not understanding the first 2 statements, I find it hard to understand
this
> > one.
>
> I once wrote some ndimentional fft code (with extensions)
> that I might dust up if someone's interested (it would require some
> work to be more than just acceptable, IIRC). These things require
> multidimensional objects. I wrote this in the context of chromatic
> tinkering (for the prepress sector) where I needed stacks of 4d
> objects, but it of course has uses in physics (pure and applied) in
> this case 3d is a must.
I'm very interested. It's one of the things we'll be needing for our work
here.
> > > Quadtrees and higherdimentional analogues represent another form
> > > of indexing fun that should not be overlooked.
> >
> > Aren't these really a completely separate application domain? We do not
need
> > to invent a universal iteration interface.
I would still like to know the answer...
> > > Finaly, valarray has (more or less) efficient traversal with
> > > strides and (hopefully) very efficient computational power, but next
to
> > > no tensorial behaviour, whereas matrices (and tensors) could have good
> > > algebraic properties but currently lack good traversal.
>
> The "clarification" bit. I tend to see three layers of
> functionality:
>
> multidimentional arrays (storage)
> valarrays (storage with some efficient if limited agebra)
> matrices & tensors & co (rich algebra)
Are you familiar with MTL, the MTL3 prototype, and the linear algebra
concepts being generated by Andy & Jeremy? This appears to be the same
direction they're headed in.
> Given this backandforth between representations and these
> indexing problems, I believe iterators for matrices and co can't avoid
> (or should idealy encompass) sophisticated behaviour.
I would prefer to see sophisticated operations taking iterator parameters
(possibly among others) as available, rather than building sophisticated
behavior into the iterators themselves.
> I currently use valarrays as (potentially hardware
> accelerated) mathematical vectors (as opposed to STL vectors), or,
> sometimes, higherdimensional objects with rather interesting indexing.
> They work well IMHO.
OK; I have no objection to interfaces which make valarrays usable, but I
worry about carefully tailoring the library to use them.
Dave
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk