scipy.integrate.dblquad¶
-
scipy.integrate.dblquad(func, a, b, gfun, hfun, args=(), epsabs=1.49e-08, epsrel=1.49e-08)[source]¶ Compute a double integral.
Return the double (definite) integral of
func(y, x)fromx = a..bandy = gfun(x)..hfun(x).- Parameters
- funccallable
A Python function or method of at least two variables: y must be the first argument and x the second argument.
- a, bfloat
The limits of integration in x: a < b
- gfuncallable or float
The lower boundary curve in y which is a function taking a single floating point argument (x) and returning a floating point result or a float indicating a constant boundary curve.
- hfuncallable or float
The upper boundary curve in y (same requirements as gfun).
- argssequence, optional
Extra arguments to pass to func.
- epsabsfloat, optional
Absolute tolerance passed directly to the inner 1-D quadrature integration. Default is 1.49e-8. dblquad` tries to obtain an accuracy of
abs(i-result) <= max(epsabs, epsrel*abs(i))wherei= inner integral offunc(y, x)fromgfun(x)tohfun(x), andresultis the numerical approximation. See epsrel below.- epsrelfloat, optional
Relative tolerance of the inner 1-D integrals. Default is 1.49e-8. If
epsabs <= 0, epsrel must be greater than both 5e-29 and50 * (machine epsilon). See epsabs above.
- Returns
- yfloat
The resultant integral.
- abserrfloat
An estimate of the error.
See also
quadsingle integral
tplquadtriple integral
nquadN-dimensional integrals
fixed_quadfixed-order Gaussian quadrature
quadratureadaptive Gaussian quadrature
odeintODE integrator
odeODE integrator
simpsonintegrator for sampled data
rombintegrator for sampled data
scipy.specialfor coefficients and roots of orthogonal polynomials
Examples
Compute the double integral of
x * y**2over the boxxranging from 0 to 2 andyranging from 0 to 1.>>> from scipy import integrate >>> f = lambda y, x: x*y**2 >>> integrate.dblquad(f, 0, 2, lambda x: 0, lambda x: 1) (0.6666666666666667, 7.401486830834377e-15)