Skip to main content
`Ctrl`+`K`
scipy.interpolate.

# splder

scipy.interpolate.splder(tck, n=1)

  Compute the spline representation of the derivative of a given spline

  Legacy

  This function is considered legacy and will no longer receive updates. While we currently have no plans to remove it, we recommend that new code uses more modern alternatives instead. Specifically, we recommend constructing a `BSpline` object and using its `derivative` method.

  Parameters:
    tck BSpline 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

    n int, 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.

  See also

  `splantider`, `splev`, `spalde`
  `BSpline`

  Notes

  Added in version 0.13.0.

  Array API Standard Support

  `splder` is not in-scope for support of Python Array API Standard compatible backends other than NumPy.

  See Support for the array API standard for more information.

  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.