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.
Similar content being viewed by others
References
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)
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)
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
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
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
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
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
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
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
Colapinto, P.: Versor: spatial computing with conformal geometric algebra. Master’s thesis, University of California at Santa Barbara (2011). http://versor.mat.ucsb.edu
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
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
Deuflhard, P.: On algorithms for the summation of certain special functions. Computing 17, 37–48 (1976)
Deuflhard, P., Hohmann, A.: Numerical Analysis in Modern Scientific Computing, 2nd edn. Springer, New York (2003)
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)
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)
Eid, A.H.A.: Optimized automatic code generation for geometric algebra based algorithms with ray tracing application. CoRR. (2016). arXiv:1607.04767
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
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
HDF5. Hierarchical data format version 5. The HDF Group (2009). http://www.hdfgroup.org/
Hildenbrand, D.: Foundations of Geometric Algebra Computing. Springer, Berlin (2013). http://www.gaalop.de/
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
Leopardi, P.: Generic library of universal Clifford algebra templates (2007). http://glucat.sourceforge.net/
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)
Perwass, C.: Geometric Algebra with Applications in Engineering. Geometry and Computing. Springer, Berlin (2009). http://www.springer.com/us/book/9783540890676
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)
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
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
Stroustrup, B.: Generalizing overloading for c++2000. Retrieved 2017-02-11 (1998)
Thorne, C.: Origin-centric techniques for optimising scalability and the fidelity of motion, interaction and rendering. PhD thesis, University of Western Australia (2007)
Vargas, J.G., Torr, D.G.: Clifford-Valued Clifforms: A Geometric Language for Dirac Equations, vol. 1, pp. 135–154. Birkhäuser, Boston (2000)
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)
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
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00006-017-0780-4