code: def splder(tck, n=1):
      # see the docstring of `_fitpack_py/splder`
      if n < 0:
          return splantider(tck, -n)
  
      t, c, k = tck
  
      if n > k:
          raise ValueError(
              f"Order of derivative (n = {n!r}) must be <= "
              f"order of spline (k = {tck[2]!r})"
          )
  
      # Extra axes for the trailing dims of the `c` array:
      sh = (slice(None),) + ((None,) * len(c.shape[1:]))
  
      with np.errstate(invalid="raise", divide="raise"):
          try:
              for j in range(n):
                  # See e.g. Schumaker, Spline Functions: Basic Theory, Chapter 5
  
                  # Compute the denominator in the differentiation formula.
                  # (and append trailing dims, if necessary)
                  dt = t[k + 1 : -1] - t[1 : -k - 1]
                  dt = dt[sh]
                  # Compute the new coefficients
                  c = (c[1 : -1 - k] - c[: -2 - k]) * k / dt
                  # Pad coefficient array to same size as knots (FITPACK
                  # convention)
                  c = np.r_[c, np.zeros((k,) + c.shape[1:])]
                  # Adjust knots
                  t = t[1:-1]
                  k -= 1
          except FloatingPointError as e:
              raise ValueError(
                  (
                      "The spline has internal repeated knots "
                      "and is not differentiable %d times"
                  )
                  % n
              ) from e
  
      return t, c, k
  
file_path: scipy/scipy/interpolate/_fitpack_impl.py
imports: import warnings
  import numpy
  from .None import _fitpack
  from numpy import atleast_1d, array, ones, zeros, sqrt, ravel, transpose, empty, iinfo, asarray
  from .None import dfitpack
label_desc: Use image node_id 12 for calling a global function with example usage: splder(tck, n) and returns: t,  c,  k, splantider