# How to compute the derivative of a function (in Python, using SymPy)

## Task

Given a mathematical function $f(x)$, we write $f’(x)$ or $\frac{d}{dx}f(x)$ to represent its derivative, or the rate of change of $f$ with respect to $x$. How can we compute $f’(x)$ using mathematical software?

## 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

In SymPy, we tend to work with formulas (that is, mathematical expressions) rather than functions (like $f(x)$). So if we wish to compute the derivative of $f(x)=10x^2-16x+1$, we will focus on just the $10x^2-16x+1$ portion.

1
2
3

var( 'x' )
formula = 10*x**2 - 16*x + 1
formula

$\displaystyle 10 x^{2} - 16 x + 1$

We can compute its derivative by using the `diff`

function.

1

diff( formula )

$\displaystyle 20 x - 16$

If it had been a multi-variable function, we would need to specify the variable with respect to which we wanted to compute a derivative.

1
2
3

var( 'y' ) # introduce a new variable
formula2 = x**2 - y**2 # consider the formula x^2 + y^2
diff( formula2, y ) # differentiate with respect to y

$\displaystyle - 2 y$

We can compute second or third derivatives by repeating the variable with respect to which we’re differentiating. To do partial derivatives, use multiple variables.

1

diff( formula, x, x ) # second derivative with respect to x

$\displaystyle 20$

1

diff( formula2, x, y ) # mixed partial derivative

$\displaystyle 0$

Content last modified on 24 July 2023.

See a problem? Tell us or edit the source.

Contributed by Nathan Carter (ncarter@bentley.edu)