def _evaluate(self, eval_points):
    eval_points = eval_points[(..., 0)]
    knots = self._evaluation_knots()
    c = np.zeros(len(knots))
    mat = np.empty((self.n_basis, len(eval_points)))
    for i in range(self.n_basis):
        c[i] = 1
        mat[i] = scipy.interpolate.splev(eval_points, (knots, c, (self.order - 1)))
        c[i] = 0
    return mat
def _evaluate(self, eval_points):
    eval_points = eval_points[(..., 0)]
    knots = self._evaluation_knots()
    c = np.zeros(len(knots))
    mat = np.empty((self.n_basis, len(eval_points)))
    for i in range(self.n_basis):
        c[i] = 1
        mat[i] = scipy.interpolate.splev(eval_points, (knots, c, (self.order - 1)))
        c[i] = 0
    return mat