def test_bspderiv(): numval = 10 maxord = 10 dx = 1e-6 xl = np.linspace(0, 10, numval) xr = xl + dx xm = xl + dx/2 for k in range(1, maxord): # Check k + 1 degree k b-splines. n = k + 1 t = [0]*n + list(range(1, 10)) + [10]*n c = np.eye(len(t) - n) for j in range(n): msg = "k = %d, j = %d" % (k, j) spl = bs.BSpline(t, k, c[j]) der = bs.bsplderiv(spl, n=1) res = bs.bsplval(xm, der) tgt = (bs.bsplval(xr, spl) - bs.bsplval(xl, spl))/dx assert_almost_equal(res, tgt, err_msg=msg)
def test_bspderiv(): pass numval = 10 maxord = 10 dx = 1e-6 xl = np.linspace(0, 10, numval) xr = xl + dx xm = xl + dx / 2 for k in range(1, maxord): # Check k + 1 degree k b-splines. n = k + 1 t = [0] * n + list(range(1, 10)) + [10] * n c = np.eye(len(t) - n) for j in range(n): msg = "k = %d, j = %d" % (k, j) tck = bs.Tck(t, c[j], k) dck = bs.bsplderiv(tck, n=1) tgt = (bs.bsplval(xr, tck) - bs.bsplval(xl, tck)) / dx res = bs.bsplval(xm, dck) assert_almost_equal(res, tgt, err_msg=msg)