Skip to main content
Log in

Massive Geometric Algebra: Visions for C++ Implementations of Geometric Algebra to Scale into the Big Data Era

  • Published:
Advances in Applied Clifford Algebras Aims and scope Submit manuscript

Abstract

Geometric algebra (GA) is a promising approach to address interoperability bottlenecks that are particularly prominent in the big data era. Similar to how GA unites and simplifies otherwise distinct mathematical branches it may also help to unite software via common interfaces between otherwise distinct applications. The promising potential of GA would be best exhibited by the ability of seamless integration into existing, complex applications. To achieve this vision various constraints have to be considered. Particularly having C++ in focus, we discuss the “wish list” that an optimal C++ implementation should provide. We find that to cover the various constraints an hybrid approach benefiting from multiple programming paradigms, ranging from generic to object-oriented programming, will be needed. C++ is a very suitable platform providing all these capabilities and promising approaches like Generative Programming and Active Libraries provide technology highly desirable for universally promoting GA to an extensive range of application domains.

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.

Similar content being viewed by others

References

  1. Benger, W., Hamilton, A., Folk, M., Koziol, Q., Su, S., Schnetter, E., Ritter, M., Ritter, G.: Using geometric algebra for navigation in Riemannian and hard disc space. In: Skala, V., Hildebrand, D. (eds.) GraVisMa 2009—Computer Graphics, Vision and Mathematics for Scientific Computing. UNION Agency, Na Mazinach 9, CZ 322 00 Plzen, Czech Republic (2010)

  2. Benger, W., Heinzl, R., Hildenbrand, D., Weinkauf, T., Theisel, H., Tschumperle, D.: Differential Methods for Multi-Dimensional Visual Data Analysis, chapter 50. Springer Science + Business Media LLC (2010)

  3. Benger, W.: Classifying data for scientific visualization via fiber bundles. In: Leroy, C., Rancoita, P.-G. (eds.) International Conference on Advanced Technology and Particle Physics. ICATPP-11, Como, Italy, Oct 5–9, 2009 pp. 666–675. World Scientific, Singapore (2009). http://villaolmo.mib.infn.it/Conference2009.html

  4. Benger, W.: On safari in the file format jungle—why can’t you visualize my data? IEEE Des. Test. 11(6), 98–102 (2009). doi:10.1109/MCSE.2009.202

  5. Benger, W.: Visualization of General Relativistic Tensor Fields via a Fiber Bundle Data Model. PhD thesis, FU Berlin (2004). http://www.lob.de/isbn/3865411088

  6. Butler, D.M., Bryson, S.: Vector bundle classes from powerful tool for scientific visualization. Comput. Phys. 6, 576–584 (1992). http://www.fiberbundle.com/Publications/Butler_Bryson_1992.pdf

  7. Butler, D.M., Pendley, M.H.: A visualization model based on the mathematics of fiber bundles. Comput. Phys. 3(5), 45–51 (1989). http://www.fiberbundle.com/Publications/Butler_Pendley_1989b.pdf

  8. Charrier, P., Klimek, M., Steinmetz, C., Hildenbrand, D.: Geometric algebra enhanced precompiler for c++, opencl and mathematica’s opencllink. Adv. Appl. Clifford Algebras 24(2), 613–630 (2014). doi:10.1007/s00006-014-0443-7

    Article  MATH  Google Scholar 

  9. Colapinto, P.: Articulating Space: Geometric Algebra for Parametric Design—Symmetry, Kinematics, and Curvature. PhD thesis, Media Arts and Technology Program, University of California Santa Barbara, March 2016. http://versor.mat.ucsb.edu/ArticulatingSpace.pdf

  10. Colapinto, P.: Versor: spatial computing with conformal geometric algebra. Master’s thesis, University of California at Santa Barbara (2011). http://versor.mat.ucsb.edu

  11. Czarnecki, K., Eisenecker, U., Glück, R., Vandevoorde, D., Veldhuizen, T.: Generative Programming and Active Libraries. In: Jazayeri, M.,Loos, R. G. K., Musser, D. R. (eds) Generic Programming: International Seminar on Generic Programming Dagstuhl Castle, Germany, April 27–May 1, 1998 Selected Papers. pp. 25–39. Springer, Berlin (2000). doi:10.1007/3-540-39953-4_3

  12. Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison Wesley, Boston (2000). http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.202.2797&rep=rep1&type=pdf

  13. Deuflhard, P.: On algorithms for the summation of certain special functions. Computing 17, 37–48 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  14. Deuflhard, P., Hohmann, A.: Numerical Analysis in Modern Scientific Computing, 2nd edn. Springer, New York (2003)

    Book  MATH  Google Scholar 

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

  16. Eid, A.H., Abd El Hay, A.S., Fargaly, M.Y., Rizk, R.Y.: Gmac: A novel code generator for geometric modeling based on geometric algebra. The 19th International Conference on Computer Theory and Applications. ICCTA, Alexandria, Egypt (2009)

  17. Eid, A.H.A.: Optimized automatic code generation for geometric algebra based algorithms with ray tracing application. CoRR. (2016). arXiv:1607.04767

  18. Fontijne, D.: Gaigen 2:: a geometric algebra implementation generator. In: Proceedings of the 5th International Conference on Generative Programming and Component Engineering, GPCE ’06, pp. 141–150, New York, NY, USA (2006). ACM. doi:10.1145/1173706.1173728

  19. Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv. 23(1), 5–48 (1991). doi:10.1145/103162.103163

    Article  Google Scholar 

  20. HDF5. Hierarchical data format version 5. The HDF Group (2009). http://www.hdfgroup.org/

  21. Hildenbrand, D.: Foundations of Geometric Algebra Computing. Springer, Berlin (2013). http://www.gaalop.de/

  22. Leopardi, P.: A generalized fft for Clifford algebras. Bull. Belg. Math. Soc. Simon Stevin 11(5), 663–688, 03 (2005). http://projecteuclid.org/euclid.bbms/1110205626

  23. Leopardi, P.: Generic library of universal Clifford algebra templates (2007). http://glucat.sourceforge.net/

  24. Majorinc, K.: Ellipse-circle dilemma and inverse inheritance. Proceedings of the 20th International Conference of Information Technology Interfaces, pp. 627–632, ITI, Pula. http://kazimirmajorinc.com/Documents/1998,-Majorinc,-Ellipse-circle-dilemma-and-inverse-inheritance.pdf (1998)

  25. Perwass, C.: Geometric Algebra with Applications in Engineering. Geometry and Computing. Springer, Berlin (2009). http://www.springer.com/us/book/9783540890676

  26. Schwinn, C., Hildenbrand, D., Stock, F., Koch, A.: Gaalop 2.0—a geometric algebra algorithm compiler. GraVisMa Workshop. UNION Agency, Brno, Czech Republic. http://gravisma.zcu.cz/GraVisMa-2010/GraVisMa-2010-proceedings.pdf (2010)

  27. Seybold, F.: Gaalet tutorial. In: Workshop on Computer Graphics, Computer Vision and Mathematics (2010). http://gravisma.zcu.cz/GraVisMa-2010/Papers/Tutorial/F02-full.pdf

  28. Striegnitz, J., Smith, S.A.: An expression template aware lambda function. In: Proceedings of the 2000 Workshop on C++ Template Programming, 10.10.2000. Erfurt Germany (2001). http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.38.6545&rep=rep1&type=pdf

  29. Stroustrup, B.: Generalizing overloading for c++2000. Retrieved 2017-02-11 (1998)

  30. Thorne, C.: Origin-centric techniques for optimising scalability and the fidelity of motion, interaction and rendering. PhD thesis, University of Western Australia (2007)

  31. Vargas, J.G., Torr, D.G.: Clifford-Valued Clifforms: A Geometric Language for Dirac Equations, vol. 1, pp. 135–154. Birkhäuser, Boston (2000)

  32. Veldhuizen, T.L.: Using C++ template metaprograms. In: Lippman, S. (ed.) C++ Report, vol. 7, Issue 4, pp. 36–43 (1995) (Reprinted in C++ Gems)

Download references

Acknowledgements

This work was completed in partial support by NSF Award #1251095 BIGDATA: Small: DCM: Collaborative Research: An efficient, versatile, scalable, and portable storage system for scientific data containers.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Werner Benger.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Benger, W., Dobler, W. Massive Geometric Algebra: Visions for C++ Implementations of Geometric Algebra to Scale into the Big Data Era. Adv. Appl. Clifford Algebras 27, 2153–2174 (2017). https://doi.org/10.1007/s00006-017-0780-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00006-017-0780-4

Keywords

Mathematics Subject Classification

Navigation