Boost logo

Boost :

From: David Abrahams (abrahams_at_[hidden])
Date: 2001-06-12 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 messed-up) is that I had a three-indices 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 n-dimentional 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
> multi-dimensional objects. I wrote this in the context of chromatic
> tinkering (for the pre-press sector) where I needed stacks of 4-d
> objects, but it of course has uses in physics (pure and applied) in
> this case 3-d is a must.

I'm very interested. It's one of the things we'll be needing for our work
here.

> > > Quadtrees and higher-dimentional 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:
>
> multi-dimentional 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 back-and-forth 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, higher-dimensional 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