|
Boost : |
From: walter_at_[hidden]
Date: 2001-03-12 15:22:49
Hello,
Ronald Garcia wrote:
> There have actually been some proposals for such a library (there's
an
> old boost thread headed by Giovanni Ballestri at the end of last
> year). I've been using ideas presented in his work and the
discussion
> that evolved around it to develop a library with very similar
intent.
You are not alone ;-). We are currently developing a matrix library
targeted mainly to implement classical numerical procedures the
object oriented way.
One important question at the beginning was, whether we should try to
support rank-n tensors like Blitz++ and POOMA. We decided not to.
> It hasn't yet proceeded to the point where I'm ready to propose it
to
> boost, but I am definitely interested in conversation about the
topic.
I currently see the following points to discuss when developing a
matrix library:
- support for mathematical notation
As Toon Knapen mentioned, one should be able to write expressions
with vectors and matrices in a form like y = A * x + b.
- efficiency
Next point is, that a matrix library has to compare with existing
libraries wrt performance. So first one has no other option than to
support expression templates. This eventually involves the need to
incorporate a meta meta method like PETE to generate templates in C++!
But this does not seem to be the whole story. As far as I understand
Todd Veldhuizen's Blitz++, one has to implement very clever
evaluation kernels to get the most out of the box.
- functionality
We restricted our interest to support BLAS like functionality. But
who knows, what else one can do with matrices and vectors...
-compatibility
This is an interesting question: should a boost matrix library run
under MSVC for example?
Kind regards
J. Walter
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk