. Listing-a, 1: Code example in CGA with Garamon

. //-authors, Stephane Breuils and Vincent Nozick // Contact: vincent.nozick@u-pem.fr class Mvec

, Compute the outer product between two homogeneous multivectors mv1 (grade 0) and mv2 (grade 0)

, /// \tparam the type of value that we manipulate, either float or double or something

, /// \param mv1 -the first homogeneous multivector of grade 0 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 0 represented as a Eigen::VectorXd /// \param mv3 -the result of mv1^mv2, p.0

, template<typename T> void outer_0_0(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2, Eigen::Matrix<T, Eigen::Dynamic, 1>& mv3){ mv3

, /// \param mv1 -the first homogeneous multivector of grade 0 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 1 represented as a Eigen::VectorXd /// \param mv3 -the result of mv1^mv2, p.1

, template<typename T> void outer_0_1(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2, Eigen::Matrix<T, Eigen::Dynamic, 1>& mv3){ mv3 += mv1

, /// \param mv1 -the first homogeneous multivector of grade 0 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 2 represented as a Eigen::VectorXd outer_0_2(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2

, /// \param mv1 -the first homogeneous multivector of grade 0 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 3 represented as a Eigen::VectorXd outer_0_3(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2

, /// \param mv1 -the first homogeneous multivector of grade 0 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 4 represented as a Eigen::VectorXd outer_0_4(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2

, /// \param mv1 -the first homogeneous multivector of grade 0 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 5 represented as a Eigen::VectorXd outer_0_5(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2

, /// \param mv1 -the first homogeneous multivector of grade 1 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 0 represented as a Eigen::VectorXd outer_1_0(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2

, /// \param mv1 -the first homogeneous multivector of grade 1 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 1 represented as a Eigen::VectorXd outer_1_1(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2, Eigen::Matrix<T, Eigen::Dynamic, 1>& mv3){ mv3

, /// \param mv1 -the first homogeneous multivector of grade 1 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 2 represented as a Eigen::VectorXd outer_1_2(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2, Eigen::Matrix<T, Eigen::Dynamic, 1>& mv3){ mv3.coeffRef(0) += mv1.coeff(0)*mv2

, ) += mv1.coeff(0)*mv2.coeff(6) -mv1.coeff(1)*mv2.coeff(3) + mv1

, ) += mv1.coeff(1)*mv2.coeff(8) -mv1.coeff(2)*mv2.coeff(6) + mv1

, += mv1.coeff(2)*mv2.coeff(9) -mv1.coeff(3)*mv2.coeff(8) + mv1

, /// \param mv1 -the first homogeneous multivector of grade 1 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 3 represented as a Eigen::VectorXd outer_1_3(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2, Eigen::Matrix<T

, coeff(7) -mv1.coeff(1)*mv2.coeff(4) + mv1.coeff(2)*mv2.coeff(2) -mv1, mv3.coeffRef(1) += mv1.coeff(0)*mv2

, ) += mv1.coeff(0)*mv2.coeff(8) -mv1.coeff(1)*mv2.coeff(5) + mv1.coeff(3)*mv2.coeff(2) -mv1

, /// \param mv1 -the first homogeneous multivector of grade 1 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 4 represented as a Eigen::VectorXd outer_1_4(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2, Eigen::Matrix<T, Eigen::Dynamic, 1>& mv3){ mv3

, /// \param mv1 -the first homogeneous multivector of grade 2 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 0 represented as a Eigen::VectorXd outer_2_0(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2

, /// \param mv1 -the first homogeneous multivector of grade 2 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 1 represented as a Eigen::VectorXd outer_2_1(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2, Eigen::Matrix<T, Eigen::Dynamic, 1>& mv3){ mv3.coeffRef(0) += mv1

, /// \param mv1 -the first homogeneous multivector of grade 2 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 2 represented as a Eigen::VectorXd outer_2_2(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2, Eigen::Matrix<T, Eigen::Dynamic, 1>& mv3){ mv3

, coeff(8) -mv1.coeff(1)*mv2.coeff(6) + mv1.coeff(3)*mv2.coeff(4) + mv1, mv3.coeffRef(1) += mv1.coeff(0)*mv2

, )*mv2.coeff(6) + mv1.coeff(3)*mv2.coeff(5) + mv1.coeff(5)*mv2.coeff(3) -mv1.coeff(6)*mv2.coeff(2) + mv1

, coeff(1)*mv2.coeff(9) -mv1.coeff(2)*mv2.coeff(8) + mv1.coeff(3)*mv2.coeff(7) + mv1

, /// \param mv1 -the first homogeneous multivector of grade 2 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 3 represented as a Eigen::VectorXd outer_2_3(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2, Eigen::Matrix<T, Eigen::Dynamic, 1>& mv3){

, coeff(5) -mv1.coeff(5)*mv2.coeff(4) + mv1.coeff(6)*mv2.coeff(3) + mv1.coeff(7)*mv2.coeff(2) -mv1.coeff(8)*mv2, + mv1.coeff(4)*mv2

, /// \param mv1 -the first homogeneous multivector of grade 3 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 0 represented as a Eigen::VectorXd outer_3_0(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2

, /// \param mv1 -the first homogeneous multivector of grade 3 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 1 represented as a Eigen::VectorXd outer_3_1(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2, Eigen::Matrix<T

, Eigen::Matrix<T, Eigen::Dynamic, 1>& mv3){ mv3.coeffRef(0) += mv1.coeff(0)*mv2.coeff(9) -mv1.coeff(1)*mv2.coeff(8) + mv1, /// \param mv1 -the first homogeneous multivector of grade 3 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 2 represented as a Eigen::VectorXd outer_3_2(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2

, /// \param mv1 -the first homogeneous multivector of grade 4 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 0 represented as a Eigen::VectorXd outer_4_0(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2

, /// \param mv1 -the first homogeneous multivector of grade 4 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 1 represented as a Eigen::VectorXd outer_4_1(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2, Eigen::Matrix<T, Eigen::Dynamic, 1>& mv3){ mv3

, /// \param mv1 -the first homogeneous multivector of grade 5 represented as an Eigen::VectorXd /// \param mv2 -the second homogeneous multivector of grade 0 represented as a Eigen::VectorXd outer_5_0(const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv1, const Eigen::Matrix<T, Eigen::Dynamic, 1>& mv2

. {}, . {}, . {}, . {}, . {} et al., Dynamic,1> &, const Eigen::Matrix<T, Eigen::Dynamic,1>&, Eigen::Matrix<T,Eigen::Dynamic,1>&)>,6>,6> outerFunctionsContainer={{ {{outer_0_0<T>

R. Ab?amowicz and B. Fauser, On Parallelizing the Clifford Algebra Product for CLIFFORD, Advances in Applied Clifford Algebras, vol.24, pp.1661-4909, 2014.

R. Ab?amowicz and B. Fauser, Using periodicity theorems for computations in higher dimensional Clifford algebras, Advances in Applied Clifford Algebras, vol.24, pp.569-587, 2014.

W. Benger and W. Dobler, Massive Geometric Algebra: Visions for C++ implementations of geometric algebra to scale into the big data era, Advances in Applied Clifford Algebras, vol.27, pp.2153-2174, 2017.

W. Benger, R. Heinzl, D. Hildenbrand, T. Weinkauf, H. Theisel et al., Differential Methods for Multidimensional Visual Data Analysis, Handbook of Mathematical Methods in Imaging, pp.1-56, 2014.

S. Breuils, V. Nozick, and L. Fuchs, A Geometric Algebra Implementation using Binary Tree, Advances in Applied Clifford Algebras, vol.27, pp.1661-4909, 2017.
URL : https://hal.archives-ouvertes.fr/hal-01510078

S. Breuils, V. Nozick, L. Fuchs, D. Hildenbrand, W. Benger et al., A Hybrid Approach for Computing Products of High-dimensional Geometric Algebras, Proceedings of the Computer Graphics International Conference, EN-GAGE. CGI '17. Hiyoshi, vol.43, 2017.
URL : https://hal.archives-ouvertes.fr/hal-01552462

S. Breuils, V. Nozick, A. Sugimoto, and E. Hitzer, Quadric Conformal Geometric Algebra of R 9, Advances in Applied Clifford Algebras, vol.6, pp.1661-4909, 2018.
URL : https://hal.archives-ouvertes.fr/hal-01767230

A. Bromborsky and . Galgebra, , pp.2017-2021

S. Buchholz, K. Tachibana, . Eckhard, and . Hitzer, Optimal learning rates for Clifford neurons, International conference on artificial neural networks, pp.864-873, 2007.
DOI : 10.1007/978-3-540-74690-4_88

F. Cellier, P. Gandoin, and R. Chaine, Simplification and streaming of GIS terrain for web clients, Proceedings of the 17th International Conference on 3D Web Technology, pp.73-81, 2012.
DOI : 10.1145/2338714.2338726

URL : https://hal.archives-ouvertes.fr/hal-01353037

M. James, A. Chappell, . Iqbal, G. John, D. Hartnett et al., The vector algebra war: a historical perspective, IEEE Access, vol.4, pp.1997-2004, 2016.

P. Charrier, M. Klimek, C. Steinmetz, and D. Hildenbrand, Geometric algebra enhanced precompiler for C++, OpenCL and Mathematica's OpenCLLink, Advances in Applied Clifford Algebras, vol.24, pp.613-630, 2014.
DOI : 10.1007/s00006-014-0443-7

P. Clifford, Applications of Grassmann's Extensive Algebra, American Journal of Mathematics, vol.1, p.29327, 1878.
DOI : 10.2307/2369379

P. Colapinto, Spatial computing with conformal geometric algebra, 2011.

J. Michael and . Crowe, A history of vector analysis: The evolution of the idea of a vectorial system, Courier Corporation, 1994.

R. De and L. Briandais, File Searching Using Variable Length Keys, Western Joint Computer Conference. IRE-AIEE-ACM '59, pp.295-298, 1959.

. Erik-d-demaine, Cache-oblivious algorithms and data structures, Lecture Notes from the EEF Summer School on Massive Data Sets, vol.8, pp.1-249, 2002.

M. Paul-adrien and . Dirac, The quantum theory of the electron, Proc. R. Soc. Lond. A, vol.117, pp.610-624, 1928.

C. Doran and A. Lasenby, Geometric Algebra for Physicists, 2003.
DOI : 10.1017/cbo9780511807497

C. Doran, D. Hestenes, F. Sommen, and N. V. Acker, Lie groups as spin groups, Journal of Mathematical Physics, vol.34, pp.3642-3669, 1993.
DOI : 10.1063/1.530050

L. Dorst, 3D Oriented Projective Geometry Through Versors of R 3,3, Advances in Applied Clifford Algebras, vol.26, pp.1137-1172, 2016.

L. Dorst, The inner products of geometric algebra, Applications of Geometric Algebra in Computer Science and Engineering, pp.35-46, 2002.

L. Dorst, D. Fontijne, and S. Mann, Geometric Algebra for Computer Science, An Object-Oriented Approach to Geometry, 2007.
DOI : 10.1145/1466390.1466396

L. Dorst, R. Van-den, and . Boomgaard, An analytical theory of mathematical morphology, Mathematical Morphology and its Applications to Signal Processing, pp.245-250, 1993.

L. Druoton, L. Fuchs, L. Garnier, and R. Langevin, The Non-Degenerate Dupin Cyclides in the Space of Spheres Using Geometric Algebra, Advances in Applied Clifford Algebras, vol.24, pp.1661-4909, 2014.
URL : https://hal.archives-ouvertes.fr/hal-01288698

J. Du, R. Goldman, and S. Mann, Modeling 3D Geometry in the Clifford Algebra R 4,4, Advances in Applied Clifford Algebras, vol.27, pp.1661-4909, 2017.

R. Easter, . Benjamin, and E. Hitzer, Double conformal geometric algebra, Advances in Applied Clifford Algebras, vol.27, pp.2175-2199, 2017.
DOI : 10.1007/s00006-017-0784-0

R. Easter, . Benjamin, and E. Hitzer, Triple conformal geometric algebra for cubic plane curves, Mathematical Methods in the Applied Sciences, pp.1099-1476, 2017.

Y. Edel and . Klein, Population count in arrays, p.95, 2009.

A. Hosney and A. Eid, Optimized Automatic Code Generation for Geometric Algebra Based Algorithms with Ray Tracing Application, 2016.

A. Hosny and E. , An Extended Implementation Framework for Geometric Algebra Operations on Systems of Coordinate Frames of Arbitrary Signature, Advances in Applied Clifford Algebras, vol.28, pp.1661-4909, 2018.

D. Fontijne, Efficient Implementation of Geometric Algebra, 2007.

D. Fontijne, Gaigen 2:: a geometric algebra implementation generator, Proceedings of the 5th international conference on Generative programming and component engineering, pp.141-150, 2006.

D. Fontijne, Gaigen 2.5 User Manual
DOI : 10.1145/1173706.1173728

D. Fontijne, L. Dorst, T. Bouma, and S. Mann, GAviewer, interactive visualization software for geometric algebra, 2010.

L. Fuchs and L. Théry, Implementing geometric algebra products with binary trees, Advances in Applied Clifford Algebras, vol.24, pp.589-611, 2014.
DOI : 10.1007/s00006-014-0447-3

URL : https://hal.archives-ouvertes.fr/hal-01095495

S. Andrew and . Glassner, An introduction to ray tracing, 1989.

R. Goldman and S. Mann, R(4, 4) As a Computational Framework for 3-Dimensional Computer Graphics, Advances in Applied Clifford Algebras, vol.25, pp.1661-4909, 2015.
DOI : 10.1007/s00006-014-0480-2

H. Grassmann, Die lineale Ausdehungslehre: ein neuer Zweig der Mathematik, dargestellt und durch Anwendungen auf die übrigen Zweige der Mathematik, wie auch die Statik, Mechanik, die Lehre von Magnetismus und der Krystallonomie erläutert, 1844.
DOI : 10.1017/cbo9781139237352

A. Gregory, J. Lasenby, and A. Agarwal, The elastic theory of shells using geometric algebra, Royal Society open science, vol.4, p.170065, 2017.

G. Guennebaud and B. Jacob, Eigen v3, 2010.

H. William-rowan, On quaternions; or on a new system of imaginaries in algebra, The London, vol.33, pp.58-60, 1848.

D. Hestenes, Grassmann's vision, Visionary Mathematician, pp.243-254, 1996.

D. Hestenes, New foundations for classical mechanics, vol.15, 2012.
DOI : 10.1119/1.16386

D. Hestenes, Oersted Medal Lecture 2002: Reforming the mathematical language of physics, 2003.
DOI : 10.1119/1.1522700

D. Hestenes, Space-time algebra, vol.1, 1966.

D. Hestenes, The zitterbewegung interpretation of quantum mechanics, Foundations of Physics, vol.20, pp.1572-9516, 1990.

D. Hestenes and G. Sobczyk, Clifford algebra to geometric calculus: a unified language for mathematics and physics, vol.5, 2012.

D. Hildenbrand, Foundations of Geometric Algebra Computing, 2013.

D. Hildenbrand, W. Benger, and Y. Zhaoyuan, Analyzing the inner product of 2 circles with Gaalop, Mathematical Methods in the Applied Sciences, vol.41, issue.11, pp.4049-4062, 2018.

D. Hildenbrand, C. Perwass, L. Dorst, and D. Fontijne, Geometric Algebra and its Application to Computer Graphics, Eurographics 2004 -Tutorials. Eurographics Association, 2004.

E. Hitzer, Geometric operations implemented by conformal geometric algebra neural nodes, 2013.

E. Hitzer, Relativistic physics as application of geometric algebra, Proceedings of the International Conference on Relativity, pp.71-90, 2005.

E. Hitzer, K. Tachibana, S. Buchholz, and I. Yu, Carrier Method for the General Evaluation and Control of Pose, Molecular Conformation, Tracking, and the Like, Advances in Applied Clifford Algebras, vol.19, pp.339-364, 2009.

K. Kanatani, Understanding Geometric Algebra: Hamilton, Grassmann, and Clifford for Computer Vision and Graphics, p.9781482259506, 2015.

D. Klawitter, A Clifford algebraic approach to line geometry, Advances in Applied Clifford Algebras, vol.24, pp.713-736, 2014.

A. N. Lasenby, J. Lasenby, and R. J. Wareham, A Covariant Approach to Geometry and its Applications in Computer Graphics, 2002.

J. Lasenby and A. Stevenson, Using geometric algebra for optical motion capture, Geometric Algebra with Applications in Science and Engineering, pp.147-169, 2001.

P. Leopardi, A generalized FFT for Clifford algebras, Bulletin of Belgian Mathematical Society, vol.11, pp.663-688, 2004.

P. Leopardi, GluCat: Generic library of universal Clifford algebra templates

A. Lipowski and D. Lipowska, Roulette-wheel selection via stochastic acceptance, Physica A: Statistical Mechanics and its Applications, vol.391, pp.2193-2196, 2012.

Y. Liu, P. Xu, J. Lu, and J. Liang, Global stability of Clifford-valued recurrent neural networks with time delays, Nonlinear Dynamics, vol.84, pp.767-777, 2016.

W. Luo, Y. Hu, Z. Yu, L. Yuan, and G. Lü, A Hierarchical Representation and Computation Scheme of Arbitrary-dimensional Geometrical Primitives Based on CGA, Advances in Applied Clifford Algebras, vol.27, pp.1977-1995, 2017.

S. Mann, L. Dorst, and T. Bouma, The making of a geometric algebra package in Matlab, 1999.

V. Marinkovi´cmarinkovi´c, P. Jani?i´jani?i´c, and P. Schreck, Computer theorem proving for verifiable solving of geometric construction problems, International Workshop on Automated Deduction in Geometry, pp.72-93, 2014.

J. Maxwell, , vol.1, p.1881

H. Minkowski, Die Grundgleichungen für die elektromagnetischen Vorgänge in bewegten Körpern, Mathematische Annalen, vol.68, pp.472-525, 1910.

P. Ngo, N. Passat, Y. Kenmochi, and I. Debled-rennesson, Geometric preservation of 2D digital objects under rigid motions, Journal of Mathematical Imaging and Vision, 2018.
URL : https://hal.archives-ouvertes.fr/hal-01695370

M. Papaefthymiou and G. Papagiannakis, Real-time rendering under distant illumination with conformal geometric algebra, Mathematical Methods in the Applied Sciences, 2017.

. Spencer-t-parkin, A model for quadric surfaces using geometric algebra, Unpublished, October, 2012.

. Spencer-t-parkin and . Galua, , pp.2017-2021

C. Perwass, CLUCal/CLUViz Interactive Visualization

C. Perwass, Geometric algebra with applications in engineering, vol.4, pp.9783540890676-354089067, 2009.

D. Prodanov, Clifford Algebra Implementation in Maxima, Alterman Conference on Geometric Algebra and Summer School on Kahler Calculus, 2016.

E. Roa, V. Theoktisto, M. Fairén, and I. Navazo, GPU collision detection in conformal geometric space, V Ibero-American symposium in computer graphics SIACG, pp.153-157, 2011.

J. Stephen, E. Sangwine, and . Hitzer, Clifford Multivector Toolbox (for MATLAB), Advances in Applied Clifford Algebras, vol.27, pp.1661-4909, 2017.

F. Sekiya and A. Sugimoto, On properties of analytical approximation for discretizing 2D curves and 3D surfaces, Mathematical Morphology-Theory and Applications, vol.2, pp.25-34, 2017.

F. Seybold and . Wössner, Gaalet-a C++ expression template library for implementing geometric algebra, 6th High-End Visualization Workshop, 2010.

A. Soiguine, Anyons in three dimensions with geometric algebra, 2016.

G. Sommer, Geometric computing with Clifford algebras: theoretical foundations and applications in computer vision and robotics, 2013.

J. Suter, Geometric algebra primer, Self-published on personal website, 2003.

G. Tzoumas, D. Michelucci, and S. Foufou, Extending CSG with projections: Towards formally certified geometric modeling, Computer-Aided Design, vol.66, pp.45-54, 2015.
URL : https://hal.archives-ouvertes.fr/hal-01205752

J. Vince, Geometric algebra for computer graphics, 2008.

L. Yuan, Z. Yu, W. Luo, J. Zhang, and Y. Hu, Clifford algebra method for network expression, computation, and algorithm construction, Mathematical Methods in the Applied Sciences, vol.37, pp.1428-1435, 2014.

J. Zamora-esquivel, Geometric Algebra; Description and Implementation, Advances in Applied Clifford Algebras, vol.6, pp.1661-4909, 2014.

S. Zhu, S. Yuan, D. Li, W. Luo, L. Yuan et al., MVTree for Hierarchical Network Representation Based on Geometric Algebra Subspace, Advances in Applied Clifford Algebras, vol.28, p.39, 2018.
DOI : 10.1007/s00006-018-0855-x