Numerical integration
Numerical integration is integration using numerical methods instead of analytical methods. SciPy has a numerical integration package, scipy.integrate
, which has no equivalent in NumPy. The quad
function can integrate a one-variable function between two points. These points can be at infinity.
Note
The quad
function uses the old and tried QUADPACK Fortran library under the hood.
The Gaussian integral is related to the error
function, but has no finite limits. It evaluates to the square root of pi. Let's calculate the Gaussian integral with the quad
function as shown in the following line of code:
print "Gaussian integral", np.sqrt(np.pi),integrate.quad(lambda x: np.exp(-x**2), -np.inf, np.inf)
The return value is the outcome, and its error would be:
Gaussian integral 1.77245385091 (1.7724538509055159, 1.4202636780944923e-08)