splinekit 0.2.3__tar.gz → 0.2.4__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 (293) hide show
  1. {splinekit-0.2.3 → splinekit-0.2.4}/PKG-INFO +2 -2
  2. {splinekit-0.2.3 → splinekit-0.2.4}/README.md +1 -1
  3. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/bspline/bspline_bases.rst +8 -8
  4. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/bspline/bspline_inverse.rst +2 -2
  5. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/bspline/bspline_poles.rst +2 -2
  6. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/bspline/spline_vs_poly.rst +2 -2
  7. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/spline1d/bounds.rst +4 -4
  8. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/spline1d/evaluation.rst +2 -2
  9. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/spline1d/polynomials.rst +2 -2
  10. {splinekit-0.2.3 → splinekit-0.2.4}/pyproject.toml +1 -1
  11. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/bases.py +2 -2
  12. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/bsplines.py +2 -2
  13. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/periodic_spline_1d.py +12 -12
  14. {splinekit-0.2.3 → splinekit-0.2.4}/.github/workflows/deploy-docs.yml +0 -0
  15. {splinekit-0.2.3 → splinekit-0.2.4}/.github/workflows/release.yml +0 -0
  16. {splinekit-0.2.3 → splinekit-0.2.4}/.github/workflows/test.yml +0 -0
  17. {splinekit-0.2.3 → splinekit-0.2.4}/.gitignore +0 -0
  18. {splinekit-0.2.3 → splinekit-0.2.4}/.jupyterlite.doit.db +0 -0
  19. {splinekit-0.2.3 → splinekit-0.2.4}/.virtual_documents/docs/tutorial/dummy.ipynb +0 -0
  20. {splinekit-0.2.3 → splinekit-0.2.4}/CMakeLists.txt +0 -0
  21. {splinekit-0.2.3 → splinekit-0.2.4}/LICENSE +0 -0
  22. {splinekit-0.2.3 → splinekit-0.2.4}/_output/api/translations/all.json +0 -0
  23. {splinekit-0.2.3 → splinekit-0.2.4}/_output/api/translations/en.json +0 -0
  24. {splinekit-0.2.3 → splinekit-0.2.4}/_output/api/workspaces/all.json +0 -0
  25. {splinekit-0.2.3 → splinekit-0.2.4}/_output/bootstrap.js +0 -0
  26. {splinekit-0.2.3 → splinekit-0.2.4}/_output/config-utils.js +0 -0
  27. {splinekit-0.2.3 → splinekit-0.2.4}/_output/consoles/favicon.ico +0 -0
  28. {splinekit-0.2.3 → splinekit-0.2.4}/_output/consoles/index.html +0 -0
  29. {splinekit-0.2.3 → splinekit-0.2.4}/_output/consoles/jupyter-lite.ipynb +0 -0
  30. {splinekit-0.2.3 → splinekit-0.2.4}/_output/consoles/jupyter-lite.json +0 -0
  31. {splinekit-0.2.3 → splinekit-0.2.4}/_output/consoles/package.json +0 -0
  32. {splinekit-0.2.3 → splinekit-0.2.4}/_output/doc/tree/index.html +0 -0
  33. {splinekit-0.2.3 → splinekit-0.2.4}/_output/doc/workspaces/index.html +0 -0
  34. {splinekit-0.2.3 → splinekit-0.2.4}/_output/edit/favicon.ico +0 -0
  35. {splinekit-0.2.3 → splinekit-0.2.4}/_output/edit/index.html +0 -0
  36. {splinekit-0.2.3 → splinekit-0.2.4}/_output/edit/jupyter-lite.ipynb +0 -0
  37. {splinekit-0.2.3 → splinekit-0.2.4}/_output/edit/jupyter-lite.json +0 -0
  38. {splinekit-0.2.3 → splinekit-0.2.4}/_output/edit/package.json +0 -0
  39. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab-jupytext/install.json +0 -0
  40. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab-jupytext/package.json +0 -0
  41. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab-jupytext/schemas/jupyterlab-jupytext/package.json.orig +0 -0
  42. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab-jupytext/schemas/jupyterlab-jupytext/plugin.json +0 -0
  43. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab-jupytext/static/48.0570848d2b31a5354b7d.js +0 -0
  44. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab-jupytext/static/48.0570848d2b31a5354b7d.js.LICENSE.txt +0 -0
  45. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab-jupytext/static/509.d51a8122d1920ac82323.js +0 -0
  46. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab-jupytext/static/720.094c38d70b1dec0ceea7.js +0 -0
  47. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab-jupytext/static/remoteEntry.94495aac41d2fef6ad41.js +0 -0
  48. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab-jupytext/static/style.js +0 -0
  49. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab-jupytext/static/third-party-licenses.json +0 -0
  50. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab_pygments/install.json +0 -0
  51. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab_pygments/package.json +0 -0
  52. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab_pygments/static/568.1e2faa2ba0bbe59c4780.js +0 -0
  53. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab_pygments/static/747.67662283a5707eeb4d4c.js +0 -0
  54. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab_pygments/static/remoteEntry.5cbb9d2323598fbda535.js +0 -0
  55. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab_pygments/static/style.js +0 -0
  56. {splinekit-0.2.3 → splinekit-0.2.4}/_output/extensions/jupyterlab_pygments/static/third-party-licenses.json +0 -0
  57. {splinekit-0.2.3 → splinekit-0.2.4}/_output/icon-120x120.png +0 -0
  58. {splinekit-0.2.3 → splinekit-0.2.4}/_output/icon-512x512.png +0 -0
  59. {splinekit-0.2.3 → splinekit-0.2.4}/_output/index.html +0 -0
  60. {splinekit-0.2.3 → splinekit-0.2.4}/_output/jupyter-lite.ipynb +0 -0
  61. {splinekit-0.2.3 → splinekit-0.2.4}/_output/jupyter-lite.json +0 -0
  62. {splinekit-0.2.3 → splinekit-0.2.4}/_output/jupyterlite.schema.v0.json +0 -0
  63. {splinekit-0.2.3 → splinekit-0.2.4}/_output/lab/favicon.ico +0 -0
  64. {splinekit-0.2.3 → splinekit-0.2.4}/_output/lab/index.html +0 -0
  65. {splinekit-0.2.3 → splinekit-0.2.4}/_output/lab/jupyter-lite.ipynb +0 -0
  66. {splinekit-0.2.3 → splinekit-0.2.4}/_output/lab/jupyter-lite.json +0 -0
  67. {splinekit-0.2.3 → splinekit-0.2.4}/_output/lab/package.json +0 -0
  68. {splinekit-0.2.3 → splinekit-0.2.4}/_output/lab/tree/index.html +0 -0
  69. {splinekit-0.2.3 → splinekit-0.2.4}/_output/lab/workspaces/index.html +0 -0
  70. {splinekit-0.2.3 → splinekit-0.2.4}/_output/manifest.webmanifest +0 -0
  71. {splinekit-0.2.3 → splinekit-0.2.4}/_output/notebooks/favicon.ico +0 -0
  72. {splinekit-0.2.3 → splinekit-0.2.4}/_output/notebooks/index.html +0 -0
  73. {splinekit-0.2.3 → splinekit-0.2.4}/_output/notebooks/jupyter-lite.ipynb +0 -0
  74. {splinekit-0.2.3 → splinekit-0.2.4}/_output/notebooks/jupyter-lite.json +0 -0
  75. {splinekit-0.2.3 → splinekit-0.2.4}/_output/notebooks/package.json +0 -0
  76. {splinekit-0.2.3 → splinekit-0.2.4}/_output/package.json +0 -0
  77. {splinekit-0.2.3 → splinekit-0.2.4}/_output/repl/index.html +0 -0
  78. {splinekit-0.2.3 → splinekit-0.2.4}/_output/repl/jupyter-lite.ipynb +0 -0
  79. {splinekit-0.2.3 → splinekit-0.2.4}/_output/repl/jupyter-lite.json +0 -0
  80. {splinekit-0.2.3 → splinekit-0.2.4}/_output/repl/package.json +0 -0
  81. {splinekit-0.2.3 → splinekit-0.2.4}/_output/service-worker.js +0 -0
  82. {splinekit-0.2.3 → splinekit-0.2.4}/_output/static/favicons/favicon-busy-1.ico +0 -0
  83. {splinekit-0.2.3 → splinekit-0.2.4}/_output/static/favicons/favicon-busy-2.ico +0 -0
  84. {splinekit-0.2.3 → splinekit-0.2.4}/_output/static/favicons/favicon-busy-3.ico +0 -0
  85. {splinekit-0.2.3 → splinekit-0.2.4}/_output/static/favicons/favicon-file.ico +0 -0
  86. {splinekit-0.2.3 → splinekit-0.2.4}/_output/static/favicons/favicon-notebook.ico +0 -0
  87. {splinekit-0.2.3 → splinekit-0.2.4}/_output/static/favicons/favicon-terminal.ico +0 -0
  88. {splinekit-0.2.3 → splinekit-0.2.4}/_output/static/favicons/favicon.ico +0 -0
  89. {splinekit-0.2.3 → splinekit-0.2.4}/_output/tree/favicon.ico +0 -0
  90. {splinekit-0.2.3 → splinekit-0.2.4}/_output/tree/index.html +0 -0
  91. {splinekit-0.2.3 → splinekit-0.2.4}/_output/tree/jupyter-lite.ipynb +0 -0
  92. {splinekit-0.2.3 → splinekit-0.2.4}/_output/tree/jupyter-lite.json +0 -0
  93. {splinekit-0.2.3 → splinekit-0.2.4}/_output/tree/package.json +0 -0
  94. {splinekit-0.2.3 → splinekit-0.2.4}/ansi_c/spline_padding/src/spline_padding.c +0 -0
  95. {splinekit-0.2.3 → splinekit-0.2.4}/ansi_c/spline_padding/src/spline_padding.h +0 -0
  96. {splinekit-0.2.3 → splinekit-0.2.4}/dev/ANSI-C/spline_padding_cmake/CMakeLists.txt +0 -0
  97. {splinekit-0.2.3 → splinekit-0.2.4}/dev/ANSI-C/spline_padding_cmake/spline_padding.c +0 -0
  98. {splinekit-0.2.3 → splinekit-0.2.4}/dev/ANSI-C/spline_padding_cmake/spline_padding.h +0 -0
  99. {splinekit-0.2.3 → splinekit-0.2.4}/dev/ANSI-C/spline_padding_xcode/libspline_padding.dylib +0 -0
  100. {splinekit-0.2.3 → splinekit-0.2.4}/dev/ANSI-C/spline_padding_xcode/spline_padding.c +0 -0
  101. {splinekit-0.2.3 → splinekit-0.2.4}/dev/ANSI-C/spline_padding_xcode/spline_padding.h +0 -0
  102. {splinekit-0.2.3 → splinekit-0.2.4}/dev/ANSI-C/spline_padding_xcode/spline_padding.xcodeproj/project.pbxproj +0 -0
  103. {splinekit-0.2.3 → splinekit-0.2.4}/dev/ANSI-C/spline_padding_xcode/spline_padding.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
  104. {splinekit-0.2.3 → splinekit-0.2.4}/dev/ANSI-C/spline_padding_xcode/spline_padding.xcodeproj/project.xcworkspace/xcuserdata/pthevena.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  105. {splinekit-0.2.3 → splinekit-0.2.4}/dev/ANSI-C/spline_padding_xcode/spline_padding.xcodeproj/xcuserdata/pthevena.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
  106. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_annihilate.ipynb +0 -0
  107. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_cardinal.ipynb +0 -0
  108. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_convolve_mono.ipynb +0 -0
  109. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_dual.ipynb +0 -0
  110. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_dual_property.ipynb +0 -0
  111. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_gauss_exo.ipynb +0 -0
  112. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_hello.ipynb +0 -0
  113. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_hello_grad.ipynb +0 -0
  114. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_hello_integral.ipynb +0 -0
  115. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_inv.ipynb +0 -0
  116. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_m_scale.ipynb +0 -0
  117. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_member.ipynb +0 -0
  118. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_member_diff.ipynb +0 -0
  119. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_member_integral.ipynb +0 -0
  120. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_numeric_stability.ipynb +0 -0
  121. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_ortho.ipynb +0 -0
  122. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_ortho_property.ipynb +0 -0
  123. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_partition_mono.ipynb +0 -0
  124. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_periodic_inv.ipynb +0 -0
  125. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_poles.ipynb +0 -0
  126. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_sinc.ipynb +0 -0
  127. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_spline_poly.ipynb +0 -0
  128. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_trigo_exo.ipynb +0 -0
  129. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_vs_cos.ipynb +0 -0
  130. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_vs_erf.ipynb +0 -0
  131. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_vs_exp.ipynb +0 -0
  132. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_vs_pi_as_sum.ipynb +0 -0
  133. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_vs_pi_at0.ipynb +0 -0
  134. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/bspline_vs_sin.ipynb +0 -0
  135. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/padding_data.ipynb +0 -0
  136. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/padding_speed.ipynb +0 -0
  137. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/spline_approximation.ipynb +0 -0
  138. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/spline_at_array.ipynb +0 -0
  139. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/spline_at_scalar.ipynb +0 -0
  140. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/spline_bounds.ipynb +0 -0
  141. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/spline_evaluation_speed.ipynb +0 -0
  142. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/spline_interpolation.ipynb +0 -0
  143. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/spline_polynomials.ipynb +0 -0
  144. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/spline_random_1d.ipynb +0 -0
  145. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Jupyter/spline_random_2d.ipynb +0 -0
  146. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Wolfram/Bspline Poles.nb +0 -0
  147. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Wolfram/IntervalChecks.nb +0 -0
  148. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Wolfram/PeriodicSplinesChecks.nb +0 -0
  149. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Wolfram/SplinePaddingChecks.nb +0 -0
  150. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Wolfram/Test BSplines.nb +0 -0
  151. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Wolfram/Test PeriodicNonuniformPiecewise.nb +0 -0
  152. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Wolfram/Test PeriodicSpline1D.nb +0 -0
  153. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Wolfram/Test SplinePadding.nb +0 -0
  154. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Wolfram/Test SplineUtilities.nb +0 -0
  155. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Wolfram/Verify doc.nb +0 -0
  156. {splinekit-0.2.3 → splinekit-0.2.4}/dev/Wolfram/rescued Test SplinePadding.nb +0 -0
  157. {splinekit-0.2.3 → splinekit-0.2.4}/dev/cpJupyter.sh +0 -0
  158. {splinekit-0.2.3 → splinekit-0.2.4}/dev/gzJupyter.sh +0 -0
  159. {splinekit-0.2.3 → splinekit-0.2.4}/dev/sk.numbers +0 -0
  160. {splinekit-0.2.3 → splinekit-0.2.4}/dev/zipJupyter.sh +0 -0
  161. {splinekit-0.2.3 → splinekit-0.2.4}/docs/.jupyterlite.doit.db +0 -0
  162. {splinekit-0.2.3 → splinekit-0.2.4}/docs/_static/custom.css +0 -0
  163. {splinekit-0.2.3 → splinekit-0.2.4}/docs/bases/01_bases.rst +0 -0
  164. {splinekit-0.2.3 → splinekit-0.2.4}/docs/bases/index.rst +0 -0
  165. {splinekit-0.2.3 → splinekit-0.2.4}/docs/bases/noxfile.py +0 -0
  166. {splinekit-0.2.3 → splinekit-0.2.4}/docs/bsplines/01_bsplines.rst +0 -0
  167. {splinekit-0.2.3 → splinekit-0.2.4}/docs/bsplines/index.rst +0 -0
  168. {splinekit-0.2.3 → splinekit-0.2.4}/docs/bsplines/noxfile.py +0 -0
  169. {splinekit-0.2.3 → splinekit-0.2.4}/docs/conf.py +0 -0
  170. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/bspline/bspline_m_scale.rst +0 -0
  171. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/bspline/bspline_members.rst +0 -0
  172. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/bspline/bspline_numeric_stability.ipynb.gz +0 -0
  173. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/bspline/bspline_stability.rst +0 -0
  174. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/bspline/bspline_vs_pi.rst +0 -0
  175. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/bspline/hello_bspline.rst +0 -0
  176. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/bspline/index.rst +0 -0
  177. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/bspline/spline_engineer_func.rst +0 -0
  178. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/index.rst +0 -0
  179. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/padding/index.rst +0 -0
  180. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/padding/padding.rst +0 -0
  181. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/padding/padding_speed.ipynb.gz +0 -0
  182. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/spline1d/constructors.rst +0 -0
  183. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/spline1d/index.rst +0 -0
  184. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/spline1d/random1d.rst +0 -0
  185. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/spline1d/random2d.rst +0 -0
  186. {splinekit-0.2.3 → splinekit-0.2.4}/docs/demos/spline1d/spline_evaluation_speed.ipynb.gz +0 -0
  187. {splinekit-0.2.3 → splinekit-0.2.4}/docs/environment.yml +0 -0
  188. {splinekit-0.2.3 → splinekit-0.2.4}/docs/glossary/glossary-numbers.rst +0 -0
  189. {splinekit-0.2.3 → splinekit-0.2.4}/docs/glossary/glossary-polynomials.rst +0 -0
  190. {splinekit-0.2.3 → splinekit-0.2.4}/docs/glossary/glossary-splines.rst +0 -0
  191. {splinekit-0.2.3 → splinekit-0.2.4}/docs/glossary/glossary-terminology.rst +0 -0
  192. {splinekit-0.2.3 → splinekit-0.2.4}/docs/glossary/index.rst +0 -0
  193. {splinekit-0.2.3 → splinekit-0.2.4}/docs/index.rst +0 -0
  194. {splinekit-0.2.3 → splinekit-0.2.4}/docs/installation/index.rst +0 -0
  195. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/bounded/01_bounded.rst +0 -0
  196. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/bounded/02_open.rst +0 -0
  197. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/bounded/03_open_closed.rst +0 -0
  198. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/bounded/04_closed.rst +0 -0
  199. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/bounded/05_closed_open.rst +0 -0
  200. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/bounded/index.rst +0 -0
  201. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/bounded/noxfile.py +0 -0
  202. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/degenerate/01_degenerate.rst +0 -0
  203. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/degenerate/02_singleton.rst +0 -0
  204. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/degenerate/index.rst +0 -0
  205. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/degenerate/noxfile.py +0 -0
  206. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/half_bounded/01_half_bounded.rst +0 -0
  207. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/half_bounded/02_above.rst +0 -0
  208. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/half_bounded/03_not_below.rst +0 -0
  209. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/half_bounded/04_not_above.rst +0 -0
  210. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/half_bounded/05_below.rst +0 -0
  211. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/half_bounded/index.rst +0 -0
  212. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/half_bounded/noxfile.py +0 -0
  213. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/index.rst +0 -0
  214. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/interval/01_interval.rst +0 -0
  215. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/interval/index.rst +0 -0
  216. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/interval/noxfile.py +0 -0
  217. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/noxfile.py +0 -0
  218. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/universal/01_universal.rst +0 -0
  219. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/universal/02_empty.rst +0 -0
  220. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/universal/03_rr.rst +0 -0
  221. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/universal/index.rst +0 -0
  222. {splinekit-0.2.3 → splinekit-0.2.4}/docs/interval/universal/noxfile.py +0 -0
  223. {splinekit-0.2.3 → splinekit-0.2.4}/docs/noxfile.py +0 -0
  224. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_nonuniform_piecewise/01_periodic_nonuniform_piecewise.rst +0 -0
  225. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_nonuniform_piecewise/index.rst +0 -0
  226. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_nonuniform_piecewise/noxfile.py +0 -0
  227. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/01_periodic_spline_1d.rst +0 -0
  228. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/index.rst +0 -0
  229. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m00.png +0 -0
  230. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m01.png +0 -0
  231. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m02.png +0 -0
  232. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m03.png +0 -0
  233. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m04.png +0 -0
  234. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m05.png +0 -0
  235. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m06.png +0 -0
  236. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m07.png +0 -0
  237. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m08.png +0 -0
  238. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m09.png +0 -0
  239. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m10.png +0 -0
  240. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m11.png +0 -0
  241. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m12.png +0 -0
  242. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m13.png +0 -0
  243. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m14.png +0 -0
  244. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m15.png +0 -0
  245. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m16.png +0 -0
  246. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m17.png +0 -0
  247. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m18.png +0 -0
  248. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m19.png +0 -0
  249. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m20.png +0 -0
  250. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m21.png +0 -0
  251. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m22.png +0 -0
  252. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m23.png +0 -0
  253. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/m24.png +0 -0
  254. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/matplotlib-color.rst +0 -0
  255. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/matplotlib-linestyle.rst +0 -0
  256. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/matplotlib-marker.rst +0 -0
  257. {splinekit-0.2.3 → splinekit-0.2.4}/docs/periodic_spline_1d/noxfile.py +0 -0
  258. {splinekit-0.2.3 → splinekit-0.2.4}/docs/spline_padding/01_spline_padding.rst +0 -0
  259. {splinekit-0.2.3 → splinekit-0.2.4}/docs/spline_padding/index.rst +0 -0
  260. {splinekit-0.2.3 → splinekit-0.2.4}/docs/spline_padding/noxfile.py +0 -0
  261. {splinekit-0.2.3 → splinekit-0.2.4}/docs/spline_utilities/01_spline_utilities.rst +0 -0
  262. {splinekit-0.2.3 → splinekit-0.2.4}/docs/spline_utilities/index.rst +0 -0
  263. {splinekit-0.2.3 → splinekit-0.2.4}/docs/spline_utilities/noxfile.py +0 -0
  264. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/__init__.py +0 -0
  265. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/__init__.py +0 -0
  266. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/_known_intervals.py +0 -0
  267. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/above.py +0 -0
  268. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/below.py +0 -0
  269. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/bounded.py +0 -0
  270. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/closed.py +0 -0
  271. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/closed_open.py +0 -0
  272. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/degenerate.py +0 -0
  273. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/empty.py +0 -0
  274. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/half_bounded.py +0 -0
  275. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/interval.py +0 -0
  276. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/mypy.ini +0 -0
  277. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/not_above.py +0 -0
  278. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/not_below.py +0 -0
  279. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/open.py +0 -0
  280. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/open_closed.py +0 -0
  281. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/rr.py +0 -0
  282. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/singleton.py +0 -0
  283. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/interval/universal.py +0 -0
  284. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/mypy.ini +0 -0
  285. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/periodic_nonuniform_piecewise.py +0 -0
  286. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/spline_padding.py +0 -0
  287. {splinekit-0.2.3 → splinekit-0.2.4}/src/splinekit/spline_utilities.py +0 -0
  288. {splinekit-0.2.3 → splinekit-0.2.4}/temp/bspline_stability.py +0 -0
  289. {splinekit-0.2.3 → splinekit-0.2.4}/tests/test_bsplines.py +0 -0
  290. {splinekit-0.2.3 → splinekit-0.2.4}/tests/test_periodic_nonuniform_piecewise.py +0 -0
  291. {splinekit-0.2.3 → splinekit-0.2.4}/tests/test_periodic_spline_1d.py +0 -0
  292. {splinekit-0.2.3 → splinekit-0.2.4}/tests/test_spline_padding.py +0 -0
  293. {splinekit-0.2.3 → splinekit-0.2.4}/tests/test_spline_utilities.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: splinekit
3
- Version: 0.2.3
3
+ Version: 0.2.4
4
4
  Summary: A set of functions and classes to handle periodic 1D polynomial splines
5
5
  Author-Email: =?utf-8?q?Philippe_Th=C3=A9venaz?= <philippe.thevenaz@icloud.com>
6
6
  Maintainer-Email: =?utf-8?q?Philippe_Th=C3=A9venaz?= <philippe.thevenaz@icloud.com>
@@ -120,5 +120,5 @@ First stable version. Pure Python.
120
120
  ### 0.2.1
121
121
  Same API as 0.1.0. Ansi-C dynamic library.
122
122
 
123
- ### 0.2.2
123
+ ### 0.2.2 — 0.2.4
124
124
  Some demos added
@@ -69,5 +69,5 @@ First stable version. Pure Python.
69
69
  ### 0.2.1
70
70
  Same API as 0.1.0. Ansi-C dynamic library.
71
71
 
72
- ### 0.2.2
72
+ ### 0.2.2 — 0.2.4
73
73
  Some demos added
@@ -89,10 +89,10 @@ While a B-spline has many favorable properties, it comes at a price: it is not i
89
89
  In the sequel, the B-spline basis provides the reference to which all other bases will be compared. We set
90
90
 
91
91
  .. math::
92
- \begin{eqnarray*}
92
+ \begin{array}{rcl}
93
93
  f:{\mathbb{R}}\rightarrow{\mathbb{R}},\;x\mapsto f(x)&=&\sum_{k\in{\mathbb{R}}}\,c[k]\,\varphi(x-k)\\
94
94
  &=&\sum_{k\in{\mathbb{R}}}\,c_{1}[k]\,\beta^{n}(x-k).
95
- \end{eqnarray*}
95
+ \end{array}
96
96
 
97
97
  Here, we plot a B-spline over its support, indexed by its degree.
98
98
 
@@ -113,11 +113,11 @@ There exists a basis :math:`\eta^{n}` that happens to be interpolating. It is ca
113
113
  It then holds that
114
114
 
115
115
  .. math::
116
- \begin{eqnarray*}
116
+ \begin{array}{rcl}
117
117
  f:{\mathbb{R}}\rightarrow{\mathbb{R}},\;x\mapsto f(x)&=&\sum_{k\in{\mathbb{R}}}\,c[k]\,\varphi(x-k)\\
118
118
  &=&\sum_{k\in{\mathbb{R}}}\,c_{1}[k]\,\beta^{n}(x-k)\\
119
119
  &=&\sum_{k\in{\mathbb{R}}}\,c_{2}[k]\,\eta^{n}(x-k).
120
- \end{eqnarray*}
120
+ \end{array}
121
121
 
122
122
 
123
123
  Here, we plot a cardinal B-spline, indexed by its degree.
@@ -148,12 +148,12 @@ Dual B-Spline
148
148
  Let the basis :math:`\mathring{\beta}^{n_{2},n_{1}}` of dual degree :math:`n_{2}\in{\mathbb{N}}` and primal degree :math:`n_{1}\in{\mathbb{N}}` be called a dual B-spline. It is yet another basis that is sometimes used to provide an alternate (equivalent) representation of the spline as
149
149
 
150
150
  .. math::
151
- \begin{eqnarray*}
151
+ \begin{array}{rcl}
152
152
  f:{\mathbb{R}}\rightarrow{\mathbb{R}},\;x\mapsto f(x)&=&\sum_{k\in{\mathbb{R}}}\,c[k]\,\varphi(x-k)\\
153
153
  &=&\sum_{k\in{\mathbb{R}}}\,c_{1}[k]\,\beta^{n}(x-k)\\
154
154
  &=&\sum_{k\in{\mathbb{R}}}\,c_{2}[k]\,\eta^{n}(x-k)\\
155
155
  &=&\sum_{k\in{\mathbb{R}}}\,c_{3}[k]\,\mathring{\beta}^{n,n_{1}}(x-k).
156
- \end{eqnarray*}
156
+ \end{array}
157
157
 
158
158
  Here, the equality of the representations of :math:`f` is achieved only if we set :math:`n_{2}=n,` while the primal degree :math:`n_{1}\in{\mathbb{N}}` is free. The defining property of a dual B-spline is that it is the unique spline of degree :math:`n_{2}` which, once convolved with a B-spline of degree :math:`n_{1},` results in a cardinal, interpolating spline. Formally, this is written as
159
159
 
@@ -186,13 +186,13 @@ Orthonormal B-Spline
186
186
  Let the orthonormal B-spline :math:`\phi^{n}` of degree :math:`n` be a final basis of interest that is sometimes used to provide an alternate (equivalent) representation of the spline as
187
187
 
188
188
  .. math::
189
- \begin{eqnarray*}
189
+ \begin{array}{rcl}
190
190
  f:{\mathbb{R}}\rightarrow{\mathbb{R}},\;x\mapsto f(x)&=&\sum_{k\in{\mathbb{R}}}\,c[k]\,\varphi(x-k)\\
191
191
  &=&\sum_{k\in{\mathbb{R}}}\,c_{1}[k]\,\beta^{n}(x-k)\\
192
192
  &=&\sum_{k\in{\mathbb{R}}}\,c_{2}[k]\,\eta^{n}(x-k)\\
193
193
  &=&\sum_{k\in{\mathbb{R}}}\,c_{3}[k]\,\mathring{\beta}^{n,n_{1}}(x-k)\\
194
194
  &=&\sum_{k\in{\mathbb{R}}}\,c_{4}[k]\,\phi^{n}(x-k).
195
- \end{eqnarray*}
195
+ \end{array}
196
196
 
197
197
  The defining property of the orthonormal B-spline is that it is the unique (up to its sign) spline of degree :math:`n` which, once convolved with itself, results in a cardinal, interpolating spline. Formally, this is written as
198
198
 
@@ -24,10 +24,10 @@ B-splines are continuously defined functions :math:`\beta^{n}:{\mathbb{R}}\right
24
24
  One question that arises now is whether the sequence :math:`b^{n}` possesses a discrete-convolution inverse sequence. Let us notate such inverse sequence as :math:`\left(b^{n}\right)^{-1}.` What we are primarily asking is whether there exists :math:`\left(b^{n}\right)^{-1}` such that
25
25
 
26
26
  .. math::
27
- \begin{eqnarray*}
27
+ \begin{array}{rcl}
28
28
  \forall k\in{\mathbb{Z}}:{\mathbf{[\![}}k=0\,{\mathbf{]\!]}}&=&\left(\left(b^{n}\right)^{-1}*b^{n}\right)[k]\\
29
29
  &=&\sum_{q\in{\mathbb{Z}}}\,\left(b^{n}\right)^{-1}[q]\,b^{n}[k-q],
30
- \end{eqnarray*}
30
+ \end{array}
31
31
 
32
32
  where the notation :math:`{\mathbf{[\![}}\cdot\,{\mathbf{]\!]}}` is that of the Iverson bracket. (From a mathematical point of view, let us observe that the convolution is always well-defined because of the finite-support property of :math:`b^{n}.`)
33
33
 
@@ -41,10 +41,10 @@ Every function :math:`f` built this way is said to be a spline. Remarkably, the
41
41
  One often deploys splines with the purpose of interpolating data samples. In practice, given a :math:`Q`-dimensional vector :math:`{\mathbf{y}}\in{\mathbb{R}}^{Q}` of samples, it is desired to find a specific sequence of coefficients :math:`c` that results in a spline :math:`f` satisfying the interpolation constraint :math:`\left(f(q)\right)_{q=0}^{Q-1}={\mathbf{y}}.` Unfortunately, the coefficients are not unique. Indeed, suppose that one has found a sequence :math:`c` that satisfies the interpolation constraint. Then, other sequences :math:`c'` can be established as
42
42
 
43
43
  .. math::
44
- \begin{eqnarray}
44
+ \begin{array}{rcl}
45
45
  \forall q\in{\mathbb{Z}}:f(q)&=&\sum_{k\in{\mathbb{Z}}}\,c[k]\,\beta^{n}(q-k)\\
46
46
  &=&\sum_{k\in{\mathbb{Z}}}\,\underbrace{\left(c[k]+\sum_{m=1}^{\left\lfloor n/2\right\rfloor}\,\left(\lambda_{m}^{-}\,z_{n,m}^{-k}+\lambda_{m}^{+}\,z_{n,m}^{k}\right)\right)}_{c'[k]}\,\beta^{n}(q-k),
47
- \end{eqnarray}
47
+ \end{array}
48
48
 
49
49
  where :math:`\lambda_{m}^{-}` and :math:`\lambda_{m}^{+}` are unconstrained real numbers which, altogether, provide :math:`2\,\left\lfloor n/2\right\rfloor` degrees of liberty.
50
50
 
@@ -56,10 +56,10 @@ Partition of Monomials
56
56
  The generic polynomial :math:`\pi_{n}:{\mathbb{R}}\rightarrow{\mathbb{R}},x\mapsto\pi_{n}(x)=a_{0}+\sum_{m=1}^{n}\,a_{m}\,x^{m}` is a weighted linear sum of a constant term :math:`1` and of canonic monomials :math:`x^{m},` with respective weights :math:`a_{0}` and :math:`a_{m}.` If we want to discover the spline coefficients :math:`c` needed to represent :math:`\pi_{n}` as a spline, all we need to know is which are the spline coefficients :math:`c_{m}^{n}` that will represent the monomial of degree :math:`m` as the spline :math:`\sum_{k\in{\mathbb{Z}}}\,c_{m}^{n}[k]\,\beta^{n}(x-k)` for :math:`x\in{\mathbb{R}},` assuming that :math:`0<m\leq n.` Then, the finite-support property of B-splines will alleviate concerns about the convergence of the sums involved and will allow us to write that
57
57
 
58
58
  .. math::
59
- \begin{eqnarray}
59
+ \begin{array}{rcl}
60
60
  \pi_{n}(x)&=&a_{0}\,\left(\sum_{k\in{\mathbb{Z}}}\,\beta^{n}(x-k)\right)+\sum_{m=1}^{n}\,a_{m}\,\left(\sum_{k\in{\mathbb{Z}}}\,c_{m}^{n}[k]\,\beta^{n}(x-k)\right)\\
61
61
  &=&\sum_{k\in{\mathbb{Z}}}\,\left(a_{0}+\sum_{m=1}^{n}\,a_{m}\,c_{m}^{n}[k]\right)\,\beta^{n}(x-k).
62
- \end{eqnarray}
62
+ \end{array}
63
63
 
64
64
  The identification :math:`c[k]=a_{0}+\sum_{m=1}^{n}\,a_{m}\,c_{m}^{n}[k]` for :math:`k\in{\mathbb{Z}}` will finally result in the desired representation :math:`\pi_{n}(x)=\sum_{k\in{\mathbb{Z}}}\,c[k]\,\beta^{n}(x-k)` for :math:`x\in{\mathbb{R}}.`
65
65
 
@@ -65,10 +65,10 @@ Assume finally that :math:`n>m>0.` In this case, letting :math:`{\mathbf{e}}_{m+
65
65
  satisfies our requirements. Indeed, for all :math:`x\in{\mathbb{X}}_{r},` some algebraic manipulations lead to
66
66
 
67
67
  .. math::
68
- \begin{eqnarray*}
68
+ \begin{array}{rcl}
69
69
  0&\leq&{\mathbf{u}}_{r}^{{\mathsf{T}}}\,{\mathbf{W}}^{m}\,{\mathbf{v}}^{m}({\mathrm{frac}}(x-\frac{m-1}{2}-\delta y))-{\mathbf{c}}_{r}^{{\mathsf{T}}}\,{\mathbf{W}}^{n}\,{\mathbf{v}}^{n}(\chi)\\
70
70
  &=&\chi^{m}\,\sum_{k=m+1}^{n}\,\left\{\begin{array}{ll}-a_{k+1}\,\chi^{k-m},&a_{k+1}<0\\a_{k+1}\,\left(1-\chi^{k-m}\right),&0\leq a_{k+1}.\end{array}\right.
71
- \end{eqnarray*}
71
+ \end{array}
72
72
 
73
73
  Global Bound
74
74
  ^^^^^^^^^^^^
@@ -91,10 +91,10 @@ and observe that
91
91
  The nonnegativity of B-splines allows us to finally establish that
92
92
 
93
93
  .. math::
94
- \begin{eqnarray*}
94
+ \begin{array}{rcl}
95
95
  \forall x\in{\mathbb{X}}_{r}:g(x)-{\mathbf{u}}_{r}^{{\mathsf{T}}}\,{\mathbf{W}}^{m}\,{\mathbf{v}}^{m}(\chi)&=&\sum_{k=0}^{m}\,\left(\left(\max_{\rho=0}^{m}\,\left[{\mathbf{u}}_{{\left(\rho-k+r\right)\bmod K}}\right]_{\rho+1}\right)-\left[{\mathbf{u}}_{r}\right]_{k+1}\right)\,\beta^{m}(x-\delta y+r-k)\\
96
96
  &\geq&\sum_{k=0}^{m}\,\left(\left[{\mathbf{u}}_{r}\right]_{k+1}-\left[{\mathbf{u}}_{r}\right]_{k+1}\right)\,\beta^{m}(x-\delta y+r-k)=0,
97
- \end{eqnarray*}
97
+ \end{array}
98
98
 
99
99
  from which we conclude that :math:`g` is an upper bound of :math:`f.`
100
100
 
@@ -28,10 +28,10 @@ where :math:`K\in{\mathbb{N}}+1` is a positive integer period, :math:`c` is an a
28
28
  Since the support of a B-spline is finite, the sum is finite at any given argument :math:`x.` Moreover, since B-splines of positive degrees are themselves made of unit-length pieces of polynomials, one can deploy the formalism of linear-algebra to make the expression of the spline recipe take the form
29
29
 
30
30
  .. math::
31
- \begin{eqnarray*}
31
+ \begin{array}{rcl}
32
32
  \forall n\in{\mathbb{N}}+1,\forall x\in{\mathbb{R}}:f(x)&=&\left(\begin{array}{c}c[{\left(-r\right)\bmod K}]\\c[{\left(1-r\right)\bmod K}]\\c[{\left(2-r]\right)\bmod K}\\\vdots\\c[{\left(n-r\right)\bmod K}]\end{array}\right)^{{\mathsf{T}}}\,\left(\begin{array}{ccccc}w_{0,0}^{n}&w_{0,1}^{n}&w_{0,2}^{n}&\cdots&w_{0,n}^{n}\\w_{1,0}^{n}&w_{1,1}^{n}&w_{1,2}^{n}&\cdots&w_{1,n}^{n}\\w_{2,0}^{n}&w_{2,1}^{n}&w_{2,2}^{n}&\cdots&w_{2,n}^{n}\\\vdots&\vdots&\vdots&\ddots&\vdots\\w_{n,0}^{n}&w_{n,1}^{n}&w_{n,2}^{n}&\cdots&w_{n,n}^{n}\end{array}\right)\,\left(\begin{array}{c}1\\v\\v^{2}\\\vdots\\v^{n}\end{array}\right)\\
33
33
  &=&{\color{blue}{{\mathbf{c}}}}^{{\mathsf{T}}}\,{\color{blue}{{\mathbf{W}}^{n}}}\,{\color{blue}{{\mathbf{v}}^{n}}},
34
- \end{eqnarray*}
34
+ \end{array}
35
35
 
36
36
  where :math:`{\color{blue}{{\mathbf{c}}}}\in{\mathbb{R}}^{n+1}` is a vector whose :math:`n+1` components are extracted from the data-dependent array :math:`c` at some integer :math:`r\in{\mathbb{Z}}` that depends in discrete fashion on :math:`\left(x-\delta x\right),` where :math:`{\color{blue}{{\mathbf{W}}^{n}}}\in{\mathbb{R}}^{\left(n+1\right)\times\left(n+1\right)}` is a matrix that depends on :math:`n` only, and where :math:`{\color{blue}{{\mathbf{v}}^{n}}}\in{\mathbb{R}}^{n+1}` is a Vandermonde vector whose every component belongs to the interval :math:`[0,1]` and is made to depend continuously on :math:`\left(x-\delta x\right).`
37
37
 
@@ -48,10 +48,10 @@ This function is made of polynomial pieces because of the term :math:`x^{n}` in
48
48
  In accord with the definition, the B-spline of degree zero is
49
49
 
50
50
  .. math::
51
- \begin{eqnarray*}
51
+ \begin{array}{rcl}
52
52
  \beta^{0}(x)&=&\varsigma^{0}(x+\frac{1}{2})-\varsigma^{0}(x-\frac{1}{2})\\
53
53
  &=&\left\{\begin{array}{ll}1,&\left|x\right|<\frac{1}{2}\\\frac{1}{2},&\left|x\right|=\frac{1}{2}\\0,&\frac{1}{2}<\left|x\right|.\end{array}\right.
54
- \end{eqnarray*}
54
+ \end{array}
55
55
 
56
56
  Among many important properties, for all degrees :math:`n\in{\mathbb{N}}` and for all :math:`x\in{\mathbb{R}},` the B-splines thus defined
57
57
 
@@ -12,7 +12,7 @@ build-backend = "scikit_build_core.build" # Activate for C dynamic library
12
12
  # Project
13
13
  [project]
14
14
  name = "splinekit"
15
- version = "0.2.3"
15
+ version = "0.2.4"
16
16
  dependencies = [
17
17
  "numpy >=1.26",
18
18
  "scipy >=1.15",
@@ -18,12 +18,12 @@ class Bases:
18
18
 
19
19
  .. math::
20
20
 
21
- \begin{eqnarray*}
21
+ \begin{array}{rcl}
22
22
  f(x)&=&\sum_{k\in{\mathbb{Z}}}\,c[k]\,\beta^{n}(x-k)\\
23
23
  &=&\sum_{k\in{\mathbb{Z}}}\,f(k)\,\eta^{n}(x-k)\\
24
24
  &=&\sum_{k\in{\mathbb{Z}}}\,g[k]\,\mathring{\beta}^{n,n}(x-k)\\
25
25
  &=&\sum_{k\in{\mathbb{Z}}}\,a[k]\,\phi^{n}(x-k).
26
- \end{eqnarray*}
26
+ \end{array}
27
27
 
28
28
  In general, while the spline :math:`f` remains the same, the coefficients
29
29
  are mutually different, with
@@ -1195,7 +1195,7 @@ def convolve_b_spline_monomial (
1195
1195
 
1196
1196
  .. math::
1197
1197
 
1198
- \begin{eqnarray*}
1198
+ \begin{array}{rcl}
1199
1199
  \left({\mathrm{D}}^{d}\beta^{n}*\left(\cdot\right)^{m}\right)(x)&=&
1200
1200
  \int_{{\mathbb{R}}}\,
1201
1201
  \frac{{\mathrm{d}}^{d}\beta^{n}(y)}{{\mathrm{d}}y^{d}}\,
@@ -1205,7 +1205,7 @@ def convolve_b_spline_monomial (
1205
1205
  \left(x+\frac{n+1}{2}-k\right)^{m+n+1-d}\\
1206
1206
  &=&\textcolor{green}{\gamma_{m}^{n}[0]+
1207
1207
  \sum_{k=1}^{m+n+1-d}\,\gamma_{m}^{n}[k]\,x^{k}}.
1208
- \end{eqnarray*}
1208
+ \end{array}
1209
1209
 
1210
1210
  Parameters
1211
1211
  ----------
@@ -1223,12 +1223,12 @@ class PeriodicSpline1D:
1223
1223
 
1224
1224
  .. math::
1225
1225
 
1226
- \begin{eqnarray*}
1226
+ \begin{array}{rcl}
1227
1227
  s_{1}(x)&=&\sum_{k\in{\mathbb{Z}}}\,c_{1}[{k\bmod K}]\,
1228
1228
  \beta^{n_{1}}(x-\delta x_{1}-k)\\
1229
1229
  s_{2}(x)&=&\sum_{k\in{\mathbb{Z}}}\,c_{2}[{k\bmod K}]\,
1230
1230
  \beta^{n_{2}}(x-\delta x_{2}-k),
1231
- \end{eqnarray*}
1231
+ \end{array}
1232
1232
 
1233
1233
  the created sum
1234
1234
 
@@ -1321,12 +1321,12 @@ class PeriodicSpline1D:
1321
1321
 
1322
1322
  .. math::
1323
1323
 
1324
- \begin{eqnarray*}
1324
+ \begin{array}{rcl}
1325
1325
  s_{1}(x)&=&\sum_{k\in{\mathbb{Z}}}\,c_{1}[{k\bmod K}]\,
1326
1326
  \beta^{n_{1}}(x-\delta x_{1}-k)\\
1327
1327
  s_{2}(x)&=&\sum_{k\in{\mathbb{Z}}}\,c_{2}[{k\bmod K}]\,
1328
1328
  \beta^{n_{2}}(x-\delta x_{2}-k),
1329
- \end{eqnarray*}
1329
+ \end{array}
1330
1330
 
1331
1331
  the created convolution result is
1332
1332
 
@@ -1413,12 +1413,12 @@ class PeriodicSpline1D:
1413
1413
 
1414
1414
  .. math::
1415
1415
 
1416
- \begin{eqnarray*}
1416
+ \begin{array}{rcl}
1417
1417
  s_{1}(x)&=&\sum_{k\in{\mathbb{Z}}}\,c_{1}[{k\bmod K}]\,
1418
1418
  \beta^{n_{1}}(x-\delta x_{1}-k)\\
1419
1419
  s_{2}(x)&=&\sum_{k\in{\mathbb{Z}}}\,c_{2}[{k\bmod K}]\,
1420
1420
  \beta^{n_{2}}(x-\delta x_{2}-k),
1421
- \end{eqnarray*}
1421
+ \end{array}
1422
1422
 
1423
1423
  the created zero-normalized cross-correlation result
1424
1424
  :math:`f(x)\in[-1,1]` is
@@ -2355,12 +2355,12 @@ class PeriodicSpline1D:
2355
2355
 
2356
2356
  .. math::
2357
2357
 
2358
- \begin{eqnarray*}
2358
+ \begin{array}{rcl}
2359
2359
  f(x)&=&\sum_{k\in{\mathbb{Z}}}\,c[{k\bmod K}]\,
2360
2360
  \beta^{n}(x-\delta x-k)\\
2361
2361
  &=&{\mathbf{c}}^{{\mathsf{T}}}\,{\mathbf{W}}^{n}\,
2362
2362
  {\mathbf{v}}^{n}(\chi).
2363
- \end{eqnarray*}
2363
+ \end{array}
2364
2364
 
2365
2365
  There, :math:`c` are the :math:`K` spline coefficients,
2366
2366
  :math:`{\mathbf{c}}=\left(c[{\left(k-r\right)\bmod
@@ -2461,13 +2461,13 @@ class PeriodicSpline1D:
2461
2461
 
2462
2462
  .. math::
2463
2463
 
2464
- \begin{eqnarray*}
2464
+ \begin{array}{rcl}
2465
2465
  \left(f(x_{0}+\frac{q}{M})\right)_{q=0}^{L\,M-1}&=&
2466
2466
  \left(\sum_{k\in{\mathbb{Z}}}\,c[{k\bmod K}]\,
2467
2467
  \beta^{n}(x_{0}+\frac{q}{M}-\delta x-k)\right)_{q=0}^{L\,M-1}\\
2468
2468
  &=&\left({\mathbf{c}}_{q}^{{\mathsf{T}}}\,{\mathbf{W}}^{n}\,
2469
2469
  {\mathbf{v}}^{n}(\chi_{x_{0}})\right)_{q=0}^{L\,M-1}.
2470
- \end{eqnarray*}
2470
+ \end{array}
2471
2471
 
2472
2472
  There, :math:`L` is ``support_length``, :math:`M` is ``oversampling``,
2473
2473
  :math:`x_{0}` is ``starting_at``, and :math:`c` are the :math:`K`
@@ -4575,12 +4575,12 @@ class PeriodicSpline1D:
4575
4575
 
4576
4576
  .. math::
4577
4577
 
4578
- \begin{eqnarray*}
4578
+ \begin{array}{rcl}
4579
4579
  f(x)&=&\sum_{k\in{\mathbb{Z}}}\,c[{k\bmod K}]\,
4580
4580
  \beta^{n}(x-\delta x-k)\\
4581
4581
  &=&{\mathbf{c}}^{{\mathsf{T}}}\,{\mathbf{W}}^{n}\,
4582
4582
  {\mathbf{v}}^{n}(\chi).
4583
- \end{eqnarray*}
4583
+ \end{array}
4584
4584
 
4585
4585
  There, :math:`c` are the :math:`K` spline coefficients,
4586
4586
  :math:`{\mathbf{c}}=\left(c[{\left(k-r\right)\bmod
File without changes
File without changes
File without changes
File without changes