Boost logo

Boost :

From: Martin Bonner (Martin.Bonner_at_[hidden])
Date: 2007-12-11 07:37:18

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
>> <> 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
Telephone: +44 1223 441434 / 203894 (direct)
Fax: +44 1223 203999
Email: martin.bonner_at_[hidden]

Boost list run by bdawes at, gregod at, cpdaniel at, john at