# Error propagation of a variable for an integral

• I
• Arman777
In summary: You can get a similar approximation for ##\frac{\partial I}{\partial a}## by evaluating the integral with a±Δa and subtracting the results.Then you can use the uncertainties of a and b to estimate the uncertainty of the integral by adding both contributions in quadrature.In summary, the conversation discusses the calculation of an integral that depends on two parameters, a and b, and how to deal with their uncertainties. The integral is computed numerically and cannot be solved analytically. The results of the integral for different values of a and b are obtained, and it is shown that one combination of values gives the minimum value while another gives the maximum. The conversation also mentions taking derivatives or integrals numerically and provides

#### Arman777

Gold Member
I have an integral that depends on two parameters ##a\pm\delta a## and ##b\pm \delta b##. I am doing this integral numerically and no python function can calculate the integral with uncertainties.

So I have calculated the integral for each min, max values of a and b.
As a result I have obtained 4 values, such that;

$$(a + \delta a, b + \delta b) = 13827.450210 \pm 0.000015~~(1)$$
$$(a + \delta a, b - \delta b) = 13827.354688 \pm 0.000015~~(2)$$
$$(a - \delta a, b + \delta b) = 13912.521548 \pm 0.000010~~(3)$$
$$(a - \delta a, b - \delta b) = 13912.425467 \pm 0.000010~~(4)$$

So it is clear that ##(2)## gives the min and ##(3)## gives the max. Let us show the result of the integral as ##c \pm \delta c##. So my problem is what is ##c## and ##\delta c## here?

The integral is something like this

$$I(a,b,x) =C\int_0^b \frac{dx}{\sqrt{a(1+x)^3 + \eta(1+x)^4 + (\gamma^2 - a - \eta)}}$$

where ##\eta## and ##\gamma## are constant.

Note: You guys can also generalize it by taking ##\eta \pm \delta \eta## but it is not necessary for now.

I have to take derivatives or integrals numerically. There's no known analytical solution for the integral.

##\eta = 4.177 \times 10^{-5}##, ##a = 0.1430 \pm 0.0011##, ##b = 1089.92 \pm 0.25##, ##\gamma = 0.6736 \pm 0.0054##, ##C = 2997.92458##

Last edited:
Generally, if your intergal is $I(a,b) = \int_{x_0}^{x_1} F(a,b,x)\,dx$, then uncertainties in $a$ and $b$ would lead to $$I(a,b) \pm\frac{\partial I}{\partial a}\delta a \pm \frac{\partial I}{\partial b}\delta b$$ with the partial derivatives evaluated at $a$ and $b$. You can evaluate these derivatives by differentiating under the integral:
$$\frac{\partial I}{\partial a} = \int_{x_0}^{x_1} \frac{\partial F}{\partial a}(a, b, x)\,dx$$ etc.

Arman777
The integral is something like this

$$I(a,b,x) =\int_0^b \frac{dx}{\sqrt{a(1+x)^3 + \eta(1+x)^4 + (\gamma^2 - a - \eta)}}$$

where ##\eta## and ##\gamma## are constant.

Assuming a and b are uncorrelated: Calculate the integral at (a,b+delta_b), (a,b-delta_b) and analogous for delta_a. Then use the deviations as approximation for ##\frac{\partial I}{\partial b}\delta b## and add both uncertainties in quadrature.

mfb said:
Assuming a and b are uncorrelated: Calculate the integral at (a,b+delta_b), (a,b-delta_b) and analogous for delta_a. Then use the deviations as approximation for ##\frac{\partial I}{\partial b}\delta b## and add both uncertainties in quadrature.
I did not quite understand it..Can you maybe put it in a more mathematical way

Code:
  from numpy import sqrt
from scipy import integrate
import uncertainties as u
from uncertainties.umath import *

#Important Parameters
C = 2997.92458  # speed of light in [km/s]
eta = 4.177 * 10**(-5)
a = u.ufloat(0.1430, 0.0011)
b = u.ufloat(1089.92, 0.25)
gama = u.ufloat(0.6736, 0.0054)

@u.wrap
def D_zrec_finder(gama, a, b):
def D_zrec(z):
return C / sqrt(a * (1+z)**3 + eta * (1+z)**4 + (gama**2 - a - eta))
result, error = integrate.quad(D_zrec, 0, b)
return result    print((D_zrec_finder(gama, a, b)).n)
print((D_zrec_finder(gama, a, b)).s)

This works

Arman777 said:
I did not quite understand it..Can you maybe put it in a more mathematical way
$$\frac{\partial I}{\partial b}\delta b \approx \frac 1 2 (I(a,b+\delta b)-I(a,b-\delta b))$$
$$\frac{\partial I}{\partial a}\delta a \approx \frac 1 2 (I(a+\delta a,b)-I(a-\delta a,b))$$

As b is your integration border you can simplify this one: ##\frac{\partial I}{\partial b}## is simply the function value at x=b.