SciPy

scipy.interpolate.sproot

scipy.interpolate.sproot(tck, mest=10)[source]

Find the roots of a cubic B-spline.

Given the knots (>=8) and coefficients of a cubic B-spline return the roots of the spline.

Parameters:
tck : tuple or a BSpline object

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. The number of knots must be >= 8, and the degree must be 3. The knots must be a montonically increasing sequence.

mest : int, optional

An estimate of the number of zeros (Default is 10).

Returns:
zeros : ndarray

An array giving the roots of the spline.

Notes

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

References

[1]C. de Boor, “On calculating with b-splines”, J. Approximation Theory, 6, p.50-62, 1972.
[2]M. G. Cox, “The numerical evaluation of b-splines”, J. Inst. Maths Applics, 10, p.134-149, 1972.
[3]P. Dierckx, “Curve and surface fitting with splines”, Monographs on Numerical Analysis, Oxford University Press, 1993.