Skip to main content
Log in

Analytical-Numerical Implementation of Polyvector Algebra in Julia

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

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.

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.

Fig. 1.
Fig. 2.
Fig. 3.

Similar content being viewed by others

Notes

  1. 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

  1. Reed, M.E., Differential geometric algebra with Leibniz and Grassmann, Proc. JuliaCon, 2019, pp. 1–6.

    Google Scholar 

  2. Kostrikin, A.I., Lineinaya algebra (Linear Algebra), Moscow: MTsNMO, 2009, vol. 2.

  3. Dorst, L., Fontijne, D., and Mann, S., Geometric algebra for computer science (with errata), The Morgan Kaufmann Series in Computer Graphics, Morgan Kaufmann, 2007.

    Google Scholar 

  4. Lengyel, E., Mathematics, Lincoln: Terathon Software LLC, 2016, vol. 1.

    Google Scholar 

  5. Chisolm, E., Geometric algebra, 2012.

  6. Hitzer, E., Introduction to Clifford’s geometric algebra, 2012, vol. 51, no. 4, pp. 338–350.

  7. 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.

    Article  MathSciNet  Google Scholar 

  8. 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.

    Article  MathSciNet  Google Scholar 

  9. Bezanson, J., Karpinski, S., Shah, V.B., and Edelman, A., Julia: A fast dynamic language for technical computing, 2012, pp. 1–27.

  10. 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.

    Google Scholar 

  11. 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.

    MATH  Google Scholar 

  12. Kulyabov, D.S. and Korol’kova, A.V., Computer algebra in Julia, Program. Comput. Software, 2021, vol. 47, pp. 133–138.

    Article  MathSciNet  Google Scholar 

  13. Browne, J., Grassmann Algebra, CreateSpace, 2012, vol. 1.

    Google Scholar 

  14. Eastwood, M.G. and Michor, P., Some remarks on the Plücker relations, 2000, vol. 63, pp. 85–88.

  15. Kazanova, G., Vektornaya algebra (Vector Algebra), Polivanov, M.K., Ed., Moscow: Mir, 1979.

  16. Kuipers, J.B., Quaternions and Rotation Sequences, Princeton University Press, 2002.

    MATH  Google Scholar 

  17. Reed, M.E., Grassmann.jl documentation site, 2021. https://grassmann.crucialflow.com/stable.

  18. Reed, M.E., Grassmann.jl code, 2021. https://github.com/chakravala/Grassmann.jl.

Download references

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

Authors

Corresponding authors

Correspondence to M. N. Gevorkyan, A. V. Demidova, T. R. Velieva, A. V. Korol’kova or D. S. Kulyabov.

Ethics declarations

The authors declare that they have no conflicts of interest.

Additional information

Translated by Yu. Kornienko

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768822010054

Navigation