18 – Implementation issues

Publisher Summary The first two parts of this book have given an abstract description of geometric algebra that is mostly free of coordinates and other low-level implementation details. Even though many programming examples have been provided, this may still have left a somewhat unreal feeling about geometric algebra, and an impression that any implementation of geometric algebra would be computationally prohibitive in a practical application. To address these concerns, Part III of this book gives details on how to create an efficient numerical implementation of geometric algebra. It describes the implementation of all products, operations, and models that were used in the preceding parts. The description is from the viewpoint of representing multi-vectors as a weighted sum of basis blades, an approach that was already hinted at in earlier chapters. This is by far the most common way of implementing geometric algebra, although other approaches are also possible. The ultimate goal of this book is efficient numerical implementation, not symbolic computer algebra. An efficient geometric algebra implementation uses symbolic manipulations only to bootstrap the implementation, and not during actual run-time computations. This book has tried to keep the implementation description independent of any particular implementation.