SymPy Logo SymPy

Why SymPy

SymPy is…

  • Free: Licensed under BSD, SymPy is free both as in speech and as in beer.
  • Python-based: SymPy is written entirely in Python and uses Python for its language.
  • Lightweight: SymPy only depends on mpmath, a pure Python library for arbitrary floating point arithmetic, making it easy to use.
  • A library: Beyond use as an interactive tool, SymPy can be embedded in other applications and extended with custom functions.

See SymPy's features

Projects using SymPy

This is an (incomplete) list of projects that use SymPy. If you use SymPy in your project, please let us know on our mailinglist, so that we can add your project here as well.

  • Cadabra: Tensor algebra and (quantum) field theory system using SymPy for scalar algebra.
  • ChemPy: A package useful for chemistry written in Python.
  • devito: A symbolic DSL and just-in-time compiler for high performance stencil computation.
  • EinsteinPy: A Python package for symbolic and numerical General Relativity.
  • galgebra: Geometric algebra (previously sympy.galgebra).
  • LaTeX Expression project: Easy LaTeX typesetting of algebraic expressions in symbolic form with automatic substitution and result computation).
  • Lcapy: Experimental Python package for teaching linear circuit analysis.
  • OctSymPy: A Symbolic Package for Octave using SymPy.
  • Optlang: A Python package for solving mathematical optimization problems.
  • PyDy: Multibody dynamics in Python.
  • pyneqsys: Solve symbolically defined systems of non-linear equations numerically.
  • pyodesys: Straightforward numerical integration of ODE systems from Python.
  • PyTorch TorchInductor: TorchInductor uses SymPy to support dynamic shapes and strides.
  • QMCPACK: Quantum Monte Carlo in C++. Sympy is used to generate reference values for unit tests and some code generation.
  • Quantum Programming in Python: Quantum 1D Simple Harmonic Oscillator and Quantum Mapping Gate.
  • SageMath: Open source mathematics system that includes SymPy.
  • Scikit-fdiff: Finite differences discretization.
  • SfePy: Simple finite elements in Python.
  • Spyder: The Scientific Python Development Environment, a Python equivalent to Rstudio or MATLAB; full SymPy support can be enabled in Spyder's IPython Consoles.
  • Symbolic statistical modeling: Adding statistical operations to complex physical models.
  • yt: Python package for analyzing and visualizing volumetric data (unyt, the yt unit system, uses SymPy).