SymPy is a symbolic mathematics library for working with mathematical expressions in exact form. Unlike numerical libraries that primarily calculate approximate floating-point results, SymPy can manipulate mathematical objects symbolically and preserve relationships between variables.
The library provides computer algebra capabilities covering elementary algebra, calculus, number theory, linear algebra and more specialised mathematical disciplines. Expressions are represented as structured mathematical objects that can be transformed, simplified, analysed and combined.
SymPy is useful in education, mathematical research, engineering and scientific computing. It can solve equations, derive formulas, manipulate symbolic matrices and generate expressions suitable for numerical evaluation.
Its modular design also allows developers to use symbolic mathematics within other applications, including mathematical modelling tools, scientific workflows and code-generation systems.
This is free and open source software.
Key Features
- Symbolic expression manipulation including expansion, factorisation, substitution and simplification.
- Exact arithmetic with integers, rational numbers and symbolic constants.
- Assumptions system for recording and reasoning about mathematical properties of expressions.
- Symbolic differentiation, integration, limits and series expansions.
- Algebraic equation solving, systems of equations and inequality solving.
- Ordinary differential equations, recurrence relations and selected partial differential equation methods.
- Polynomial operations including factorisation, division, roots and Gröbner bases.
- Symbolic matrices with determinants, inverses, eigenvalues, eigenvectors and matrix decompositions.
- Number theory operations involving primes, divisibility, modular arithmetic and Diophantine equations.
- Combinatorics tools for permutations, partitions, groups and discrete mathematical structures.
- Symbolic probability distributions, random variables and statistical operations.
- Geometry tools for points, lines, circles, polygons and intersections.
- Physics modules covering mechanics, quantum mechanics, vectors, tensors and units.
- Expression parsing, pattern matching and custom mathematical functions.
- Two-dimensional and three-dimensional plotting of mathematical expressions.
- LaTeX, mathematical pretty-printing and code generation for numerical programs.
Website: www.sympy.org
Support:
Developer: SymPy Development Team
License: BSD 3-Clause ‘New’ or ‘Revised’ License
SymPy is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Python Mathematics Tools | |
|---|---|
| scikit-learn | Machine learning library for Python |
| NumPy | Core package for scientific computing with Python |
| SciPy | Ecosystem for mathematics, science, and engineering. |
| statsmodels | Statistical modeling and econometrics |
| JAX | Python library for high-performance numerical computing |
| SageMath | Computer algebra system |
| SymPy | Library for symbolic mathematics |
| PyMC | Bayesian statistical modeling and probabilistic programming |
| Pyomo | Object-oriented algebraic modeling language |
| patsy | Package for describing statistical models and to build design matrices |
| mpmath | Library for arbitrary-precision floating-point arithmetic |
| SfePy | Finite element software package |
Read our verdict in the software roundup.
| Computer Algebra Systems | |
|---|---|
| Scilab | Numerical computational package |
| Maxima | System for the manipulation of symbolic and numerical expressions |
| Octave | Powerful programming language with built-in plotting and visualization tools |
| SageMath | Open source alternative to Magma, Maple, Mathematica and Matlab |
| SymPy | Python library for symbolic mathematics |
| SINGULAR | Computer Algebra System for polynomial computations |
| Macaulay2 | Software system for research in algebraic geometry |
| Cadabra | Symbolic computer algebra system for field theory problems |
| PARI/GP | Widely used algebra system designed for fast computations in number theory |
| GAP | System for computational discrete algebra |
| FriCAS | Fork of Axiom |
| CoCoA | System for doing computations in commutative algebra |
| Mathics | General-purpose CAS with Mathematica-compatible syntax and functions |
| FORM | Symbolic Manipulation System |
| Nelson | Numerical computational language |
| wxMaxima | GUI for the sublime Maxima CAS |
| Xcas | Cross-platform mathematical environment |
| REDUCE | General-purpose computer algebra system for symbolic computation |
| OSCAR | Comprehensive computer algebra system for advanced mathematics |
| Axiom | General purpose Computer Algebra system |
| Symja | Computer algebra system and symbolic mathematics library |
| CGSuite | For research in combinatorial game theory |
| Eigenmath | Compact symbolic mathematics and computer algebra application |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.