# scipy.interpolate.splder#

scipy.interpolate.splder(tck, n=1)[source]#

Compute the spline representation of the derivative of a given spline

Parameters:
tckBSpline instance or tuple

BSpline instance or a tuple (t,c,k) containing the vector of knots, the B-spline coefficients, and the degree of the spline whose derivative to compute

nint, optional

Order of derivative to evaluate. Default: 1

Returns:
BSpline instance or tuple

Spline of order k2=k-n representing the derivative of the input spline. A tuple is returned if the input argument tck is a tuple, otherwise a BSpline object is constructed and returned.

Notes

Examples

This can be used for finding maxima of a curve:

>>> from scipy.interpolate import splrep, splder, sproot
>>> import numpy as np
>>> x = np.linspace(0, 10, 70)
>>> y = np.sin(x)
>>> spl = splrep(x, y, k=4)


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):

>>> dspl = splder(spl)
>>> sproot(dspl) / np.pi
array([ 0.50000001,  1.5       ,  2.49999998])


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

A comparison between splev, splder and spalde to compute the derivatives of a B-spline can be found in the spalde examples section.