Link Search Menu Expand Document (external link)

How to write symbolic equations (in Python, using SymPy)

See all solutions.

Task

In programming, when we write a=b, the computer interprets it as an instruction, to change the value of a to b. But in mathematics, a=b is a statement that a and b are equal; it’s often a starting point for algebraic work. How can we write a mathematical equation using software?

Related tasks:

Solution

This answer assumes you have imported SymPy as follows.

1
2
from sympy import *                   # load all math functions
init_printing( use_latex='mathjax' )  # use pretty math output

Let’s say we want to write the equation x2+y2=2. We must first define x and y as mathematical variables, then use SymPy’s Eq function to build an equation. This helps SymPy distinguish a mathematical equation from a Python assignment statement.

1
2
var( 'x y' )
Eq( x**2 + y**2, 2 )    # Two parameters: left and right sides of equation

x2+y2=2

You can make a system of equations just by placing several equations in a Python list.

1
2
3
4
5
system = [
    Eq( x + 2*y, 1 ),
    Eq( x - 9*y, 5 )
]
system

[x+2y=1, x9y=5]

Content last modified on 24 July 2023.

See a problem? Tell us or edit the source.

Contributed by Nathan Carter (ncarter@bentley.edu)