# How to compute the derivative of a function (in R)

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

Let’s consider the function $f(x)=10x^2-16x+1$. We focus not on the whole function, but just the expression on the right-hand side, $10x^2-16x+1$.

1

formula <- expression( 10*x^2 - 16*x + 1 )

We can compute its derivative using the `D`

function.

1

D( formula, "x" ) # derivative with respect to x

1

10 * (2 * x) - 16

R does not simplify the output, but if we do so ourselves, we find that $f’(x)=20x-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

formula2 <- expression( x^2-y^2 ) # consider the formula x^2 - y^2
D( formula2, "y" ) # differentiate with respect to y

1

-(2 * y)

That output says that $\frac{\partial}{\partial y}(x^2-y^2)=-2y$.

We can compute the second derivative by using the `D`

function twice
and specifying the variables with respect to which we are computing the derivative.

1

D( D( formula2, "x" ), "x" ) # second derivative with respect to x

1

[1] 2

1

D( D( formula2, "x" ), "y" ) # mixed partial derivative

1

[1] 0

Content last modified on 24 July 2023.

See a problem? Tell us or edit the source.

Contributed by Debayan Sen (DSEN@bentley.edu)