Maths

SymPy – symbolic mathematics and computer algebra library

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-learnMachine learning library for Python
NumPyCore package for scientific computing with Python
SciPyEcosystem for mathematics, science, and engineering.
statsmodelsStatistical modeling and econometrics
JAXPython library for high-performance numerical computing
SageMathComputer algebra system
SymPyLibrary for symbolic mathematics
PyMCBayesian statistical modeling and probabilistic programming
PyomoObject-oriented algebraic modeling language
patsyPackage for describing statistical models and to build design matrices
mpmathLibrary for arbitrary-precision floating-point arithmetic
SfePyFinite element software package

Read our verdict in the software roundup.

Computer Algebra Systems
ScilabNumerical computational package
MaximaSystem for the manipulation of symbolic and numerical expressions
OctavePowerful programming language with built-in plotting and visualization tools
SageMathOpen source alternative to Magma, Maple, Mathematica and Matlab
SymPyPython library for symbolic mathematics
SINGULARComputer Algebra System for polynomial computations
Macaulay2Software system for research in algebraic geometry
CadabraSymbolic computer algebra system for field theory problems
PARI/GPWidely used algebra system designed for fast computations in number theory
GAPSystem for computational discrete algebra
FriCASFork of Axiom
CoCoASystem for doing computations in commutative algebra
MathicsGeneral-purpose CAS with Mathematica-compatible syntax and functions
FORMSymbolic Manipulation System
NelsonNumerical computational language
wxMaximaGUI for the sublime Maxima CAS
XcasCross-platform mathematical environment
REDUCEGeneral-purpose computer algebra system for symbolic computation
OSCARComprehensive computer algebra system for advanced mathematics
AxiomGeneral purpose Computer Algebra system
SymjaComputer algebra system and symbolic mathematics library
CGSuiteFor research in combinatorial game theory
EigenmathCompact symbolic mathematics and computer algebra application

Read our verdict in the software roundup.


Best Free and Open Source Software 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.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted