From: Hubert Holin (Hubert.Holin_at_[hidden])
Date: 2004-06-15 09:41:25
Somewhere in the E.U., le 15/06/2004
In article <ca9aqo$a6a$1_at_[hidden]>,
"Ken Hagan" <K.Hagan_at_[hidden]> wrote:
> Jaap Suter wrote:
> > [crossposted to oo-numerics and boost-developers]
> > About 20 months back, I asked if there was any interest in a
I was in Limbo at the time, sorry (still spend most of my time
there now, unfortunately...). Otherwise, I would have said that, yes,
there is interest for such a library, and that it would be nice that it
were in boost. I think this is still the case today, even perhaps more
so as an increased interest in math within Boost is manifest.
> > geometric or Clifford algebra library written in C++. Despite some
> > positive replies, I got the impression that there were not a lot
> > of people in the Boost community who saw any practical uses for
> > such library.
> For a full geometric algebra, I suspect the target market is going
> to be limited to a few thousand people worldwide, most of whom have
> never heard of boost and are unwilling to learn C++.
I agree that the number of potential users at any one time is
bound to be limited.
However, for those who are indeed interested, such a library would
be a godsend. Furthermore, its very existence might prompt more interest
(the first step along a path is always the most difficult, even if the
path is later left). It is not merely "Develop it and they will come",
it is that when one has to face a severely complex problem, the lack of
all appropriate tools is an open invitation to do something else... In
other words, such a library would severely lessen the access difficulty
for a whole category of problems. Therefore, for those who would be
considering C++ to solve their problem in that domain, that library
would be invaluable.
As far as the potential users being unwilling to use C++, if there
are no C++ tools for the problem domain, then indeed nobody dealing with
that domain will be inclined to learn C++ to solve their specific
problems. This aspect is the classical chicken-and-egg dilemma. A tool
is always worthwhile to consider, even if it is ultimately rejected for
a particular use.
> I wrote some GA classes for the 3D case about a decade ago, and I'm
> still using them, but they are a very minor part of my work and I've
> no reason to "upgrade" to a boost version, no matter how yummy it looks.
> I'd like to be more positive, but I have to be honest.
Well, you already have your tools. The vast majority of other
potential users do not (at least as far as C++ is considered), so they
would benefit from that library.
> However, you may be asking the wrong question. There are reasonable
> arguments for using only one library for all your geometric algebra
> and the demand for complex numbers is demonstrably large enough to
> justify including it in the language standard. The market for 3D
> geometry in video games is also fairly well established.
> Given that GA is a superset of these, could your library replace
> these two? It would need to be syntactically compatible, since we
It would not be necessary to replace the complex numbers. There is
value in specialization. There is even greater value in
interoperability, and in this respect it is a strong argument for having
that library within Boost, along with proper bridges with the other
libraries (and possibly factorization of commonality).
> can't break existing clients of std::complex, but since all such
> libraries try to follow standard mathematical notation this might
> not be too difficult.
> The same probably applies to M. Holin's quaternions and octonions,
> already in boost, but I'm not familiar with those.
Yes these two libraries work nicely with the standard's complex
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk