parameters: (cls, t, extrapolate=True)
return_statement: return cls.construct_fast(t, c, k, extrapolate)
docstring: Return a B-spline basis element ``B(x | t[0], ..., t[k+1])``.
  
          Parameters
          ----------
          t : ndarray, shape (k+1,)
              internal knots
          extrapolate : bool or 'periodic', optional
              whether to extrapolate beyond the base interval, ``t[0] .. t[k+1]``,
              or to return nans.
              If 'periodic', periodic extrapolation is used.
              Default is True.
  
          Returns
          -------
          basis_element : callable
              A callable representing a B-spline basis element for the knot
              vector `t`.
  
          Notes
          -----
          The order of the b-spline, `k`, is inferred from the length of `t` as
          ``len(t)-2``. The knot vector is constructed by appending and prepending
          ``k+1`` elements to internal knots `t`.
  
          Examples
          --------
  
          Construct a cubic b-spline:
  
          >>> from scipy.interpolate import BSpline
          >>> b = BSpline.basis_element([0, 1, 2, 3, 4])
          >>> k = b.k
          >>> b.t[k:-k]
          array([ 0.,  1.,  2.,  3.,  4.])
          >>> k
          3
  
          Construct a second order b-spline on ``[0, 1, 1, 2]``, and compare
          to its explicit form:
  
          >>> t = [-1, 0, 1, 1, 2]
          >>> b = BSpline.basis_element(t[1:])
          >>> def f(x):
          ...     return np.where(x < 1, x*x, (2. - x)**2)
  
          >>> import matplotlib.pyplot as plt
          >>> fig, ax = plt.subplots()
          >>> x = np.linspace(0, 2, 51)
          >>> ax.plot(x, b(x), 'g', lw=3)
          >>> ax.plot(x, f(x), 'r', lw=8, alpha=0.4)
          >>> ax.grid(True)
          >>> plt.show()
docstring_summary: Return a B-spline basis element ``B(x | t[0], ..., t[k+1])``.
docstring_tokens: Return a B - spline basis element B ( x | t [ 0 ] ... t [ k + 1 ] ) .
function: def basis_element(cls, t, extrapolate=True):
          """Return a B-spline basis element ``B(x | t[0], ..., t[k+1])``.
  
          Parameters
          ----------
          t : ndarray, shape (k+1,)
              internal knots
          extrapolate : bool or 'periodic', optional
              whether to extrapolate beyond the base interval, ``t[0] .. t[k+1]``,
              or to return nans.
              If 'periodic', periodic extrapolation is used.
              Default is True.
  
          Returns
          -------
          basis_element : callable
              A callable representing a B-spline basis element for the knot
              vector `t`.
  
          Notes
          -----
          The order of the b-spline, `k`, is inferred from the length of `t` as
          ``len(t)-2``. The knot vector is constructed by appending and prepending
          ``k+1`` elements to internal knots `t`.
  
          Examples
          --------
  
          Construct a cubic b-spline:
  
          >>> from scipy.interpolate import BSpline
          >>> b = BSpline.basis_element([0, 1, 2, 3, 4])
          >>> k = b.k
          >>> b.t[k:-k]
          array([ 0.,  1.,  2.,  3.,  4.])
          >>> k
          3
  
          Construct a second order b-spline on ``[0, 1, 1, 2]``, and compare
          to its explicit form:
  
          >>> t = [-1, 0, 1, 1, 2]
          >>> b = BSpline.basis_element(t[1:])
          >>> def f(x):
          ...     return np.where(x < 1, x*x, (2. - x)**2)
  
          >>> import matplotlib.pyplot as plt
          >>> fig, ax = plt.subplots()
          >>> x = np.linspace(0, 2, 51)
          >>> ax.plot(x, b(x), 'g', lw=3)
          >>> ax.plot(x, f(x), 'r', lw=8, alpha=0.4)
          >>> ax.grid(True)
          >>> plt.show()
  
          """
          k = len(t) - 2
          t = _as_float_array(t)
          t = np.r_[(t[0]-1,) * k, t, (t[-1]+1,) * k]
          c = np.zeros_like(t)
          c[k] = 1.
          return cls.construct_fast(t, c, k, extrapolate)
function_tokens: def basis_element ( cls , t , extrapolate = True ) : k = len ( t ) - 2 t = _as_float_array ( t ) t = np . r_ [ ( t [ 0 ] - 1 , ) * k , t , ( t [ - 1 ] + 1 , ) * k ] c = np . zeros_like ( t ) c [ k ] = 1. return cls . construct_fast ( t , c , k , extrapolate )