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.
Similar content being viewed by others
References
Abłamowicz, R.: Computations with clifford and Grassmann algebras. Adv. Appl. Clifford Algebras 19(3–4), 499–545 (2009)
Abłamowicz, R.: http://math.tntech.edu/rafal/ (online). Accessed 30 Jan 2018
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)
Abłamowicz, R., Fauser, B.: On parallelizing the clifford algebra product for CLIFFORD. Adv. Appl. Clifford Algebras 24(2), 553–567 (2014)
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
Bouma, T.A., Dorst, L., Pijls, H.G.J.: Geometric algebra for subspace operations. Acta Applicandae Mathematicae 73(3), 285–300 (2002)
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)
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)
Bromborsky, A.: https://github.com/brombo/galgebra (online). Accessed 30 Jan 2018
Browne, J.: Grassmann Algebra Volume 1: Foundations: Exploring Extended Vector Algebra with Mathematica. CreateSpace Independent Publishing Platform (2012)
Browne, J.: https://sites.google.com/site/grassmannalgebra/home (online). Accessed 30 Jan 2018
Chamorro, A.: On the meaning of the principle of general covariance. Int. J. Theor. Phys. 52(1), 117–129 (2012)
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)
Co, T.B.: Methods of Applied Mathematics for Engineers and Scientists. Cambridge University Press, Cambridge (2013)
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)
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)
Colapinto, P.: http://versor.mat.ucsb.edu/ (online). Accessed 30 Jan 2018
Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, Reading (2000)
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
Davis, T.A.: Direct Methods for Sparse Linear Systems. Society for Industrial and Applied Mathematics, Philadelphia (2006)
Doran, C., Lasenby, A.: Geometric Algebra for Physicists. Cambridge University Press, Cambridge (2007)
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)
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)
Eid, A.H.: https://github.com/ga-explorer/GMac (online). Accessed 30 Jan 2018 (online)
Ernst Snapper, R.J.T.: Metric Affine Geometry. Elsevier Science, Amsterdam (1971)
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)
Fontijne, D.: Efficient Implementation of Geometric Algebra. [S.l. and Amsterdam: s.n.] and Universiteit van Amsterdam [Host], Amsterdam (2007)
Fontijne, D.: https://sourceforge.net/projects/g25/ (online). Accessed 30 Jan 2018
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
Fuchs, L., Théry, L.: Implementing geometric algebra products with binary trees. Adv. Appl. Clifford Algebras 24(2), 589–611 (2014)
Grabmeier, J., Kaltofen, E., Weispfenning, V.: Computer Algebra Handbook: Foundations - Applications - Systems. Springer, Berlin (2003)
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)
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)
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
Gunn, C.: Geometric algebras for Euclidean geometry. Adv. Appl. Clifford Algebras 27, 185 (2017). https://doi.org/10.1007/s00006-016-0647-0
Hestenes, D.: New Foundations for Classical Mechanics, 2nd edn. Fundamental Theories of Physics, vol. 99. Springer Netherlands, Dordrecht (2002)
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)
Hildenbrand, D.: Foundations of Geometric Algebra Computing. Geometry and Computing, vol. v. 8. Springer, Heidelberg (2013)
Hildenbrand, D., Albert, J., Charrier, P., Steinmetz, C.: Geometric algebra computing for heterogeneous systems. Adv. Appl. Clifford Algebras 27(1), 599–620 (2016)
Hildenbrand, D., Charrier, P., Steinmetz, C., Pitt, J.: http://www.gaalop.de/ (online). Accessed 30 Jan 2018
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)
Hitzer, E.M.S.: https://sourceforge.net/projects/kamiwaai/ (online). Accessed 30 Jan 2018
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)
Hitzer, E., Perwass, C.: http://spacegroup.info/ (online). Accessed 30 Jan 2018
Hitzer, E.M.S., Redaelli, L.: Geometric algebra illustrated by Cinderella. Adv. Appl. Clifford Algebras 13(2), 157–181 (2003)
Hobson, M.P., Efstathiou, G.P., Lasenby, A.N.: General Relativity: An Introduction for Physicists. Cambridge University Press, Cambridge (2007)
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)
Hung Nguyen-Schäfer, J.-P.S.: Tensor Analysis and Elementary Differential Geometry for Physicists and Engineers. Springer-Verlag GmbH, Berlin (2016)
International Tables for Crystallography: Volume B: Reciprocal Space. Springer, Berlin (2001)
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
Leopardi, P.: https://github.com/penguian/glucat (online). Accessed 30 Jan 2018
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)
Mann, S.: http://www.cgl.uwaterloo.ca/smann/GA/sandbox.html (online). Accessed 30 Jan 2018
Mann, S.: http://www.cgl.uwaterloo.ca/smann/GA/gaviewer_download.html (online). Accessed 30 Jan 2018
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
Mann, S., Dorst, L., Bouma, T.: http://www.cgl.uwaterloo.ca/smann/GABLE/ (online). Accessed 30 Jan 2018
Parkin, S.T.: http://spencerparkin.github.io/GALua/ (online). Accessed 30 Jan 2018
Perwass, C.: Geometric Algebra with Applications in Engineering. Geometry and Computing, vol. 4. Springer, Berlin (2009)
Perwass, C.: https://www.raytrix.de/downloads/ (online). Accessed 30 Jan 2018
Press, W.H.: Numerical Recipes. Cambridge University Press, Cambridge (2007)
Prodanov, D.: https://github.com/dprodanov/clifford (online). Accessed 30 Jan 2018
Prodanov, D., Toth, V.T.: Sparse representations of clifford and tensor algebras in maxima. Adv. Appl. Clifford Algebras 27(1), 661–683 (2017)
Richter-Gebert, J., Kortenkamp, U.: https://www.cinderella.de (online). Accessed 30 Jan 2018
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)
Sangwine, S.J., Hitzer, E.: Clifford multivector toolbox (for MATLAB). Adv. Appl. Clifford Algebras 27(1), 539–558 (2016)
Sangwine, S.J., Hitzer, E.: http://clifford-multivector-toolbox.sourceforge.net/ (online). Accessed 30 Jan 2018
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
Seybold, F.: https://sourceforge.net/projects/gaalet/ (online). Accessed 30 Jan 2018
Snygg, J.: A New Approach to Differential Geometry Using Clifford’s Geometric Algebra. Springer Science+Business Media, LLC, New York (2012)
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)
Sommer, G.: Geometric Computing with Clifford Algebras: Theoretical Foundations and Applications in Computer Vision and Robotics. Springer, Berlin (2001)
Sternberg, S.: Curvature in Mathematics and Physics. Dover Books on Mathematics. Dover Publications, Mineola (2012)
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
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)
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)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Leo Dorst.
Rights and permissions
About this article
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
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s00006-018-0827-1