Skip to main content
Log in

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

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

Abstract

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.

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. Abłamowicz, R.: Computations with clifford and Grassmann algebras. Adv. Appl. Clifford Algebras 19(3–4), 499–545 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  2. Abłamowicz, R.: http://math.tntech.edu/rafal/ (online). Accessed 30 Jan 2018

  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)

    Article  MathSciNet  MATH  Google Scholar 

  4. Abłamowicz, R., Fauser, B.: On parallelizing the clifford algebra product for CLIFFORD. Adv. Appl. Clifford Algebras 24(2), 553–567 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  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). https://doi.org/10.1007/s00006-017-0780-4

  6. Bouma, T.A., Dorst, L., Pijls, H.G.J.: Geometric algebra for subspace operations. Acta Applicandae Mathematicae 73(3), 285–300 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  7. Breuils, S., Nozick, V., Fuchs, L.: A geometric algebra implementation using binary tree. Adv. Appl. Clifford Algebras 27(3), 2133–2151 (2017). https://doi.org/10.1007/s00006-017-0770-6 (online)

  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). http://doi.acm.org/10.1145/3095140.3097284 (online)

  9. Bromborsky, A.: https://github.com/brombo/galgebra (online). Accessed 30 Jan 2018

  10. Browne, J.: Grassmann Algebra Volume 1: Foundations: Exploring Extended Vector Algebra with Mathematica. CreateSpace Independent Publishing Platform (2012)

  11. Browne, J.: https://sites.google.com/site/grassmannalgebra/home (online). Accessed 30 Jan 2018

  12. Chamorro, A.: On the meaning of the principle of general covariance. Int. J. Theor. Phys. 52(1), 117–129 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Article  MATH  Google Scholar 

  14. Co, T.B.: Methods of Applied Mathematics for Engineers and Scientists. Cambridge University Press, Cambridge (2013)

    Book  MATH  Google Scholar 

  15. Colapinto, P.: Versor: Spatial computing with conformal geometric algebra. Ph.D. dissertation, University of California at Santa Barbara, 2011-01-01. http://versor.mat.ucsb.edu (online)

  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)

  17. Colapinto, P.: http://versor.mat.ucsb.edu/ (online). Accessed 30 Jan 2018

  18. Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, Reading (2000)

    Google Scholar 

  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). https://doi.org/10.1007/3-540-39953-4_3

  20. Davis, T.A.: Direct Methods for Sparse Linear Systems. Society for Industrial and Applied Mathematics, Philadelphia (2006)

    Book  MATH  Google Scholar 

  21. Doran, C., Lasenby, A.: Geometric Algebra for Physicists. Cambridge University Press, Cambridge (2007)

    MATH  Google Scholar 

  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)

  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). http://arxiv.org/pdf/1607.04767 (online)

  24. Eid, A.H.: https://github.com/ga-explorer/GMac (online). Accessed 30 Jan 2018 (online)

  25. Ernst Snapper, R.J.T.: Metric Affine Geometry. Elsevier Science, Amsterdam (1971)

    MATH  Google Scholar 

  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). http://doi.acm.org/10.1145/1173706.1173728 (online)

  27. Fontijne, D.: Efficient Implementation of Geometric Algebra. [S.l. and Amsterdam: s.n.] and Universiteit van Amsterdam [Host], Amsterdam (2007)

    Google Scholar 

  28. Fontijne, D.: https://sourceforge.net/projects/g25/ (online). Accessed 30 Jan 2018

  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). https://doi.org/10.1007/978-1-84996-108-0_21

  30. Fuchs, L., Théry, L.: Implementing geometric algebra products with binary trees. Adv. Appl. Clifford Algebras 24(2), 589–611 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  31. Grabmeier, J., Kaltofen, E., Weispfenning, V.: Computer Algebra Handbook: Foundations - Applications - Systems. Springer, Berlin (2003)

    Book  MATH  Google Scholar 

  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)

  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)

    Chapter  Google Scholar 

  34. Gunn, C.G.: Doing Euclidean plane geometry using projective geometric algebra. Adv. Appl. Clifford Algebras 27, 1203 (2016). https://doi.org/10.1007/s00006-016-0731-5

  35. Gunn, C.: Geometric algebras for Euclidean geometry. Adv. Appl. Clifford Algebras 27, 185 (2017). https://doi.org/10.1007/s00006-016-0647-0

  36. Hestenes, D.: New Foundations for Classical Mechanics, 2nd edn. Fundamental Theories of Physics, vol. 99. Springer Netherlands, Dordrecht (2002)

  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)

  38. Hildenbrand, D.: Foundations of Geometric Algebra Computing. Geometry and Computing, vol. v. 8. Springer, Heidelberg (2013)

  39. Hildenbrand, D., Albert, J., Charrier, P., Steinmetz, C.: Geometric algebra computing for heterogeneous systems. Adv. Appl. Clifford Algebras 27(1), 599–620 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  40. Hildenbrand, D., Charrier, P., Steinmetz, C., Pitt, J.: http://www.gaalop.de/ (online). Accessed 30 Jan 2018

  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)

    Article  MathSciNet  MATH  Google Scholar 

  42. Hitzer, E.M.S.: https://sourceforge.net/projects/kamiwaai/ (online). Accessed 30 Jan 2018

  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)

    Article  MathSciNet  MATH  Google Scholar 

  44. Hitzer, E., Perwass, C.: http://spacegroup.info/ (online). Accessed 30 Jan 2018

  45. Hitzer, E.M.S., Redaelli, L.: Geometric algebra illustrated by Cinderella. Adv. Appl. Clifford Algebras 13(2), 157–181 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  46. Hobson, M.P., Efstathiou, G.P., Lasenby, A.N.: General Relativity: An Introduction for Physicists. Cambridge University Press, Cambridge (2007)

    MATH  Google Scholar 

  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). https://doi.org/10.1007/s00006-015-0574-5 (online)

  48. Hung Nguyen-Schäfer, J.-P.S.: Tensor Analysis and Elementary Differential Geometry for Physicists and Engineers. Springer-Verlag GmbH, Berlin (2016)

    MATH  Google Scholar 

  49. International Tables for Crystallography: Volume B: Reciprocal Space. Springer, Berlin (2001)

    Google Scholar 

  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). https://doi.org/10.1007/978-3-642-35992-7_10

  51. Leopardi, P.: https://github.com/penguian/glucat (online). Accessed 30 Jan 2018

  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). https://doi.org/10.1080/13658816.2017.1346796 (online)

  53. Mann, S.: http://www.cgl.uwaterloo.ca/smann/GA/sandbox.html (online). Accessed 30 Jan 2018

  54. Mann, S.: http://www.cgl.uwaterloo.ca/smann/GA/gaviewer_download.html (online). Accessed 30 Jan 2018

  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). https://doi.org/10.1007/978-1-4612-0159-5_24

  56. Mann, S., Dorst, L., Bouma, T.: http://www.cgl.uwaterloo.ca/smann/GABLE/ (online). Accessed 30 Jan 2018

  57. Parkin, S.T.: http://spencerparkin.github.io/GALua/ (online). Accessed 30 Jan 2018

  58. Perwass, C.: Geometric Algebra with Applications in Engineering. Geometry and Computing, vol. 4. Springer, Berlin (2009)

  59. Perwass, C.: https://www.raytrix.de/downloads/ (online). Accessed 30 Jan 2018

  60. Press, W.H.: Numerical Recipes. Cambridge University Press, Cambridge (2007)

    MATH  Google Scholar 

  61. Prodanov, D.: https://github.com/dprodanov/clifford (online). Accessed 30 Jan 2018

  62. Prodanov, D., Toth, V.T.: Sparse representations of clifford and tensor algebras in maxima. Adv. Appl. Clifford Algebras 27(1), 661–683 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  63. Richter-Gebert, J., Kortenkamp, U.: https://www.cinderella.de (online). Accessed 30 Jan 2018

  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)

    Article  MathSciNet  MATH  Google Scholar 

  65. Sangwine, S.J., Hitzer, E.: Clifford multivector toolbox (for MATLAB). Adv. Appl. Clifford Algebras 27(1), 539–558 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  66. Sangwine, S.J., Hitzer, E.: http://clifford-multivector-toolbox.sourceforge.net/ (online). Accessed 30 Jan 2018

  67. Seybold, F.: Gaalet—a C++ expression template library for implementing geometric algebra. http://gaalet.sourceforge.net/files/gaalet_paper_HighEndVizWorkshop2010.pdf (online). Accessed 30 Jan 2018

  68. Seybold, F.: https://sourceforge.net/projects/gaalet/ (online). Accessed 30 Jan 2018

  69. Snygg, J.: A New Approach to Differential Geometry Using Clifford’s Geometric Algebra. Springer Science+Business Media, LLC, New York (2012)

    Book  MATH  Google Scholar 

  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)

  71. Sommer, G.: Geometric Computing with Clifford Algebras: Theoretical Foundations and Applications in Computer Vision and Robotics. Springer, Berlin (2001)

    Book  MATH  Google Scholar 

  72. Sternberg, S.: Curvature in Mathematics and Physics. Dover Books on Mathematics. Dover Publications, Mineola (2012)

  73. Tingelstad, L., Egeland, O.: Automatic multivector differentiation and optimization. Adv. Appl. Clifford Algebras 27, 707 (2017). https://doi.org/10.1007/s00006-016-0722-6

  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). https://doi.org/10.1111/j.1467-9671.2010.01221.x (online)

  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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ahmad Hosny Eid.

Additional information

Communicated by Leo Dorst.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Eid, A.H. An Extended Implementation Framework for Geometric Algebra Operations on Systems of Coordinate Frames of Arbitrary Signature. Adv. Appl. Clifford Algebras 28, 16 (2018). https://doi.org/10.1007/s00006-018-0827-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s00006-018-0827-1

Keywords

Navigation