Link Search Menu Expand Document (external link)

How to do basic mathematical computations (in Python, using SymPy)

See all solutions.

Task

How do we write the most common mathematical operations in a given piece of software? For example, how do we write multiplication, or exponentiation, or logarithms, in Python vs. R vs. Excel, and so on?

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
Mathematical notation Python code Requires SymPy?
$x+y$ x+y no
$x-y$ x-y no
$xy$ x*y no
$\frac xy$ x/y no
$\left\lfloor\frac xy\right\rfloor$ x//y no
remainder of $x\div y$ x%y no
$x^y$ x**y no
$\vert x\vert$ abs(x) no
$\ln x$ log(x) yes
$\log_a b$ log(b,a) yes
$e^x$ E yes
$\pi$ pi yes
$\sin x$ sin(x) yes
$\sin^{-1} x$ asin(x) yes
$\sqrt x$ sqrt(x) yes

Other trigonometric functions are also available besides just sin, including cos, tan, etc.

Note that SymPy gives precise answers to mathematical queries, which may not be what you want.

1
sqrt(2)

$\displaystyle \sqrt{2}$

If you want a decimal approximation instead, you can use the N function.

1
N(sqrt(2))

$\displaystyle 1.4142135623731$

Or you can use the evalf function.

1
sqrt(2).evalf()

$\displaystyle 1.4142135623731$

By contrast, if you need an exact rational number when Python gives you an approximation, you can use the Rational function to build one. Note the differences below:

1
1/3

$\displaystyle 0.333333333333333$

1
Rational(1,3)

$\displaystyle \frac{1}{3}$

Content last modified on 24 July 2023.

See a problem? Tell us or edit the source.

Contributed by Nathan Carter (ncarter@bentley.edu)