Abstract
Geometric algebra is based on the works by Grassmann and Clifford. Its main objects of research are polyvectors (p-vectors) and multivectors. Polyvectors, together with the exterior product, implement the Grassmann algebra, while multivectors with the geometric product implement the Clifford algebra. Multivector algebra generalizes many operations and objects of analytic geometry and differential geometry (e.g., vector and mixed products, normal vectors and binormals, etc.) to the multidimensional case, as well as provides their geometric interpretation. Complex numbers and quaternions are isomorphic to multivectors of a special kind. This paper applies certain ideas of geometric algebra to solve problems that occur in computer geometry. For this purpose, the Grassmann.jl package for Julia is used.
Similar content being viewed by others
Notes
It should be noted, however, that the principle of one language in Julia initially implied the use of one language for both prototyping and developing high-performance programs [7].
REFERENCES
Reed, M.E., Differential geometric algebra with Leibniz and Grassmann, Proc. JuliaCon, 2019, pp. 1–6.
Kostrikin, A.I., Lineinaya algebra (Linear Algebra), Moscow: MTsNMO, 2009, vol. 2.
Dorst, L., Fontijne, D., and Mann, S., Geometric algebra for computer science (with errata), The Morgan Kaufmann Series in Computer Graphics, Morgan Kaufmann, 2007.
Lengyel, E., Mathematics, Lincoln: Terathon Software LLC, 2016, vol. 1.
Chisolm, E., Geometric algebra, 2012.
Hitzer, E., Introduction to Clifford’s geometric algebra, 2012, vol. 51, no. 4, pp. 338–350.
Bezanson, J., Edelman, A., Karpinski, S., and Shah, V.B., Julia: A fresh approach to numerical computing, SIAM Rev., 2017, vol. 59, no. 1, pp. 65–98.
Gevorkyan, M.N., Korol’kova, A.V., and Kulyabov, D.S., Using a template engine as a computer algebra tool, Program. Comput. Software, 2021, vol. 47, pp. 17–24.
Bezanson, J., Karpinski, S., Shah, V.B., and Edelman, A., Julia: A fast dynamic language for technical computing, 2012, pp. 1–27.
Gevorkyan, M.N., Demidova, A.V., Korolkova, A.V., and Kulyabov, D.S., Statistically significant performance testing of Julia scientific programming language, J. Phys.: Conf. Ser., 2019, vol. 1205, no. 1, p. 012017.
Gevorkyan, M.N., Korolkova, A.V., Kulyabov, D.S., and Lovetskiy, K.P., Statistically significant comparative performance testing of Julia and Fortran languages in case of Runge–Kutta methods, Numer. Methods Appl., Nikolov, G., Kolkovska, N., and Georgiev, K., Eds., Springer, 2018.
Kulyabov, D.S. and Korol’kova, A.V., Computer algebra in Julia, Program. Comput. Software, 2021, vol. 47, pp. 133–138.
Browne, J., Grassmann Algebra, CreateSpace, 2012, vol. 1.
Eastwood, M.G. and Michor, P., Some remarks on the Plücker relations, 2000, vol. 63, pp. 85–88.
Kazanova, G., Vektornaya algebra (Vector Algebra), Polivanov, M.K., Ed., Moscow: Mir, 1979.
Kuipers, J.B., Quaternions and Rotation Sequences, Princeton University Press, 2002.
Reed, M.E., Grassmann.jl documentation site, 2021. https://grassmann.crucialflow.com/stable.
Reed, M.E., Grassmann.jl code, 2021. https://github.com/chakravala/Grassmann.jl.
Funding
This work was supported by the RUDN University Strategic Academic Leadership Program (M.N. Gevorkyan and A.V. Demidova), the Russian Science Foundation, grant no. 19-71-30008 (T.R. Velieva), and the Russian Foundation for Basic Research, project no. 19-01-00645 (A.V. Korol’kova and D.S. Kulyabov).
Author information
Authors and Affiliations
Corresponding authors
Ethics declarations
The authors declare that they have no conflicts of interest.
Additional information
Translated by Yu. Kornienko
Rights and permissions
About this article
Cite this article
Gevorkyan, M.N., Demidova, A.V., Velieva, T.R. et al. Analytical-Numerical Implementation of Polyvector Algebra in Julia. Program Comput Soft 48, 49–58 (2022). https://doi.org/10.1134/S0361768822010054
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S0361768822010054