pynumdiff 0.2.1__tar.gz → 0.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/PKG-INFO +17 -4
  2. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/README.md +16 -3
  3. pynumdiff-0.2.2/notebooks/1_basic_tutorial.ipynb +780 -0
  4. pynumdiff-0.2.2/notebooks/6_multidimensionality_demo.ipynb +143 -0
  5. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/_version.py +3 -3
  6. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/basis_fit.py +44 -32
  7. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/finite_difference.py +2 -2
  8. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/kalman_smooth.py +123 -97
  9. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/polynomial_fit.py +45 -27
  10. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/smooth_finite_difference.py +2 -2
  11. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/tests/test_diff_methods.py +59 -8
  12. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/tests/test_utils.py +23 -19
  13. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/total_variation_regularization.py +51 -41
  14. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/utils/evaluate.py +2 -1
  15. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/utils/utility.py +14 -21
  16. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff.egg-info/PKG-INFO +17 -4
  17. pynumdiff-0.2.1/notebooks/1_basic_tutorial.ipynb +0 -822
  18. pynumdiff-0.2.1/notebooks/6_multidimensionality_demo.ipynb +0 -141
  19. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/.coveragerc +0 -0
  20. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/.editorconfig +0 -0
  21. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/.github/workflows/release.yml +0 -0
  22. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/.github/workflows/test.yml +0 -0
  23. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/.gitignore +0 -0
  24. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/.pylintrc +0 -0
  25. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/.readthedocs.yaml +0 -0
  26. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/CITATION.cff +0 -0
  27. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/CONTRIBUTING.md +0 -0
  28. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/LICENSE.txt +0 -0
  29. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/Makefile +0 -0
  30. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/LICENSE.rst +0 -0
  31. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/basis_fit.rst +0 -0
  32. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/code.rst +0 -0
  33. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/conf.py +0 -0
  34. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/contact.rst +0 -0
  35. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/contributing.rst +0 -0
  36. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/finite_difference.rst +0 -0
  37. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/index.rst +0 -0
  38. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/kalman_smooth.rst +0 -0
  39. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/linear_model.rst +0 -0
  40. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/optimize.rst +0 -0
  41. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/polynomial_fit.rst +0 -0
  42. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/smooth_finite_difference.rst +0 -0
  43. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/total_variation_regularization.rst +0 -0
  44. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/utils/evaluate.rst +0 -0
  45. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/utils/simulate.rst +0 -0
  46. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/utils/utility.rst +0 -0
  47. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/docs/source/utils.rst +0 -0
  48. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/logo.png +0 -0
  49. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/notebooks/2_optimizing_hyperparameters.ipynb +0 -0
  50. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/notebooks/3_automatic_method_suggestion.ipynb +0 -0
  51. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/notebooks/4_performance_analysis.ipynb +0 -0
  52. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/notebooks/5_robust_outliers_demo.ipynb +0 -0
  53. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/notebooks/README.md +0 -0
  54. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/README.md +0 -0
  55. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/__init__.py +0 -0
  56. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/linear_model.py +0 -0
  57. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/optimize.py +0 -0
  58. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/tests/__init__.py +0 -0
  59. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/tests/conftest.py +0 -0
  60. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/tests/test_optimize.py +0 -0
  61. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/utils/__init__.py +0 -0
  62. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/utils/_chartrand_tvregdiff.py +0 -0
  63. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/utils/old_pi_cruise_control.py +0 -0
  64. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff/utils/simulate.py +0 -0
  65. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff.egg-info/SOURCES.txt +0 -0
  66. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff.egg-info/dependency_links.txt +0 -0
  67. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff.egg-info/requires.txt +0 -0
  68. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pynumdiff.egg-info/top_level.txt +0 -0
  69. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/pyproject.toml +0 -0
  70. {pynumdiff-0.2.1 → pynumdiff-0.2.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pynumdiff
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: pynumdiff: numerical derivatives in python
5
5
  Maintainer-email: Floris van Breugel <fvanbreugel@unr.edu>, Pavel Komarov <pvlkmrv@uw.edu>, Yuying Liu <yliu814@uw.edu>
6
6
  License-Expression: MIT
@@ -53,8 +53,8 @@ Python methods for numerical differentiation of noisy data, including multi-obje
53
53
  <img src='https://coveralls.io/repos/github/florisvb/PyNumDiff/badge.svg?branch=master' alt='Coverage Status' /></a>
54
54
  <a href="https://badge.fury.io/py/pynumdiff">
55
55
  <img src="https://badge.fury.io/py/pynumdiff.svg" alt="PyPI"></a>
56
- <a href="https://doi.org/10.5281/zenodo.6374098">
57
- <img src="https://zenodo.org/badge/DOI/10.5281/zenodo.6374098.svg" alt="DOI"></a>
56
+ <!--a href="https://doi.org/10.5281/zenodo.6374098">
57
+ <img src="https://zenodo.org/badge/DOI/10.5281/zenodo.6374098.svg" alt="DOI"></a-->
58
58
  <a href="https://joss.theoj.org/papers/102257ee4b0142bf49bc18d7c810e9d5">
59
59
  <img src="https://joss.theoj.org/papers/102257ee4b0142bf49bc18d7c810e9d5/status.svg"></a>
60
60
  </p>
@@ -71,7 +71,7 @@ PyNumDiff is a Python package that implements various methods for computing nume
71
71
  6. generalized Kalman smoothing
72
72
  7. local approximation with linear model
73
73
 
74
- For a full list, explore modules in the [Sphinx documentation](https://pynumdiff.readthedocs.io/master/).
74
+ For a full list, explore modules in the [Sphinx documentation](https://pynumdiff.readthedocs.io/master/), or read section 7 of our [Taxonomy Paper](https://arxiv.org/abs/2512.09090).
75
75
 
76
76
  Most of these methods have multiple parameters, so we take a principled approach and propose a multi-objective optimization framework for choosing parameters that minimize a loss function to balance the faithfulness and smoothness of the derivative estimate. For more details, refer to [this paper](https://doi.org/10.1109/ACCESS.2020.3034077).
77
77
 
@@ -159,6 +159,19 @@ See CITATION.cff file as well as the following references.
159
159
  journal = {Journal of Open Source Software}
160
160
  }
161
161
 
162
+ ### Collection of numerical differentiation methods:
163
+
164
+ @misc{komarov2025taxonomynumericaldifferentiationmethods,
165
+ title={A Taxonomy of Numerical Differentiation Methods},
166
+ author={Pavel Komarov and Floris van Breugel and J. Nathan Kutz},
167
+ year={2025},
168
+ eprint={2512.09090},
169
+ archivePrefix={arXiv},
170
+ primaryClass={math.NA},
171
+ url={https://arxiv.org/abs/2512.09090}
172
+ }
173
+
174
+
162
175
  ### Optimization algorithm:
163
176
 
164
177
  @article{ParamOptimizationDerivatives2020,
@@ -16,8 +16,8 @@ Python methods for numerical differentiation of noisy data, including multi-obje
16
16
  <img src='https://coveralls.io/repos/github/florisvb/PyNumDiff/badge.svg?branch=master' alt='Coverage Status' /></a>
17
17
  <a href="https://badge.fury.io/py/pynumdiff">
18
18
  <img src="https://badge.fury.io/py/pynumdiff.svg" alt="PyPI"></a>
19
- <a href="https://doi.org/10.5281/zenodo.6374098">
20
- <img src="https://zenodo.org/badge/DOI/10.5281/zenodo.6374098.svg" alt="DOI"></a>
19
+ <!--a href="https://doi.org/10.5281/zenodo.6374098">
20
+ <img src="https://zenodo.org/badge/DOI/10.5281/zenodo.6374098.svg" alt="DOI"></a-->
21
21
  <a href="https://joss.theoj.org/papers/102257ee4b0142bf49bc18d7c810e9d5">
22
22
  <img src="https://joss.theoj.org/papers/102257ee4b0142bf49bc18d7c810e9d5/status.svg"></a>
23
23
  </p>
@@ -34,7 +34,7 @@ PyNumDiff is a Python package that implements various methods for computing nume
34
34
  6. generalized Kalman smoothing
35
35
  7. local approximation with linear model
36
36
 
37
- For a full list, explore modules in the [Sphinx documentation](https://pynumdiff.readthedocs.io/master/).
37
+ For a full list, explore modules in the [Sphinx documentation](https://pynumdiff.readthedocs.io/master/), or read section 7 of our [Taxonomy Paper](https://arxiv.org/abs/2512.09090).
38
38
 
39
39
  Most of these methods have multiple parameters, so we take a principled approach and propose a multi-objective optimization framework for choosing parameters that minimize a loss function to balance the faithfulness and smoothness of the derivative estimate. For more details, refer to [this paper](https://doi.org/10.1109/ACCESS.2020.3034077).
40
40
 
@@ -122,6 +122,19 @@ See CITATION.cff file as well as the following references.
122
122
  journal = {Journal of Open Source Software}
123
123
  }
124
124
 
125
+ ### Collection of numerical differentiation methods:
126
+
127
+ @misc{komarov2025taxonomynumericaldifferentiationmethods,
128
+ title={A Taxonomy of Numerical Differentiation Methods},
129
+ author={Pavel Komarov and Floris van Breugel and J. Nathan Kutz},
130
+ year={2025},
131
+ eprint={2512.09090},
132
+ archivePrefix={arXiv},
133
+ primaryClass={math.NA},
134
+ url={https://arxiv.org/abs/2512.09090}
135
+ }
136
+
137
+
125
138
  ### Optimization algorithm:
126
139
 
127
140
  @article{ParamOptimizationDerivatives2020,