def sproot(tck,mest=<NUM_LIT:10>):
t,c,k = tck<EOL>if k != <NUM_LIT:3>:<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>try:<EOL><INDENT>c[<NUM_LIT:0>][<NUM_LIT:0>]<EOL>parametric = True<EOL><DEDENT>except:<EOL><INDENT>parametric = False<EOL><DEDENT>if parametric:<EOL><INDENT>return _ntlist(list(map(lambda c,t=t,k=k,mest=mest:sproot([t,c,k],mest),c)))<EOL><DEDENT>else:<EOL><INDENT>if len(t) < <NUM_LIT:8>:<EOL><INDENT>raise TypeError("<STR_LIT>" % len(t))<EOL><DEDENT>z,ier = _fitpack._sproot(t,c,k,mest)<EOL>if ier == <NUM_LIT:10>:<EOL><INDENT>raise TypeError("<STR_LIT>")<EOL><DEDENT>if ier == <NUM_LIT:0>:<EOL><INDENT>return z<EOL><DEDENT>if ier == <NUM_LIT:1>:<EOL><INDENT>warnings.warn(RuntimeWarning("<STR_LIT>"))<EOL>return z<EOL><DEDENT>raise TypeError("<STR_LIT>")<EOL><DEDENT>
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
    A tuple (t,c,k) 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
    An estimate of the number of zeros (Default is 10).

Returns
-------
zeros : ndarray
    An array giving the roots of the spline.

See also
--------
splprep, splrep, splint, spalde, splev
bisplrep, bisplev
UnivariateSpline, BivariateSpline


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.