Skip to content



SymPy is a Python library for symbolic math.

In symbolic math, symbols are used to represent mathematical expressions. An example of a symbolic math expression is below.

x^{2} + y^{2} = z

The expression contains the symbols x, y, and z.

If we define a second symbolic math expression:

x = a + b

then we can substitue in a + b for x.

The result is the expression:

(a + b)^{2} + y^{2} = z
a^{2} + 2ab + b^{2} + y^{2} = z

Solving for y in terms of a,b and z, results in:

y = \sqrt{z - a^{2} - 2ab - b^{2}}

In the symbolic math substitution above, symbolic math variables were rearranged, grouped and inserted. None of the variables were equal to a specific number, like 5 or 0.001, but you can still solve for one variable in terms on the other variables. If we have numerical values for z, a and b, we can use Python to calculate the value of y.

But if we don't have numerical values for z, a and b, Python and the SymPy package can be used to rearrange terms and solve for one variable in terms of the other.

Working with mathematical symbols in a programmatic way instead of working with numerical values in a programmatic way is called symbolic math. To work with symbolic math in Python, the SymPy library needs to be installed. SymPy comes pre-installed with the Anaconda distribution of Python. If you are not using the Anaconda distribution of Python, SymPy can be installed with the Anaconda Prompt. Use the command:

> conda install sympy