Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
ModelingToolkit.jl
An acausal modeling framework for automatically parallelized scientific machine learning (SciML) in Julia. A computer algebra system for integrated symbolics for physics-informed machine learning and automated transformations of differential equations
-
NeuralPDE.jl
Physics-Informed Neural Networks (PINN) Solvers of (Partial) Differential Equations for Scientific Machine Learning (SciML) accelerated simulation
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
The trouble with SymPy is it's, well, buggy. I tried it years ago and as soon as I got serious I quite quickly ran into problems that I reported, some of which I see they apparently still haven't gotten around to addressing. [1] [2]
Symbolic math is hard; they have my sympathies. I don't think I could do better. But as long as bugs like these exist, it's going to be hard to convince people to switch away from better tools like Mathematica.
[1] https://github.com/sympy/sympy/issues/12561
[2] https://github.com/sympy/sympy/issues/12562
Worth noting that Julia's SymPy binding [1] is pretty pretty nice to work with too. If anyone's looking for big Julia project, I think a symbolic math package written fully in Julia would be a really exciting development. As far as I know, there isn't one yet. The better-known symbolic math packages for Julia still use bindings to C++ (SymEngine.jl [2]) or Python (SymPy.jl, Symata.jl [3]).
[1] - https://github.com/JuliaPy/SymPy.jl
[3] - https://github.com/jlapeyre/Symata.jl
[2] - https://github.com/symengine/SymEngine.jl
ModelingToolkit.jl is a symbolic math package written fully in Julia (with a bunch of extra symbolic-numerics features)
https://github.com/SciML/ModelingToolkit.jl
It's more like SymEngine right now, though there's a good amount of simplification and equation solving built in. It's still growing, it's not at SymPy yet, but it's moving fast.
Here's the one I can find (might not have reported/written others so I don't recall them): https://github.com/scipy/scipy/issues/7332
What is great about ModelingToolkit.jl is how its used in practical ways for other packages. E.g. NeuralPDE.jl.
Compared to SymPy, I feel that it is less of a "how do I integrate this function" package and more about "how can I build this DSL" framework.
https://github.com/SciML/NeuralPDE.jl
https://github.com/jupyter/qtconsole
> The Qtconsole is a very lightweight application that largely feels like a terminal, but provides a number of enhancements only possible in a GUI, such as inline figures, proper multiline editing with syntax highlighting, graphical calltips, and more.