
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