Skip to content

Commit e9e5a41

Browse files
authored
Merge pull request #143 from florisvb/make-backers-public
Make backers public
2 parents 00dfac4 + 462f665 commit e9e5a41

19 files changed

Lines changed: 427 additions & 985 deletions

docs/source/code.rst

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@ API documentation
55
:maxdepth: 1
66

77
finite_difference
8-
kalman_smooth
9-
linear_model
108
smooth_finite_difference
119
total_variation_regularization
10+
kalman_smooth
11+
linear_model
1212
optimize
1313
utils
14-

docs/source/finite_difference.rst

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,9 @@ finite_difference
22
=================
33

44
.. automodule:: pynumdiff.finite_difference
5-
:members:
5+
:no-members:
6+
7+
.. autofunction:: pynumdiff.finite_difference.finite_difference
8+
.. autofunction:: pynumdiff.finite_difference.first_order
9+
.. autofunction:: pynumdiff.finite_difference.second_order
10+
.. autofunction:: pynumdiff.finite_difference.fourth_order

docs/source/kalman_smooth.rst

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,10 @@ kalman_smooth
22
=============
33

44
.. automodule:: pynumdiff.kalman_smooth
5-
:members:
5+
:no-members:
6+
7+
.. autofunction:: pynumdiff.kalman_smooth.rts_const_deriv
8+
.. autofunction:: pynumdiff.kalman_smooth.constant_velocity
9+
.. autofunction:: pynumdiff.kalman_smooth.constant_acceleration
10+
.. autofunction:: pynumdiff.kalman_smooth.constant_jerk
11+
.. autofunction:: pynumdiff.kalman_smooth.known_dynamics

docs/source/total_variation_regularization.rst

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,12 @@ total_variation_regularization
22
==============================
33

44
.. automodule:: pynumdiff.total_variation_regularization
5-
:members:
5+
:no-members:
6+
7+
.. autofunction:: pynumdiff.total_variation_regularization.tvrdiff
8+
.. autofunction:: pynumdiff.total_variation_regularization.velocity
9+
.. autofunction:: pynumdiff.total_variation_regularization.acceleration
10+
.. autofunction:: pynumdiff.total_variation_regularization.jerk
11+
.. autofunction:: pynumdiff.total_variation_regularization.iterative_velocity
12+
.. autofunction:: pynumdiff.total_variation_regularization.smooth_acceleration
13+
.. autofunction:: pynumdiff.total_variation_regularization.jerk_sliding

examples/1_basic_tutorial.ipynb

Lines changed: 18 additions & 18 deletions
Large diffs are not rendered by default.

examples/2a_optimizing_parameters_with_dxdt_known.ipynb

Lines changed: 105 additions & 409 deletions
Large diffs are not rendered by default.

examples/2b_optimizing_parameters_with_dxdt_unknown.ipynb

Lines changed: 92 additions & 402 deletions
Large diffs are not rendered by default.

examples/3_automatic_method_suggestion.ipynb

Lines changed: 10 additions & 8 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
"""This module implements some common finite difference schemes
22
"""
3-
from ._finite_difference import first_order, second_order, fourth_order
4-
5-
__all__ = ['first_order', 'second_order', 'fourth_order'] # So these get treated as direct members of the module by sphinx
3+
from ._finite_difference import finite_difference, first_order, second_order, fourth_order

pynumdiff/finite_difference/_finite_difference.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,15 @@
44
from warnings import warn
55

66

7-
def _finite_difference(x, dt, num_iterations, order):
8-
"""Helper for all finite difference methods, since their iteration structure is all the same.
7+
def finite_difference(x, dt, num_iterations, order):
8+
"""Perform iterated finite difference of a given order. This serves as the common backing function for
9+
all other methods in this module.
910
11+
:param np.array[float] x: data to differentiate
12+
:param float dt: step size
13+
:param int num_iterations: number of iterations. If >1, the derivative is integrated with trapezoidal
14+
rule, that result is finite-differenced again, and the cycle is repeated num_iterations-1 times
1015
:param int order: 1, 2, or 4, controls which finite differencing scheme to employ
11-
For other parameters and return values, see public function docstrings
1216
"""
1317
if num_iterations < 1: raise ValueError("num_iterations must be >0")
1418
if order not in [1, 2, 4]: raise ValueError("order must be 1, 2, or 4")
@@ -61,7 +65,7 @@ def _finite_difference(x, dt, num_iterations, order):
6165

6266

6367
def first_order(x, dt, params=None, options={}, num_iterations=1):
64-
"""First-order centered difference method
68+
"""First-order difference method
6569
6670
:param np.array[float] x: data to differentiate
6771
:param float dt: step size
@@ -81,7 +85,7 @@ def first_order(x, dt, params=None, options={}, num_iterations=1):
8185
warn("`params` and `options` parameters will be removed in a future version. Use `num_iterations` instead.", DeprecationWarning)
8286
num_iterations = params[0] if isinstance(params, list) else params
8387

84-
return _finite_difference(x, dt, num_iterations, 1)
88+
return finite_difference(x, dt, num_iterations, 1)
8589

8690

8791
def second_order(x, dt, num_iterations=1):
@@ -96,7 +100,7 @@ def second_order(x, dt, num_iterations=1):
96100
- **x_hat** -- original x if :code:`num_iterations=1`, else smoothed x that yielded dxdt_hat
97101
- **dxdt_hat** -- estimated derivative of x
98102
"""
99-
return _finite_difference(x, dt, num_iterations, 2)
103+
return finite_difference(x, dt, num_iterations, 2)
100104

101105

102106
def fourth_order(x, dt, num_iterations=1):
@@ -111,4 +115,4 @@ def fourth_order(x, dt, num_iterations=1):
111115
- **x_hat** -- original x if :code:`num_iterations=1`, else smoothed x that yielded dxdt_hat
112116
- **dxdt_hat** -- estimated derivative of x
113117
"""
114-
return _finite_difference(x, dt, num_iterations, 4)
118+
return finite_difference(x, dt, num_iterations, 4)

0 commit comments

Comments
 (0)