SymPy
SymPy.jl
Our great sponsors
SymPy | SymPy.jl | |
---|---|---|
34 | 5 | |
12,384 | 254 | |
4.0% | 0.0% | |
10.0 | 6.9 | |
2 days ago | 5 months ago | |
Python | Julia | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
SymPy
-
AutoCodeRover resolves 22% of real-world GitHub in SWE-bench lite
Thank you for your interest. There are some interesting examples in the SWE-bench-lite benchmark which are resolved by AutoCodeRover:
- From sympy: https://github.com/sympy/sympy/issues/13643. AutoCodeRover's patch for it: https://github.com/nus-apr/auto-code-rover/blob/main/results...
- Another one from scikit-learn: https://github.com/scikit-learn/scikit-learn/issues/13070. AutoCodeRover's patch (https://github.com/nus-apr/auto-code-rover/blob/main/results...) modified a few lines below (compared to the developer patch) and wrote a different comment.
There are more examples in the results directory (https://github.com/nus-apr/auto-code-rover/tree/main/results).
-
SymPy: Symbolic Mathematics in Python
That's interesting. You should consider yourself lucky to have met Wolfram employees, as they are obviously vastly outnumbered by users of Mathematica.
I have not met any developers for either of these products but I know that SymPy has a huge list of contributors for a project of its size. See: https://github.com/sympy/sympy/blob/master/AUTHORS
You may not be hearing about SymPy users because SymPy is not a monolithic product. It is a library. If you know mathematicians big into using Python, they are probably aware of SymPy as it is the main attraction when it comes to symbolic computation in Python.
- Matrix Cookbook examples using SymPy
-
Fast Symbolic Computation for Robotics
https://github.com/sympy/sympy/issues/9479 suggests that multivariate inequalities are still unsolved in SymPy, though it looks like https://github.com/sympy/sympy/pull/21687 was merged in August. This probably isn't yet implemented in C++ in SymForce yet?
-
Solving a simple puzzle using SymPy
bug report opened https://github.com/sympy/sympy/issues/25507
-
Stem Formulas
https://news.ycombinator.com/item?id=36463580
From https://news.ycombinator.com/item?id=36159017 :
> sympy.utilities.lambdify.lambdify() https://github.com/sympy/sympy/blob/a76b02fcd3a8b7f79b3a88df... :
>> """Convert a SymPy expression into a function that allows for fast numeric evaluation [with the CPython math module, mpmath, NumPy, SciPy, CuPy, JAX, TensorFlow, SymPy, numexpr,]*
From https://westurner.github.io/hnlog/#comment-19084622 :
> "latex2sympy parses LaTeX math expressions and converts it into the equivalent SymPy form" and is now merged into SymPy master and callable with sympy.parsing.latex.parse_latex(). It requires antlr-python-runtime to be installed. https://github.com/augustt198/latex2sympy https://github.com/sympy/sympy/pull/13706
ENH: 'generate a Jupyter notebook' (nbformat .ipynb JSON) function from this stem formula
-
Vectorization: Introduction
https://en.wikipedia.org/wiki/Vectorization :
> Array programming, a style of computer programming where operations are applied to whole arrays instead of individual elements
> Automatic vectorization, a compiler optimization that transforms loops to vector operations
> Image tracing, the creation of vector from raster graphics
> Word embedding, mapping words to vectors, in natural language processing
> Vectorization (mathematics), a linear transformation which converts a matrix into a column vector
Vector (disambiguation) https://en.wikipedia.org/wiki/Vector
> Vector (mathematics and physics):
> Row and column vectors, single row or column matrices
> Vector space
> Vector field, a vector for each point
And then there are a number of CS usages of the word vector for 1D arrays.
Compute kernel: https://en.m.wikipedia.org/wiki/Compute_kernel
GPGPU > Vectorization, Stream Processing > Compute kernels: https://en.wikipedia.org/wiki/General-purpose_computing_on_g...
sympy.utilities.lambdify.lambdify() https://github.com/sympy/sympy/blob/a76b02fcd3a8b7f79b3a88df... :
> """Convert a SymPy expression into a function that allows for fast numeric evaluation [with the CPython math module, mpmath, NumPy, SciPy, CuPy, JAX, TensorFlow, SymPt, numexpr,]
pyorch lambdify PR, sympytorch: https://github.com/sympy/sympy/pull/20516#issuecomment-78428...
Sympytorch:
> Turn SymPy expressions into PyTorch Modules.
> SymPy floats (optionally) become trainable parameters. SymPy symbols are inputs to the Module.
sympy2jax https://github.com/MilesCranmer/sympy2jax :
> Turn SymPy expressions into parametrized, differentiable, vectorizable, JAX functions.
> All SymPy floats become trainable input parameters. SymPy symbols become columns of a passed matrix.
-
Has anyone solved the prime number problem on SPOJ yet using pure python?
Look at sympy.isprime for a carefully-optimized pure-Python solution (though if gmpy2 is installed, which it usually is, it will use that instead after trying the easiest cases)
- What can I contribute to SciPy (or other) with my pure math skill? I’m pen and paper mathematician
- Quantum Monism Could Save the Soul of Physics
SymPy.jl
- Symbolic differentiation in Julia?
-
Converting Symbolics.jl Objects to SymPy.jl Objects
I am working on a project which involves calculating the inverse for matrices with symbolic entries. I am using Symbolics.jl to create the symbolic entries. While Symbolics.jl has been great for computing things like determinants and simplifying their results very quickly, there is a lack of finer-grain expression manipulation commands in the module, and thus I would like to convert my symbolic.jl objects to ones readable with SymPy.jl.
-
SymPy.jl to calculate the Characteristic polynomial?
This code no longer works! Can I use use SymPy.jl (e.g. A.charpoly() of sage) instead to calculate the char polynomial?
-
Packages for basic quantum mechanics?
You can even just import SymPy into Julia and use that for symbolic computation https://github.com/JuliaPy/SymPy.jl
-
Doing Symbolic Math with SymPy
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
What are some alternatives?
SciPy - SciPy library main repository
Symata.jl - language for symbolic mathematics
NumPy - The fundamental package for scientific computing with Python.
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
Pandas - Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more
Numba - NumPy aware dynamic Python compiler using LLVM
SymEngine.jl - Julia wrappers of SymEngine
NetworkX - Network Analysis in Python
NeuralPDE.jl - Physics-Informed Neural Networks (PINN) Solvers of (Partial) Differential Equations for Scientific Machine Learning (SciML) accelerated simulation
ti84-forth - A Forth implementation for the TI-84+ calculator.
Ndless - The TI-Nspire calculator extension for native applications