An Extended Implementation Framework for Geometric Algebra Operations on Systems of Coordinate Frames of Arbitrary Signature

  • Ahmad Hosny EidEmail author


There is a steadily increasing interest in applying Geometric Algebra (GA) in diverse fields of science and engineering. Consequently, we need better software implementations to accommodate such increasing demands that widely vary in their possible uses and goals. For large-scale complex applications having many integrating parts, such as Big Data and Geographical Information Systems, we should expect the need for integrating several GAs to solve a given problem. Even within the context of a single GA space, we often need several interdependent systems of coordinates to efficiently model and solve the problem at hand. Future GA software implementations must take such important issues into account in order to scale, extend, and integrate with existing software systems, in addition to developing new ones, based on the powerful language of GA. This work attempts to provide GA software developers with a self-contained description of an extended framework for performing linear operations on GA multivectors within systems of interdependent coordinate frames of arbitrary metric. The work explains the mathematics and algorithms behind this extended framework and discusses some of its implementation schemes and use cases. If properly implemented, the extended framework can significantly reduce the memory requirements for implementing Geometric Algebras with larger dimensions, especially for systems based on the symbolic processing of multivector scalar coefficients.


Geometric Algebra Coordinate frames Software implementations 


  1. 1.
    Abłamowicz, R.: Computations with clifford and Grassmann algebras. Adv. Appl. Clifford Algebras 19(3–4), 499–545 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Abłamowicz, R.: (online). Accessed 30 Jan 2018
  3. 3.
    Ablamowicz, R., Fauser, B.: Mathematics of clifford—a maple package for clifford and Graßmann algebras. Adv. Appl. Clifford Algebras 15(2), 157–181 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Abłamowicz, R., Fauser, B.: On parallelizing the clifford algebra product for CLIFFORD. Adv. Appl. Clifford Algebras 24(2), 553–567 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    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 (2017) 27, 2513 (2017).
  6. 6.
    Bouma, T.A., Dorst, L., Pijls, H.G.J.: Geometric algebra for subspace operations. Acta Applicandae Mathematicae 73(3), 285–300 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Breuils, S., Nozick, V., Fuchs, L.: A geometric algebra implementation using binary tree. Adv. Appl. Clifford Algebras 27(3), 2133–2151 (2017). (online)
  8. 8.
    Breuils, S., Nozick, V., Fuchs, L., Hildenbrand, D., Benger, W., Steinmetz, C.: A hybrid approach for computing products of high-dimensional geometric algebras. In: Proceedings of the Computer Graphics International Conference. CGI ’17, pp. 43:1–43:6. ACM, New York (2017). (online)
  9. 9.
    Bromborsky, A.: (online). Accessed 30 Jan 2018
  10. 10.
    Browne, J.: Grassmann Algebra Volume 1: Foundations: Exploring Extended Vector Algebra with Mathematica. CreateSpace Independent Publishing Platform (2012)Google Scholar
  11. 11.
    Browne, J.: (online). Accessed 30 Jan 2018
  12. 12.
    Chamorro, A.: On the meaning of the principle of general covariance. Int. J. Theor. Phys. 52(1), 117–129 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    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)CrossRefzbMATHGoogle Scholar
  14. 14.
    Co, T.B.: Methods of Applied Mathematics for Engineers and Scientists. Cambridge University Press, Cambridge (2013)CrossRefzbMATHGoogle Scholar
  15. 15.
    Colapinto, P.: Versor: Spatial computing with conformal geometric algebra. Ph.D. dissertation, University of California at Santa Barbara, 2011-01-01. (online)
  16. 16.
    Colapinto, P.: Articulating space: Geometric algebra for parametric design—symmetry, kinematics, and curvature. Ph.D. thesis, University of California, Santa Barbara (Santa Barbara, Calif.) (2015)Google Scholar
  17. 17.
    Colapinto, P.: (online). Accessed 30 Jan 2018
  18. 18.
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, Reading (2000)Google Scholar
  19. 19.
    Czarnecki, K., Eisenecker, U., Glück, R., Vandevoorde, D., Veldhuizen, T.: Generative programming and active libraries. In: Generic Programming, pp. 25–39. Springer, Berlin (2000).
  20. 20.
    Davis, T.A.: Direct Methods for Sparse Linear Systems. Society for Industrial and Applied Mathematics, Philadelphia (2006)CrossRefzbMATHGoogle Scholar
  21. 21.
    Doran, C., Lasenby, A.: Geometric Algebra for Physicists. Cambridge University Press, Cambridge (2007)zbMATHGoogle Scholar
  22. 22.
    Dorst, L., Fontijne, D., Manning, S.: Geometric Algebra for Computer Science: An Object-Oriented Approach to Geometry, 2nd edn. The Morgan Kaufmann Series in Computer Graphics. Morgan Kaufmann/Elsevier, Amsterdam (2009)Google Scholar
  23. 23.
    Eid, A.H.: Optimized automatic code generation for geometric algebra based algorithms with ray tracing application. Ph.D. thesis, Faculty of Engineering, Port-Said University, Egypt (2010). (online)
  24. 24.
    Eid, A.H.: (online). Accessed 30 Jan 2018 (online)
  25. 25.
    Ernst Snapper, R.J.T.: Metric Affine Geometry. Elsevier Science, Amsterdam (1971)zbMATHGoogle Scholar
  26. 26.
    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. ACM, New York (2006). (online)
  27. 27.
    Fontijne, D.: Efficient Implementation of Geometric Algebra. [S.l. and Amsterdam: s.n.] and Universiteit van Amsterdam [Host], Amsterdam (2007)Google Scholar
  28. 28.
    Fontijne, D.: (online). Accessed 30 Jan 2018
  29. 29.
    Fontijne, D., Dorst, L.: Efficient algorithms for factorization and join of blades geometric algebra computing. In: Bayro-Corrochano, E., Scheuermann, G. (eds.) Geometric algebra computing in engineering and computer science, pp. 457–476. Springer, London (2010).
  30. 30.
    Fuchs, L., Théry, L.: Implementing geometric algebra products with binary trees. Adv. Appl. Clifford Algebras 24(2), 589–611 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  31. 31.
    Grabmeier, J., Kaltofen, E., Weispfenning, V.: Computer Algebra Handbook: Foundations - Applications - Systems. Springer, Berlin (2003)CrossRefzbMATHGoogle Scholar
  32. 32.
    Gunn, C.: Geometry, kinematics, and rigid body mechanics in Cayley–Klein geometries. Ph.D. thesis, Technische Universität Berlin, Fakultät II - Mathematik und Naturwissenschaften (2011)Google Scholar
  33. 33.
    Gunn, C.: On the homogeneous model of Euclidean geometry. In: Dorst, L., Lasenby, J. (eds.) Guide to Geometric Algebra in Practice, pp. 297–327. Springer, London (2011)CrossRefGoogle Scholar
  34. 34.
    Gunn, C.G.: Doing Euclidean plane geometry using projective geometric algebra. Adv. Appl. Clifford Algebras 27, 1203 (2016).
  35. 35.
    Gunn, C.: Geometric algebras for Euclidean geometry. Adv. Appl. Clifford Algebras 27, 185 (2017).
  36. 36.
    Hestenes, D.: New Foundations for Classical Mechanics, 2nd edn. Fundamental Theories of Physics, vol. 99. Springer Netherlands, Dordrecht (2002)Google Scholar
  37. 37.
    Hestenes, D., Sobczyk, G.: Clifford Algebra to Geometric Calculus: A Unified Language for Mathematics and Physics. Fundamental Theories of Physics. D. Reidel and Distributed in the USA and Canada by Kluwer Academic Publishers, Dordrecht (1984)Google Scholar
  38. 38.
    Hildenbrand, D.: Foundations of Geometric Algebra Computing. Geometry and Computing, vol. v. 8. Springer, Heidelberg (2013)Google Scholar
  39. 39.
    Hildenbrand, D., Albert, J., Charrier, P., Steinmetz, C.: Geometric algebra computing for heterogeneous systems. Adv. Appl. Clifford Algebras 27(1), 599–620 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  40. 40.
    Hildenbrand, D., Charrier, P., Steinmetz, C., Pitt, J.: (online). Accessed 30 Jan 2018
  41. 41.
    Hitzer, E.M.S.: KamiWaAI-interactive 3d sketching with java based on cl(4, 1) conformal model of Euclidean space. Adv. Appl. Clifford Algebras 13(1), 11–45 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  42. 42.
    Hitzer, E.M.S.: (online). Accessed 30 Jan 2018
  43. 43.
    Hitzer, E., Perwass, C.: Interactive 3d space group visualization with CLUCalc and the clifford geometric algebra description of space groups. Adv. Appl. Clifford Algebras 20(3–4), 631–658 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  44. 44.
    Hitzer, E., Perwass, C.: (online). Accessed 30 Jan 2018
  45. 45.
    Hitzer, E.M.S., Redaelli, L.: Geometric algebra illustrated by Cinderella. Adv. Appl. Clifford Algebras 13(2), 157–181 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  46. 46.
    Hobson, M.P., Efstathiou, G.P., Lasenby, A.N.: General Relativity: An Introduction for Physicists. Cambridge University Press, Cambridge (2007)zbMATHGoogle Scholar
  47. 47.
    Hu, Y., Luo, W., Yu, Z., Yuan, L., Lü, G.: Geometric algebra-based modeling and analysis for multi-layer, multi-temporal geographic data. Adv. Appl. Clifford Algebras 26(1), 151–168 (2016). (online)
  48. 48.
    Hung Nguyen-Schäfer, J.-P.S.: Tensor Analysis and Elementary Differential Geometry for Physicists and Engineers. Springer-Verlag GmbH, Berlin (2016)zbMATHGoogle Scholar
  49. 49.
    International Tables for Crystallography: Volume B: Reciprocal Space. Springer, Berlin (2001)Google Scholar
  50. 50.
    Kästner, C., Apel, S.: Feature-oriented software development. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) Generative and transformational techniques in software engineering IV. Lecture Notes in Computer Science, vol 7680. Springer, Berlin, Heidelberg (2013).
  51. 51.
    Leopardi, P.: (online). Accessed 30 Jan 2018
  52. 52.
    Luo, W., Yu, Z., Yuan, L., Hu, Y., Zhu, A.-X., Lü, G.: Template-based GIS computation: a geometric algebra approach. Int. J. Geogr. Inf. Sci. 31(10), 2045–2067 (2017). (online)
  53. 53.
    Mann, S.: (online). Accessed 30 Jan 2018
  54. 54.
    Mann, S.: (online). Accessed 30 Jan 2018
  55. 55.
    Mann, S., Dorst, L., Bouma, T.: The making of GABLE: a geometric algebra learning environment in Matlab. In: Corrochano, E.B., Sobczyk, G. (eds.) Geometric algebra with applications in science and engineering. Birkhäuser, Boston, MA (2001).
  56. 56.
    Mann, S., Dorst, L., Bouma, T.: (online). Accessed 30 Jan 2018
  57. 57.
    Parkin, S.T.: (online). Accessed 30 Jan 2018
  58. 58.
    Perwass, C.: Geometric Algebra with Applications in Engineering. Geometry and Computing, vol. 4. Springer, Berlin (2009)Google Scholar
  59. 59.
    Perwass, C.: (online). Accessed 30 Jan 2018
  60. 60.
    Press, W.H.: Numerical Recipes. Cambridge University Press, Cambridge (2007)zbMATHGoogle Scholar
  61. 61.
    Prodanov, D.: (online). Accessed 30 Jan 2018
  62. 62.
    Prodanov, D., Toth, V.T.: Sparse representations of clifford and tensor algebras in maxima. Adv. Appl. Clifford Algebras 27(1), 661–683 (2017)MathSciNetCrossRefzbMATHGoogle Scholar
  63. 63.
    Richter-Gebert, J., Kortenkamp, U.: (online). Accessed 30 Jan 2018
  64. 64.
    Rodrıguez-Andrade, M., Aragón-González, G., Aragón, J., Verde-Star, L.: An algorithm for the Cartan–Dieudonné theorem on generalized scalar product spaces. Linear Algebra Appl. 434(5), 1238–1254 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  65. 65.
    Sangwine, S.J., Hitzer, E.: Clifford multivector toolbox (for MATLAB). Adv. Appl. Clifford Algebras 27(1), 539–558 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  66. 66.
    Sangwine, S.J., Hitzer, E.: (online). Accessed 30 Jan 2018
  67. 67.
    Seybold, F.: Gaalet—a C++ expression template library for implementing geometric algebra. (online). Accessed 30 Jan 2018
  68. 68.
    Seybold, F.: (online). Accessed 30 Jan 2018
  69. 69.
    Snygg, J.: A New Approach to Differential Geometry Using Clifford’s Geometric Algebra. Springer Science+Business Media, LLC, New York (2012)CrossRefzbMATHGoogle Scholar
  70. 70.
    Sobczyk, G.: Clifford geometric algebras in multilinear algebra and non-Euclidean geometries. In: NATO Science Series II: Mathematics, Physics and Chemistry, pp. 1–27. Kluwer Academic Publishers, Dordrecht (2004)Google Scholar
  71. 71.
    Sommer, G.: Geometric Computing with Clifford Algebras: Theoretical Foundations and Applications in Computer Vision and Robotics. Springer, Berlin (2001)CrossRefzbMATHGoogle Scholar
  72. 72.
    Sternberg, S.: Curvature in Mathematics and Physics. Dover Books on Mathematics. Dover Publications, Mineola (2012)Google Scholar
  73. 73.
    Tingelstad, L., Egeland, O.: Automatic multivector differentiation and optimization. Adv. Appl. Clifford Algebras 27, 707 (2017).
  74. 74.
    Yuan, L., Yu, Z., Chen, S., Luo, W., Wang, Y., Lü, G.: Causta: clifford algebra-based unified spatio-temporal analysis. Trans. GIS 14, 59–83 (2010). (online)
  75. 75.
    Zaharia, M.D., Dorst, L.: Interface specification and implementation internals of a program module for geometric algebra. Technical Report IAS-UVA-02-06, Informatics Institute, University of Amsterdam, The Netherlands (2002)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Electrical Engineering, Faculty of EngineeringPort-Said UniversityPort-SaidEgypt

Personalised recommendations