SciPy

scipy.interpolate.splint

scipy.interpolate.splint(a, b, tck, full_output=0)[source]

Evaluate the definite integral of a B-spline between two given points.

Parameters:
a, b : float

The end-points of the integration interval.

tck : tuple or a BSpline instance

If a tuple, then it should be a sequence of length 3, containing the vector of knots, the B-spline coefficients, and the degree of the spline (see splev).

full_output : int, optional

Non-zero to return optional output.

Returns:
integral : float

The resulting integral.

wrk : ndarray

An array containing the integrals of the normalized B-splines defined on the set of knots. (Only returned if full_output is non-zero)

Notes

splint silently assumes that the spline function is zero outside the data interval (a, b).

Manipulating the tck-tuples directly is not recommended. In new code, prefer using the BSpline objects.

References

[1]P.W. Gaffney, The calculation of indefinite integrals of b-splines”, J. Inst. Maths Applics, 17, p.37-41, 1976.
[2]P. Dierckx, “Curve and surface fitting with splines”, Monographs on Numerical Analysis, Oxford University Press, 1993.