Choosing the optimal programming language for the generation of mathematical problems
https://doi.org/10.25205/1818-7900-2024-22-3-15-27
Abstract
This paper compares mathematical libraries of web programming languages JavaScript, PHP, Python to create generators in the field of some topics of mathematical analysis and computational mathematics.
The main objective of the study is to conduct an experiment with a given set of tasks, using the libraries Math.js, Algebrite, Nerdamer, MathPHP, NumPy, SymPy, SciPy to determine the optimal functionality and performance for performing character and numerical computing.
The experimental study was carried out with the help of the libraries listed, where the corresponding tasks were computed with the measurement of their speed. A comparative analysis of the obtained results of the study is given. The main problems that arose during the experiment in different libraries are shown. The obtained results can be used by developers and researchers who are involved in the design and implementation of generators of mathematical problems. In the process of work it is identified that JavaScript and PHP libraries do not fully support all functions for creating generators of mathematical problems. Python was much more efficient in both symbolic and numerical calculations.
About the Author
D. V. VinokurovaRussian Federation
Darya V. Vinokurova, PhD Student
St. Petersburg
References
1. Vinokurova D. V. Method of Generating Unique Variants for Mathematical Problems. Computer tools in education, 2024, no. 1, pp. 71–84 (in Russ.); DOI: 10.32603/2071-2340-2024-1-100
2. Zorin Y. A. Automation of multivariate test case construction based on AND/OR trees. Cand. Sc. diss., TUSUR, Tomsk, 2014. (in Russ.)
3. Posov I. A. Automating the development and use of multivariate training tasks. Cand. Sc. diss., SPbSU, St. Petersburg, 2012. (in Russ.).
4. Ivanova N. A. Possible areas of application of Mathematica programming resources in solving mathematical problems. Vestnik Baltijskogo federal’nogo universiteta im. I. Kanta. Seriya: Filologiya, pedagogika, psihologiya, 2012, no. 5, pз. 155–160. (in Russ.)
5. Sosnovskij N. N. Development of methodical materialsin the environment of “mathematica”. Computer tools in education, 2015, no. 5, pз. 53–60. (in Russ.)
6. Vinokurova D. V. Program module “Finding the location of roots of a quadratic equation with a parameter”. Version 1.0. Apr. 25, 2023. (in Russ.)
7. Gilev P. A., Kazankov V. K., Tabieva A. V. Automatic generation and verification of problems on disciplines of mathematical cycle in higher school. Modern Pedagogical Education, 2022, no. 11, pз. 142–147. (in Russ.)
8. De Jong J., Mansfield E. Math.Js: An Advanced Mathematics Library For JavaScript. Computing in Science & Engineering, 2018, vol. 20, no. 1, pp. 20–32. DOI: 10.1109/mcse.2018.011111122
9. Ranjani J., Sheela A., Meena K. P. Combination of NumPy, SciPy and Matplotlib/Pylab – a good alternative methodology to MATLAB – A Comparative analysis. 1<sup>st</sup> International Conference on Innovations in Information and Communication Technology (ICIICT), 2019. DOI: 10.1109/ICIICT1.2019.8741475
10. Vinokurova D. V. Experimental study of the performance of mathematical libraries of Java-Script, PHP and Python languages. Zenodo, 2024. DOI: 10.5281/zenodo.11402820. (in Russ.)
11. Kuznetsov L. A. Collection of tasks in higher mathematics (typical calculations). Moscow, Vysshaya Shkola publ., 1994. (in Russ.)
12. Zenkov A. V. Computational mathematics for IT specialties : a textbook. Moscow; Vologda, Infra-Inzheneriya publ., 2022. (in Russ.)
13. Zaliznyak V. E., Shchepanovskaya G. I. Theory and practice in computational mathematics: a textbook. Krasnoyarsk, Siberian Federal University publ., 2012. (in Russ.)
Review
For citations:
Vinokurova D.V. Choosing the optimal programming language for the generation of mathematical problems. Vestnik NSU. Series: Information Technologies. 2024;22(3):15-27. (In Russ.) https://doi.org/10.25205/1818-7900-2024-22-3-15-27