Skip to content

Commit 0e0d09c

Browse files
committed
updated error bounds
1 parent d1b93f0 commit 0e0d09c

2 files changed

Lines changed: 3 additions & 4 deletions

File tree

pynumdiff/polynomial_fit.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ def polydiff(x, dt_or_t, params=None, options=None, degree=None, window_size=Non
8787
if window_size % 2 == 0:
8888
window_size += 1
8989
warn("Kernel window size should be odd. Added 1 to length.")
90+
kernel = {'gaussian':utility.gaussian_kernel, 'friedrichs':utility.friedrichs_kernel}[kernel](window_size)
9091

9192
def _polydiff(x, dt_or_t, degree, weights=None):
9293
t = dt_or_t if not np.isscalar(dt_or_t) else np.arange(len(x)) * dt_or_t # sample locations
@@ -102,8 +103,6 @@ def _polydiff(x, dt_or_t, degree, weights=None):
102103
return x_hat, dxdt_hat
103104

104105
x_hat = np.empty_like(x); dxdt_hat = np.empty_like(x)
105-
if window_size: kernel = {'gaussian':utility.gaussian_kernel, 'friedrichs':utility.friedrichs_kernel}[kernel](window_size)
106-
107106
for vec_idx in np.ndindex(x.shape[:axis] + x.shape[axis+1:]):
108107
s = vec_idx[:axis] + (slice(None),) + vec_idx[axis:]
109108
x_hat[s], dxdt_hat[s] = _polydiff(x[s], dt_or_t, degree) if not window_size else \

pynumdiff/tests/test_diff_methods.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ def test_diff_method(diff_method_and_params, test_func_and_deriv, request): # re
328328
(polydiff, {'degree': 2, 'window_size': 5}),
329329
(savgoldiff, {'degree': 3, 'window_size': 11, 'smoothing_win': 3}),
330330
(rtsdiff, {'order':2, 'log_qr_ratio':7, 'forwardbackward':True}),
331-
(robustdiff, {'order':2, 'log_q':7, 'log_r':2}),
331+
(robustdiff, {'order':2, 'log_q':7, 'log_r':2})
332332
]
333333

334334
# Similar to the error_bounds table, index by method first. But then we test against only one 2D function,
@@ -339,7 +339,7 @@ def test_diff_method(diff_method_and_params, test_func_and_deriv, request): # re
339339
kerneldiff: [(2, 1), (3, 2)],
340340
butterdiff: [(0, -1), (1, -1)],
341341
finitediff: [(0, -1), (1, -1)],
342-
polydiff: [(2, 2), (3, 3)],
342+
polydiff: [(1, -1), (1, 0)],
343343
savgoldiff: [(0, -1), (1, 1)],
344344
rtsdiff: [(1, -1), (1, 0)],
345345
robustdiff: [(-2, -3), (0, -1)]

0 commit comments

Comments
 (0)