# Antidifferentiation

##### 566 words — categories: calculus

**Antidifferentiation** is the process of, given a function \(f(x)\), finding another function \(F(x)\) whose derivative is the given function, \(\frac{d}{dx} F(x) = F^\prime(x) = f(x)\). Antidifferentiation and the *antiderivative* are part of a larger process called *integration*.

Formally, the antiderivative of \(f(x)\) is the set of functions \(F(x) + C\) such that

\[\frac{d}{dx}[F(x) + C] = f(x)\]

where \(C\) is what’s called the **constant of integration**. This can be restated as follows: if two functions \(F(x)\) and \(G(x)\) have the same derivative \(f(x)\), then \(F(x)\) and \(G(x)\) differ by at most a constant \(F(x) = G(x) + C\). If \(F(x)\) is an antiderivative of a function \(f(x)\), we write

\[\int f(x)dx = F(x) + C\]

meaning that the “antiderivative of \(f(x)\), with respect to \(x\), is the set of functions \(F(x) + C\)”. This expression is called an **indefinite integral**.

Differentiation (and the derivative) is how you find the rate of change of a function at a given point. Antidifferentiation, or **integration**, (and the antiderivative) is how you go from a derivative back to the function it came from.

As an example, if you determine that the marginal cost, \(C^\prime\), of producing the \(x\)th unit of a product is given by \(C^\prime(x) = x^3 - 2x\), then you can “antidifferentiate” to find the total cost (which is the orginal function).

```
from sympy import *
from sympy.abc import x
marginal_cost = x ** 3 - 2 * x
cost = integrate(marginal_cost, x)
cost
```

`## x**4/4 - x**2`

`sympy`

doesn’t return the constant of integration, which is how the **indefinite integral** looks like in its complete form.

\(C\) may be of interest in some applications in which we may specify a point that is a solution of the antiderivative, such point is called an *initial condition*.

## Height of a Thrown Object

A rock is thrown directly upward with an initial velocity of 50 ft/sec from an initial height of 10 ft. The velocity of this rock is modeled by \(v(t) = -31t + 50\), where \(t\) is in secondsm \(v\) in feet per second, and \(t = 0\) represents the moment the rock is released.

- Determine a distance function \(h\) as a function of \(t\).
- Determine the height and the velocity of the rock after 3 sec.

```
from sympy.abc import t
C = symbols("C")
velocity = -32 * t + 50
height = integrate(velocity, t) + C
height
```

`## C - 16*t**2 + 50*t`

The constant of integration \(C\) can be determined by using the initial conditions; we know that the initial height is 10 ft when \(t = 0\).

```
equation = Eq(10, height)
equation
```

`## Eq(10, C - 16*t**2 + 50*t)`

`constant = solve(equation, C)[0].evalf(subs={t:0})`

`velocity.evalf(subs={t:3})`

`## -46.0000000000000`

`height.evalf(subs={t:3, C:constant})`

`## 16.0000000000000`

## Change in Population

The rate of change of the population of Phoenix, Arizona, is modelled by the exponential function \(P^\prime(t) = 11.7e^{0.026t}\), where \(t\) is the number of years since 1960 and \(P^\prime(t)\) is in thousands of people per year. In 1980, Phoenix had a population of 790,000.

- Find the population model \(P(t)\).
- Estimate the population in 2012.

```
from math import e
dPdt = 11.7 * e **(0.026 * t)
integ = integrate(dPdt, t) + C
integ
```

`## 450.0*2.71828182845905**(0.026*t) + C`

```
initial_conditions = Eq(790, integ)
initial_conditions
```

`## Eq(790, 450.0*2.71828182845905**(0.026*t) + C)`

```
constant = solve(initial_conditions, C)[0].evalf(subs={t:20})
constant
```

`## 33.0875576355005`

```
time_delta = 2012 - 1960
population = integ.subs(C, constant)
population
```

`## 450.0*2.71828182845905**(0.026*t) + 33.0875576355005`

`population.evalf(subs={t:time_delta})`

`## 1772.40420342536`