# scipy.interpolate.UnivariateSpline.derivative¶

UnivariateSpline.derivative(n=1)[source]

Construct a new spline representing the derivative of this spline.

Parameters: n : int, optional Order of derivative to evaluate. Default: 1 spline : UnivariateSpline Spline of order k2=k-n representing the derivative of this spline.

Notes

New in version 0.13.0.

Examples

This can be used for finding maxima of a curve:

>>> from scipy.interpolate import UnivariateSpline
>>> x = np.linspace(0, 10, 70)
>>> y = np.sin(x)
>>> spl = UnivariateSpline(x, y, k=4, s=0)


Now, differentiate the spline and find the zeros of the derivative. (NB: sproot only works for order 3 splines, so we fit an order 4 spline):

>>> spl.derivative().roots() / np.pi
array([ 0.50000001,  1.5       ,  2.49999998])


This agrees well with roots $$\pi/2 + n\pi$$ of $$\cos(x) = \sin'(x)$$.