Skip to main content
Log in

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Abrahams, D., Gurtovoy, A.: C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Addison-Wesley Professional, Boston (2004)

    Google Scholar 

  2. Clifford, W.K.: Applications of Grassmann’s extensive algebra. Am. J. Math. Pure Appl. 1, 350–358 (1878)

    MathSciNet  MATH  Google Scholar 

  3. Dorst, L., Fontijne, D., Mann, S.: Geometric Algebra for Computer Science: An Object-Oriented Approach to Geometry. Morgan Kaufmann Publishers Inc., San Francisco (2007)

    Google Scholar 

  4. Easter, R.B., Hitzer, E.: Double Conformal Geometric Algebra for Quadrics and Darboux Cyclides. CGI2016

  5. 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

  6. 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)

  7. Fontijne, D.: GAViewer Documentation Version 0.84. University of Amsterdam. http://www.science.uva.nl/research/ias/ga/viewer

  8. Fuchs, L., Théry, L.: Implementing Geometric Algebra Products with Binary Trees. Advances in Applied Clifford Algebras, p. 22. Springer, Berlin (2014)

  9. Hildenbrand, D.: Foundations of Geometric Algebra Computing. Springer, Berlin (2013)

    Book  MATH  Google Scholar 

  10. Kanatani, K.: Understanding Geometric Algebra: Hamilton, Grassmann, and Clifford for Computer Vision and Graphics. CRC Press, Boca Raton (2015)

    Book  MATH  Google Scholar 

  11. Perwass, C.: CLUCal/CLUViz Interactive Visualization [online]. http://www.clucalc.info/ (2010)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stéphane Breuils.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00006-017-0770-6

Keywords

Navigation