
Hi, Jaap Suter wrote:
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.
Ken Hagan wrote:
For a full geometric algebra, I suspect the target market is going to be limited to a few thousand people worldwide, This may currently be correct. However, IMHO GA will gain a lot of importance. E.g. I'm working in the CAD industry and we are beginning to be aware of GA's strength against the classic mathematical toolset. I see a time comming that you learn GA in high school. Every physics student will be learning GA once it has found its way to the theoretical courses. Thereafter GA will gain room in the engineering fields.
most of whom have never heard of boost and are unwilling to learn C++. I don't share this opinion. C++ has its place in the world, and a lot of applications which are a target to GA are programmed in C++. I think that people are willing to learn C++ if they see that the language and its tools (like boost) can help them to solve their problems (e.g. GA, CAD, robotics,...) better than other languages and tools. This was exactly the way I found myself at this place.
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. If you are pleased with your tools that is fine. But there are other people which could benefit a lot from a well shaped GA package. And more importantly, there will be new applications written which have to decide about the tools they use to solve there math. They probably won't write a new GA package and will stick with the classic tools. However, if available they may make the transition to a boost GA package.
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. At first I wrote 'I second that!', but I have a problem with the part about complex numbers. GA is not a replacement for std::complex.
Given that GA is a superset of these, could your library replace these two? It would need to be syntactically compatible, since we 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. And IMHO GA should not try to supersede the classic tools since there still will be demand for them. I think they can perfectly coexists. People shoud choose the tools which best serve their needs.
Finally, I strongly encourage Jaap Suter as well as Paul Leopardi (http://lists.boost.org/MailArchives/boost-users/msg06695.php , http://glucat.sourceforge.net/) to bring their libraries into the boost review process. With kind regards Johannes