Performance Analysis of Symbolic Algebra Libraries in the Julia Programming Language
In many scientific fields not only numerical methods, but also symbolic computations tools are used. However, due to the lack of research in the field of performance of symbolic manipulation libraries, it is often hard to determine the optimal software package or library for high-performance scientific research. The purpose of this work is to perform a comparative analysis of various computer algebra libraries for the Julia programming language in terms of computational performance. As part of this goal, a series of benchmarks were developed and carried using the Symbolicsjl, SymEngine.jl, SymPy.jl libraries. Each benchmark was designed to test different common use cases, such as manipulations with large symbolic expressions, differentiation, symbolic expansion, simplification and substitution. Results of each benchmark were analyzed, and the advantages and disadvantages of different libraries were explored. The source code of benchmarks was discussed, and different performance benchmarking features of these libraries were described. In the process of developing benchmarks, various features of computer algebra libraries were discovered, such as effective algorithms for large sum or product generators. The research showed that in most test cases, the SymEngine.jl library demonstrated the highest performance measures. In cases where SymEngine lacks features, SymPy.jl could be used for additional symbolic expression manipulation operations. The results of this paper could help researchers in different fields of science make an informed choice of software library for their tasks.
Authors
- Iu. N. Zgoda
Publication Details
- Journal
- INFORMACIONNYE TEHNOLOGII
- Published
- 2025-06-09
- DOI
- https://doi.org/10.17587/it.31.322-330
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00