Best pkg for symbolic mathematics at Julia

I am currently using Sympy.
The problem is that it was developed in Python.
An alternative is pkg SymEngine, which was developed in C ++.
My doubt is: is there a better Pkg than Sympy and SymEngine?

I use Nemo : https://nemocas.org/ This is a CAS (Computer Algebra System), not a “symbolic maths package”, but for my computations it’s always perfect.

4 Likes

ModelingToolkit.jl is the most similar right now in pure Julia. The CAS portions of it are being pulled out to a Symbolics.jl specifically for the CAS, but if you want to use it today a lot (but not all, not at all) is shown in the tutorial: https://mtk.sciml.ai/dev/tutorials/symbolic_functions/. It basically adds to SymbolicUtils.jl a bunch of stuff like differentiation, function building (“lambdify”), sparsity handling, function registering, etc. It has more than SymEngine and less than SymPy (in terms of a CAS. For symbolic-numerics it has a ton of unique stuff)

6 Likes

Reduce.jl and/or ModelingToolkit.jl may be places of interest for you.

I am currently using Sympy.
The problem is that it was developed in Python.

The fact that it’s Python is not the problem. Maybe it’s slow, but it’s also quite feature rich. You may not necessarily find everything you need in other Julia or C++ packages…

5 Likes

Symbolics.jl is now released: [ANN] Symbolics.jl: A Modern Computer Algebra System for a Modern Language

6 Likes