
From: Andreas Harnack
Dave Steffen schrieb:
On Thursday 06 December 2007, Andreas Harnack wrote:
Hi @,
shouldn't there be at least an elementary matrix class available in the standard? I notice there have been some discussions in the past, but there doesn't seem to be anything in the pipeline. So, is there any interest in a (really!) light weight statically typed matrix template class?
No, there shouldn't be. :-)
Well, I'm looking forward to a passionate discussion ;-) I think Dave's right.
The C++ landscape is littered with such things, from simpler than your example to fantastically elaborate. See <http://www.oonumerics.org/oon/> for a sample.
I'd take that as a proof that there is a need for standardization, however the result might look like.
That's a curious conclusion. If there are lots of attempts, it suggests that it is really difficult to get people to agree on the preferred approach.
One of the big problems is that everyone wants something slightly different. Example:
and this is the key point.
Here, I think, we have a huge misunderstanding. I never tried, don't pretend I could and don't even want to provide a solution that suits anybodies need.
Can I be excused a smile at this point? I think you probably meant to say "I don't want to provide a solution that suits EVERYbodies needs". (Sie schrieben, ungefähr, "Mein Idee ist für niemand" nicht "Mein Idee ist nicht für jemand".)
I think that's impossible. I totally agree that there are plenty of good libraries out there, some of them even excellent. But I refuse to believe, that the C++ community consists only of people who do high performance scientific computing. Certainly true. For them is reasonably well cared for. But what about the rest of us?
The trouble is that even if you ignore the HPC community, "the rest of us" are a pretty disparate bunch and there are lots of separate problems each of which can be described as needing a simple matrix class - but in fact each of them needing a /different/ simple matrix class.
An an example of a library that probably does exactly what you want, but way way fast, look at 'tvmet'.
Agreed, it does what I want. In fact, any library I looked and does what I want because all I want is really simple stuff. I just don't like to pay the price (i.e. the dependencies it introduces, the complexity that gets involved, the compile time overhead etc.).
Well, I don't see how adding it to boost is going to help then. You'll get all that stuff (just boost rather than tvmet).
My point is, I guess, that general-purpose one-size-fits-all libraries have historically been hard to use and slow; libraries that are easy to use and fast are not applicable to all uses. ... and this is why matrices don't belong in the standard.
I personally think this issue is rather fundamental to the "computer linear algebra" problem, and nobody has yet come up with The Good Solution (not for lack of work).
I totally agree, but as I said, that wasn't my intention. And by the way, talking about matrices does by no means imply to talk about linear algebra. It just happens that linear algebra peoples are the ones that talk most about matrices. :-)
But Dave's point -- Martin Bonner Senior Software Engineer/Team Leader PI SHURLOK LTD Telephone: +44 1223 441434 / 203894 (direct) Fax: +44 1223 203999 Email: martin.bonner@pi-shurlok.com www.pi-shurlok.com disclaimer