scipy.integrate.quadrature#

scipy.integrate.quadrature(func, a, b, args=(), tol=1.49e-08, rtol=1.49e-08, maxiter=50, vec_func=True, miniter=1)[source]#

Compute a definite integral using fixed-tolerance Gaussian quadrature.

Integrate func from a to b using Gaussian quadrature with absolute tolerance tol.

Parameters
funcfunction

A Python function or method to integrate.

afloat

Lower limit of integration.

bfloat

Upper limit of integration.

argstuple, optional

Extra arguments to pass to function.

tol, rtolfloat, optional

Iteration stops when error between last two iterates is less than tol OR the relative change is less than rtol.

maxiterint, optional

Maximum order of Gaussian quadrature.

vec_funcbool, optional

True or False if func handles arrays as arguments (is a “vector” function). Default is True.

miniterint, optional

Minimum order of Gaussian quadrature.

Returns
valfloat

Gaussian quadrature approximation (within tolerance) to integral.

errfloat

Difference between last two estimates of the integral.

See also

romberg

adaptive Romberg quadrature

fixed_quad

fixed-order Gaussian quadrature

quad

adaptive quadrature using QUADPACK

dblquad

double integrals

tplquad

triple integrals

romb

integrator for sampled data

simpson

integrator for sampled data

cumulative_trapezoid

cumulative integration for sampled data

ode

ODE integrator

odeint

ODE integrator

Examples

>>> from scipy import integrate
>>> f = lambda x: x**8
>>> integrate.quadrature(f, 0.0, 1.0)
(0.11111111111111106, 4.163336342344337e-17)
>>> print(1/9.0)  # analytical result
0.1111111111111111
>>> integrate.quadrature(np.cos, 0.0, np.pi/2)
(0.9999999999999536, 3.9611425250996035e-11)
>>> np.sin(np.pi/2)-np.sin(0)  # analytical result
1.0