Discrete and Continuous Models and Applied Computational ScienceDiscrete and Continuous Models and Applied Computational Science2658-46702658-7149Peoples' Friendship University of Russia named after Patrice Lumumba (RUDN University)3301310.22363/2658-4670-2022-30-4-318-329Research ArticleImplementation of hyperbolic complex numbers in Julia languageKorolkovaAnna V.<p>Docent, Candidate of Sciences in Physics and Mathematics, Associate Professor of Department of Applied Probability and Informatics</p>korolkova-av@rudn.ruhttps://orcid.org/0000-0001-7141-7610GevorkyanMigran N.<p>Candidate of Sciences in Physics and Mathematics, Assistant Professor of Department of Applied Probability and Informatics</p>gevorkyan-mn@rudn.ruhttps://orcid.org/0000-0002-4834-4895KulyabovDmitry S.<p>Professor, Doctor of Sciences in Physics and Mathematics, Professor at the Department of Applied Probability and Informatics</p>kulyabov-ds@rudn.ruhttps://orcid.org/0000-0002-0877-7063Peoples’ Friendship University of Russia (RUDN University)Joint Institute for Nuclear Research2612202230431832926122022Copyright © 2022, Korolkova A.V., Gevorkyan M.N., Kulyabov D.S.2022<p style="text-align: justify;">Hyperbolic complex numbers are used in the description of hyperbolic spaces. One of the well-known examples of such spaces is the Minkowski space, which plays a leading role in the problems of the special theory of relativity and electrodynamics. However, such numbers are not very common in different programming languages. Of interest is the implementation of hyperbolic complex in scientific programming languages, in particular, in the Julia language. The Julia language is based on the concept of multiple dispatch. This concept is an extension of the concept of polymorphism for object-oriented programming languages. To implement hyperbolic complex numbers, the multiple dispatching approach of the Julia language was used. The result is a library that implements hyperbolic numbers. Based on the results of the study, we can conclude that the concept of multiple dispatching in scientific programming languages is convenient and natural.</p>Julia programming languagemultiple dispatchabstract data typestype conversionparametric structureshyperbolic complex numbersязык программирования Juliaмножественная диспетчеризацияабстрактные типы данныхконвертация типовпараметрические структурыгиперболические комплексные числа[J. Bezanson, A. Edelman, S. Karpinski, and V. B. Shah, “Julia: A fresh approach to numerical computing,” SIAM Review, vol. 59, no. 1, pp. 65- 98, Jan. 2017. DOI: 10.1137/141000671.][M. N. Gevorkyan, D. S. Kulyabov, and L. A. Sevastyanov, “Review of Julia programming language for scientific computing,” in The 6th International Conference “Distributed Computing and Grid-technologies in Science and Education”, 2014, p. 27.][T. E. Oliphant, Guide to NumPy, 2nd. CreateSpace Independent Publishing Platform, 2015.][F. Zappa Nardelli, J. Belyakova, A. Pelenitsyn, B. Chung, J. Bezanson, and J. Vitek, “Julia subtyping: a rational reconstruction,” Proceedings of the ACM on Programming Languages, vol. 2, no. OOPSLA, pp. 1-27, Oct. 2018. DOI: 10.1145/3276483.][K. Driesen, U. Hölzle, and J. Vitek, “Message dispatch on pipelined processors,” in ECOOP’95 - Object-Oriented Programming, 9th European Conference, Åarhus, Denmark, August 7-11, 1995 (Lecture Notes in Computer Science), M. Tokoro and R. Pareschi, Eds., Lecture Notes in Computer Science. Springer Berlin Heidelberg, 1995, vol. 952. DOI: 10.1007/3-540-49538-x_13.][R. Muschevici, A. Potanin, E. Tempero, and J. Noble, “Multiple dispatch in practice,” in OOPSLA’08: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, ACM Press, Oct. 2008, pp. 563-582. DOI: 10.1145/1449764.1449808.][S. Gowda, Y. Ma, A. Cheli, M. Gwóźzdź, V. B. Shah, A. Edelman, and C. Rackauckas, “High-performance symbolic-numerics via multiple dispatch,” ACM Communications in Computer Algebra, vol. 55, no. 3, pp. 92-96, Jan. 2022. DOI: 10.1145/3511528.3511535.][I. M. Yaglom, Complex numbers in Geometry. Academic Press, 1968, 243 pp.][I. M. Yaglom, B. A. Rozenfel’d, and E. U. Yasinskaya, “Projective metrics,” Russian Mathematical Surveys, vol. 19, no. 5, pp. 49-107, Oct. 1964. DOI: 10.1070/RM1964v019n05ABEH001159.][D. S. Kulyabov, A. V. Korolkova, and L. A. Sevastianov, Complex numbers for relativistic operations, Dec. 2021. DOI: 10.20944/ preprints202112.0094.v1.][D. S. Kulyabov, A. V. Korolkova, and M. N. Gevorkyan, “Hyperbolic numbers as Einstein numbers,” Journal of Physics: Conference Series, vol. 1557, 012027, pp. 012027.1-5, May 2020. DOI: 10.1088/17426596/1557/1/012027.][P. Fjelstad, “Extending special relativity via the perplex numbers,” American Journal of Physics, vol. 54, no. 5, pp. 416-422, May 1986. DOI: 10.1119/1.14605.][W. Band, “Comments on extending relativity via the perplex numbers,” American Journal of Physics, vol. 56, no. 5, pp. 469-469, May 1988. DOI: 10.1119/1.15582.][J. Rooney, “On the three types of complex number and planar transformations,” Environment and Planning B: Planning and Design, vol. 5, no. 1, pp. 89-99, 1978. DOI: 10.1068/b050089.][J. Rooney, “Generalised complex numbers in Mechanics,” in Advances on Theory and Practice of Robots and Manipulators, ser. Mechanisms and Machine Science, M. Ceccarelli and V. A. Glazunov, Eds., vol. 22, Cham: Springer International Publishing, 2014, pp. 55-62. DOI: 10.1007/9783-319-07058-2_7.][M. N. Gevorkyan, A. V. Korolkova, and D. S. Kulyabov, “Approaches to the implementation of generalized complex numbers in the Julia language,” in Workshop on information technology and scientific computing in the framework of the X International Conference Information and Telecommunication Technologies and Mathematical Modeling of High-Tech Systems (ITTMM-2020), ser. CEUR Workshop Proceedings, vol. 2639, Aachen, Apr. 2020, pp. 141-157.]