scipy.integrate estimates definite integrals and areas under curves—quadrature when no closed form exists, building on NumPy functions.
quad for scalars
integrate.quad(func, a, b)— ∫ₐᵇ f(x) dx- Returns integral estimate and error bound
- func may be vectorized or scalar; infinite limits supported with care
dblquad / tplquad
Multiple integrals for probability computations and physics—watch variable order in integrand signatures.
Example
import numpy as np
from scipy import integrate
def f(x):
return np.exp(-x ** 2)
val, err = integrate.quad(f, 0, np.inf)
print('integral:', val, 'error est:', err)
Important interview questions and answers
- Q: quad vs trapz?
A: quad adaptive quadrature on function; trapz sums discrete samples along axis. - Q: Error estimate?
A: Second return value guides trust—compare to known analytic integrals when possible.
Self-check
- What does integrate.quad return?
- Give an integral you would compute with quad.
Tip: Compare quad results to known integrals (e.g. ∫₀¹ x² dx = 1/3) in unit tests.
Interview prep
- quad?
Adaptive quadrature for definite integrals.
- trapz?
Discrete samples along axis—different from quad on function.