Abstract
This paper presents an efficient implementation of geometric algebra, based on a recursive representation of the algebra elements using binary trees. The proposed approach consists in restructuring a state of the art recursive algorithm to handle parallel optimizations. The resulting algorithm is described for the outer product and the geometric product. The proposed implementation is usable for any dimensions, including high dimension (e.g. algebra of dimension 15). The method is compared with the main state of the art geometric algebra implementations, with a time complexity study as well as a practical benchmark. The tests show that our implementation is at least as fast as the main geometric algebra implementations.
Similar content being viewed by others
References
Abrahams, D., Gurtovoy, A.: C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Addison-Wesley Professional, Boston (2004)
Clifford, W.K.: Applications of Grassmann’s extensive algebra. Am. J. Math. Pure Appl. 1, 350–358 (1878)
Dorst, L., Fontijne, D., Mann, S.: Geometric Algebra for Computer Science: An Object-Oriented Approach to Geometry. Morgan Kaufmann Publishers Inc., San Francisco (2007)
Easter, R.B., Hitzer, E.: Double Conformal Geometric Algebra for Quadrics and Darboux Cyclides. CGI2016
Leißa, R., Haffner, I., Hack, S.: Sierra: A SIMD Extension for C++. In: Proceedings of the 2014 Workshop on Programming Models for SIMD/Vector Processing. WPMVP ’14, pp. 17–24. ACM, NY, USA (2014) doi:10.1145/2568058.2568062
Fontijne, D.: Gaigen 2:: a geometric algebra implementation generator. In: Proceedings of the 5th International Conference on Generative Programming and Component Engineering, pp. 141–150. ACM (2006)
Fontijne, D.: GAViewer Documentation Version 0.84. University of Amsterdam. http://www.science.uva.nl/research/ias/ga/viewer
Fuchs, L., Théry, L.: Implementing Geometric Algebra Products with Binary Trees. Advances in Applied Clifford Algebras, p. 22. Springer, Berlin (2014)
Hildenbrand, D.: Foundations of Geometric Algebra Computing. Springer, Berlin (2013)
Kanatani, K.: Understanding Geometric Algebra: Hamilton, Grassmann, and Clifford for Computer Vision and Graphics. CRC Press, Boca Raton (2015)
Perwass, C.: CLUCal/CLUViz Interactive Visualization [online]. http://www.clucalc.info/ (2010)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Breuils, S., Nozick, V. & Fuchs, L. A Geometric Algebra Implementation using Binary Tree. Adv. Appl. Clifford Algebras 27, 2133–2151 (2017). https://doi.org/10.1007/s00006-017-0770-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00006-017-0770-6