Boost logo

Boost :

Subject: Re: [boost] different matrix library?
From: Edward Grace (ej.grace_at_[hidden])
Date: 2009-08-11 06:54:59


>> What is the issue with uBLAS?
>
> in my opinion a piece of software must be targeted to target users
> (excuse for a pun)
> i see a generic scientist

Hmm, a generic scientist.... There's a thought.

> as target user who already knows about
> matrix calculus and may not know about blas
> for such person writing
> u = A*v + w
> is much more natural than that of blas terms

In principle yes - however the efficient implementation of the above
is likely to be a lot tricker than it might seem.

The 'advantage' of BLAS and other routines as I see it is many many
man-years of optimisation and tweaking on various architectures as
well as good generic implementations (ATLAS). I'd venture that it's
still going to be hard to beat!

> i think that user must focus on the design and the intent rather
> than how to express the thing in blas terms

I am slightly unsure, is your proposal a rewrite of the linear
algebra routines or a wrapper that conceptually maps calls in the
following manner?

  yourlib::operator*(foo,bar) -> ublas::prod(foo,bar)

Are you aware of Blitz++ and POOMA?

Blitz offers a very (for the mathematical physicist) intuitive tensor-
like approach, an example:

     // This expression will set
     //
     // c = a * b
     // ijk ik kj

     C = A(i,k) * B(k,j);

-ed


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk