splinekit 0.2.3__tar.gz → 0.2.5__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.
- {splinekit-0.2.3 → splinekit-0.2.5}/PKG-INFO +7 -4
- {splinekit-0.2.3 → splinekit-0.2.5}/README.md +6 -3
- splinekit-0.2.5/dev/Jupyter/padding_bases.ipynb +335 -0
- splinekit-0.2.5/dev/PythonSrc/PurePython/spline_padding.py +1903 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/bspline/bspline_bases.rst +8 -8
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/bspline/bspline_inverse.rst +2 -2
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/bspline/bspline_poles.rst +2 -2
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/bspline/spline_vs_poly.rst +2 -2
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/spline1d/bounds.rst +4 -4
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/spline1d/evaluation.rst +2 -2
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/spline1d/polynomials.rst +2 -2
- {splinekit-0.2.3 → splinekit-0.2.5}/pyproject.toml +1 -1
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/bases.py +2 -2
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/bsplines.py +2 -2
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/periodic_nonuniform_piecewise.py +28 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/periodic_spline_1d.py +40 -12
- splinekit-0.2.5/src/splinekit/spline_padding.py +2001 -0
- splinekit-0.2.3/.virtual_documents/docs/tutorial/dummy.ipynb +0 -4
- {splinekit-0.2.3 → splinekit-0.2.5}/.github/workflows/deploy-docs.yml +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/.github/workflows/release.yml +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/.github/workflows/test.yml +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/.gitignore +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/.jupyterlite.doit.db +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/CMakeLists.txt +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/LICENSE +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/api/translations/all.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/api/translations/en.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/api/workspaces/all.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/bootstrap.js +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/config-utils.js +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/consoles/favicon.ico +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/consoles/index.html +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/consoles/jupyter-lite.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/consoles/jupyter-lite.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/consoles/package.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/doc/tree/index.html +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/doc/workspaces/index.html +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/edit/favicon.ico +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/edit/index.html +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/edit/jupyter-lite.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/edit/jupyter-lite.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/edit/package.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab-jupytext/install.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab-jupytext/package.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab-jupytext/schemas/jupyterlab-jupytext/package.json.orig +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab-jupytext/schemas/jupyterlab-jupytext/plugin.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab-jupytext/static/48.0570848d2b31a5354b7d.js +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab-jupytext/static/48.0570848d2b31a5354b7d.js.LICENSE.txt +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab-jupytext/static/509.d51a8122d1920ac82323.js +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab-jupytext/static/720.094c38d70b1dec0ceea7.js +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab-jupytext/static/remoteEntry.94495aac41d2fef6ad41.js +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab-jupytext/static/style.js +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab-jupytext/static/third-party-licenses.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab_pygments/install.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab_pygments/package.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab_pygments/static/568.1e2faa2ba0bbe59c4780.js +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab_pygments/static/747.67662283a5707eeb4d4c.js +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab_pygments/static/remoteEntry.5cbb9d2323598fbda535.js +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab_pygments/static/style.js +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/extensions/jupyterlab_pygments/static/third-party-licenses.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/icon-120x120.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/icon-512x512.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/index.html +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/jupyter-lite.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/jupyter-lite.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/jupyterlite.schema.v0.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/lab/favicon.ico +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/lab/index.html +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/lab/jupyter-lite.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/lab/jupyter-lite.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/lab/package.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/lab/tree/index.html +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/lab/workspaces/index.html +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/manifest.webmanifest +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/notebooks/favicon.ico +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/notebooks/index.html +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/notebooks/jupyter-lite.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/notebooks/jupyter-lite.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/notebooks/package.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/package.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/repl/index.html +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/repl/jupyter-lite.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/repl/jupyter-lite.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/repl/package.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/service-worker.js +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/static/favicons/favicon-busy-1.ico +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/static/favicons/favicon-busy-2.ico +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/static/favicons/favicon-busy-3.ico +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/static/favicons/favicon-file.ico +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/static/favicons/favicon-notebook.ico +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/static/favicons/favicon-terminal.ico +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/static/favicons/favicon.ico +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/tree/favicon.ico +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/tree/index.html +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/tree/jupyter-lite.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/tree/jupyter-lite.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/_output/tree/package.json +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/ansi_c/spline_padding/src/spline_padding.c +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/ansi_c/spline_padding/src/spline_padding.h +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/ANSI-C/spline_padding_cmake/CMakeLists.txt +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/ANSI-C/spline_padding_cmake/spline_padding.c +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/ANSI-C/spline_padding_cmake/spline_padding.h +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/ANSI-C/spline_padding_xcode/libspline_padding.dylib +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/ANSI-C/spline_padding_xcode/spline_padding.c +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/ANSI-C/spline_padding_xcode/spline_padding.h +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/ANSI-C/spline_padding_xcode/spline_padding.xcodeproj/project.pbxproj +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/ANSI-C/spline_padding_xcode/spline_padding.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/ANSI-C/spline_padding_xcode/spline_padding.xcodeproj/project.xcworkspace/xcuserdata/pthevena.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/ANSI-C/spline_padding_xcode/spline_padding.xcodeproj/xcuserdata/pthevena.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_annihilate.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_cardinal.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_convolve_mono.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_dual.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_dual_property.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_gauss_exo.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_hello.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_hello_grad.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_hello_integral.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_inv.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_m_scale.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_member.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_member_diff.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_member_integral.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_numeric_stability.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_ortho.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_ortho_property.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_partition_mono.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_periodic_inv.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_poles.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_sinc.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_spline_poly.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_trigo_exo.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_vs_cos.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_vs_erf.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_vs_exp.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_vs_pi_as_sum.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_vs_pi_at0.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/bspline_vs_sin.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/padding_data.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/padding_speed.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/spline_approximation.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/spline_at_array.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/spline_at_scalar.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/spline_bounds.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/spline_evaluation_speed.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/spline_interpolation.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/spline_polynomials.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/spline_random_1d.ipynb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Jupyter/spline_random_2d.ipynb +0 -0
- {splinekit-0.2.3/src/splinekit → splinekit-0.2.5/dev/PythonSrc/Accelerated}/spline_padding.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Wolfram/Bspline Poles.nb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Wolfram/IntervalChecks.nb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Wolfram/PeriodicSplinesChecks.nb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Wolfram/SplinePaddingChecks.nb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Wolfram/Test BSplines.nb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Wolfram/Test PeriodicNonuniformPiecewise.nb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Wolfram/Test PeriodicSpline1D.nb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Wolfram/Test SplinePadding.nb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Wolfram/Test SplineUtilities.nb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Wolfram/Verify doc.nb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/Wolfram/rescued Test SplinePadding.nb +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/cpJupyter.sh +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/gzJupyter.sh +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/sk.numbers +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/dev/zipJupyter.sh +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/.jupyterlite.doit.db +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/_static/custom.css +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/bases/01_bases.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/bases/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/bases/noxfile.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/bsplines/01_bsplines.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/bsplines/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/bsplines/noxfile.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/conf.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/bspline/bspline_m_scale.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/bspline/bspline_members.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/bspline/bspline_numeric_stability.ipynb.gz +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/bspline/bspline_stability.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/bspline/bspline_vs_pi.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/bspline/hello_bspline.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/bspline/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/bspline/spline_engineer_func.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/padding/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/padding/padding.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/padding/padding_speed.ipynb.gz +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/spline1d/constructors.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/spline1d/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/spline1d/random1d.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/spline1d/random2d.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/demos/spline1d/spline_evaluation_speed.ipynb.gz +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/environment.yml +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/glossary/glossary-numbers.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/glossary/glossary-polynomials.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/glossary/glossary-splines.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/glossary/glossary-terminology.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/glossary/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/installation/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/bounded/01_bounded.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/bounded/02_open.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/bounded/03_open_closed.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/bounded/04_closed.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/bounded/05_closed_open.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/bounded/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/bounded/noxfile.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/degenerate/01_degenerate.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/degenerate/02_singleton.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/degenerate/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/degenerate/noxfile.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/half_bounded/01_half_bounded.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/half_bounded/02_above.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/half_bounded/03_not_below.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/half_bounded/04_not_above.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/half_bounded/05_below.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/half_bounded/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/half_bounded/noxfile.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/interval/01_interval.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/interval/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/interval/noxfile.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/noxfile.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/universal/01_universal.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/universal/02_empty.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/universal/03_rr.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/universal/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/interval/universal/noxfile.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/noxfile.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_nonuniform_piecewise/01_periodic_nonuniform_piecewise.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_nonuniform_piecewise/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_nonuniform_piecewise/noxfile.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/01_periodic_spline_1d.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m00.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m01.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m02.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m03.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m04.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m05.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m06.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m07.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m08.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m09.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m10.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m11.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m12.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m13.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m14.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m15.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m16.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m17.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m18.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m19.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m20.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m21.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m22.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m23.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/m24.png +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/matplotlib-color.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/matplotlib-linestyle.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/matplotlib-marker.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/periodic_spline_1d/noxfile.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/spline_padding/01_spline_padding.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/spline_padding/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/spline_padding/noxfile.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/spline_utilities/01_spline_utilities.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/spline_utilities/index.rst +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/docs/spline_utilities/noxfile.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/__init__.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/__init__.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/_known_intervals.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/above.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/below.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/bounded.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/closed.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/closed_open.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/degenerate.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/empty.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/half_bounded.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/interval.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/mypy.ini +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/not_above.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/not_below.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/open.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/open_closed.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/rr.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/singleton.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/interval/universal.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/mypy.ini +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/src/splinekit/spline_utilities.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/temp/bspline_stability.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/tests/test_bsplines.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/tests/test_periodic_nonuniform_piecewise.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/tests/test_periodic_spline_1d.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/tests/test_spline_padding.py +0 -0
- {splinekit-0.2.3 → splinekit-0.2.5}/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
|
+
Version: 0.2.5
|
|
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>
|
|
@@ -54,7 +54,7 @@ Description-Content-Type: text/markdown
|
|
|
54
54
|
# splinekit: Spline Operations
|
|
55
55
|
`splinekit` is a Python-based open-source software library aimed at the manipulation of one-dimensional periodic splines.
|
|
56
56
|
|
|
57
|
-
| ***<div style="background-color:aliceblue">  Full documentation at https://splinekit.github.io/   </div>*** |
|
|
57
|
+
| ***<div style="background-color:aliceblue">  Full documentation at [https://splinekit.github.io/](https://splinekit.github.io/)   </div>*** |
|
|
58
58
|
| - |
|
|
59
59
|
|
|
60
60
|
## Installation
|
|
@@ -120,5 +120,8 @@ 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
|
|
124
|
-
Some demos added
|
|
123
|
+
### 0.2.2 — 0.2.4
|
|
124
|
+
Some demos added.
|
|
125
|
+
|
|
126
|
+
### 0.2.5
|
|
127
|
+
Minor debug of least-significant-bit edge cases.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# splinekit: Spline Operations
|
|
4
4
|
`splinekit` is a Python-based open-source software library aimed at the manipulation of one-dimensional periodic splines.
|
|
5
5
|
|
|
6
|
-
| ***<div style="background-color:aliceblue">  Full documentation at https://splinekit.github.io/   </div>*** |
|
|
6
|
+
| ***<div style="background-color:aliceblue">  Full documentation at [https://splinekit.github.io/](https://splinekit.github.io/)   </div>*** |
|
|
7
7
|
| - |
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
@@ -69,5 +69,8 @@ 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
|
|
73
|
-
Some demos added
|
|
72
|
+
### 0.2.2 — 0.2.4
|
|
73
|
+
Some demos added.
|
|
74
|
+
|
|
75
|
+
### 0.2.5
|
|
76
|
+
Minor debug of least-significant-bit edge cases.
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cells": [
|
|
3
|
+
{
|
|
4
|
+
"cell_type": "markdown",
|
|
5
|
+
"id": "02240a05-3526-4530-ae12-d9522465b594",
|
|
6
|
+
"metadata": {},
|
|
7
|
+
"source": [
|
|
8
|
+
"# Padded Splines\n",
|
|
9
|
+
"The data samples are represented with circles. The first sample, as well as its replicates when the padding is globally periodic, is indicated by a red stem line. The portion of curve in thick green is tied to the observed data, with a number of samples that can be specified. The portion of curve in thick blue is the complement to a full period."
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"cell_type": "code",
|
|
14
|
+
"execution_count": 1,
|
|
15
|
+
"id": "230ca8a8-c806-4207-b416-9954d55f1377",
|
|
16
|
+
"metadata": {},
|
|
17
|
+
"outputs": [
|
|
18
|
+
{
|
|
19
|
+
"data": {
|
|
20
|
+
"application/vnd.jupyter.widget-view+json": {
|
|
21
|
+
"model_id": "9049773b238948f1b9b1057e21a9087b",
|
|
22
|
+
"version_major": 2,
|
|
23
|
+
"version_minor": 0
|
|
24
|
+
},
|
|
25
|
+
"text/plain": [
|
|
26
|
+
"interactive(children=(IntSlider(value=3, description='degree', max=9), IntSlider(value=6, description='samples…"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"execution_count": 1,
|
|
30
|
+
"metadata": {},
|
|
31
|
+
"output_type": "execute_result"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"source": [
|
|
35
|
+
"# Load the required libraries\n",
|
|
36
|
+
"import ipywidgets as widgets\n",
|
|
37
|
+
"import matplotlib.pyplot as plt\n",
|
|
38
|
+
"import numpy as np\n",
|
|
39
|
+
"\n",
|
|
40
|
+
"import splinekit as sk # This library\n",
|
|
41
|
+
"\n",
|
|
42
|
+
"# Setup\n",
|
|
43
|
+
"max_degree = 9 # Maximal spline degree\n",
|
|
44
|
+
"max_samples = 12 # Maximal support\n",
|
|
45
|
+
"\n",
|
|
46
|
+
"# Initial random periodic cubic spline\n",
|
|
47
|
+
"s0 = sk.PeriodicSpline1D.from_spline_coeff(np.random.standard_normal(6), degree = 3)\n",
|
|
48
|
+
"\n",
|
|
49
|
+
"# Plot\n",
|
|
50
|
+
"def update_plot (\n",
|
|
51
|
+
" degree = 3,\n",
|
|
52
|
+
" samples = 6,\n",
|
|
53
|
+
" basis = 0\n",
|
|
54
|
+
"):\n",
|
|
55
|
+
" global s0\n",
|
|
56
|
+
"\n",
|
|
57
|
+
" # Update of the spline\n",
|
|
58
|
+
" f = s0.get_samples(0, support_length = s0.period)\n",
|
|
59
|
+
" if s0.period < samples:\n",
|
|
60
|
+
" f = np.append(f, np.random.standard_normal(samples - len(f)))\n",
|
|
61
|
+
" else:\n",
|
|
62
|
+
" f = f[ : samples]\n",
|
|
63
|
+
" s0 = sk.PeriodicSpline1D.from_samples(f, degree = degree)\n",
|
|
64
|
+
"\n",
|
|
65
|
+
" # Decomposition according to the basis\n",
|
|
66
|
+
" subplot = plt.subplots()\n",
|
|
67
|
+
" if 0 == basis: # BASIC\n",
|
|
68
|
+
" weights = np.diag(s0.spline_coeff)\n",
|
|
69
|
+
" bases = [sk.PeriodicSpline1D.from_spline_coeff(w, degree = degree) for w in weights]\n",
|
|
70
|
+
" image = {b.image() for b in bases}\n",
|
|
71
|
+
" image.add(s0.image())\n",
|
|
72
|
+
" plotrange = sk.interval.Interval.enclosure(image)\n",
|
|
73
|
+
" plotrange = sk.interval.Closed((\n",
|
|
74
|
+
" plotrange.midpoint - 0.55 * plotrange.diameter,\n",
|
|
75
|
+
" plotrange.midpoint + 0.55 * plotrange.diameter\n",
|
|
76
|
+
" ))\n",
|
|
77
|
+
" s0.plot(\n",
|
|
78
|
+
" subplot,\n",
|
|
79
|
+
" plotrange = plotrange,\n",
|
|
80
|
+
" plotpoints = 200 + 1,\n",
|
|
81
|
+
" curve_fmt = \"-C0\",\n",
|
|
82
|
+
"# curve_markerfmt = \"\",\n",
|
|
83
|
+
" curvestem_linefmt = \"None\",\n",
|
|
84
|
+
" knot_marker = \"\",\n",
|
|
85
|
+
"# periodbound_markerfmt = \"\",\n",
|
|
86
|
+
" periodboundstem_linefmt = \"None\"\n",
|
|
87
|
+
" )\n",
|
|
88
|
+
" for k in range(s0.period):\n",
|
|
89
|
+
" sk.PeriodicSpline1D.from_spline_coeff(weights[k], degree = degree).plot(\n",
|
|
90
|
+
" subplot,\n",
|
|
91
|
+
"# plotrange = plotrange,\n",
|
|
92
|
+
" plotpoints = 200 + 1,\n",
|
|
93
|
+
" curve_fmt = \"-C\" + str(1 + k % 9),\n",
|
|
94
|
+
" curve_lw = 0.25,\n",
|
|
95
|
+
" curve_markerfmt = \"\",\n",
|
|
96
|
+
" curvestem_linefmt = \"None\",\n",
|
|
97
|
+
" knot_marker = \"\",\n",
|
|
98
|
+
" periodbound_markerfmt = \"\",\n",
|
|
99
|
+
" periodboundstem_linefmt = \"None\"\n",
|
|
100
|
+
" )\n",
|
|
101
|
+
" elif 1 == basis: # CARDINAL\n",
|
|
102
|
+
" pass\n",
|
|
103
|
+
" elif 2 == basis: # DUAL\n",
|
|
104
|
+
" pass\n",
|
|
105
|
+
" elif 3 == basis: # ORTHONORMAL\n",
|
|
106
|
+
" pass\n",
|
|
107
|
+
" plt.show()\n",
|
|
108
|
+
"\n",
|
|
109
|
+
"widgets.interactive(\n",
|
|
110
|
+
" update_plot,\n",
|
|
111
|
+
" degree = (0, max_degree),\n",
|
|
112
|
+
" samples = (1, max_samples),\n",
|
|
113
|
+
" basis = widgets.RadioButtons(\n",
|
|
114
|
+
" options = [\n",
|
|
115
|
+
" (\"BASIC\", 0),\n",
|
|
116
|
+
" (\"CARDINAL\", 1),\n",
|
|
117
|
+
" (\"DUAL\", 2),\n",
|
|
118
|
+
" (\"ORTHONORMAL\", 3)\n",
|
|
119
|
+
" ],\n",
|
|
120
|
+
" value = 0,\n",
|
|
121
|
+
" description = \"Basis:\",\n",
|
|
122
|
+
" disabled = False\n",
|
|
123
|
+
" )\n",
|
|
124
|
+
")\n"
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"cell_type": "code",
|
|
129
|
+
"execution_count": null,
|
|
130
|
+
"id": "c719d9b2-273a-431b-9812-11db4edcb69c",
|
|
131
|
+
"metadata": {},
|
|
132
|
+
"outputs": [],
|
|
133
|
+
"source": [
|
|
134
|
+
"\n",
|
|
135
|
+
"\n",
|
|
136
|
+
"\n",
|
|
137
|
+
"\n",
|
|
138
|
+
"\n",
|
|
139
|
+
"\n",
|
|
140
|
+
"\n",
|
|
141
|
+
"\n",
|
|
142
|
+
"\n",
|
|
143
|
+
"\n",
|
|
144
|
+
"\n",
|
|
145
|
+
"\n",
|
|
146
|
+
"\n",
|
|
147
|
+
"\n",
|
|
148
|
+
"\n",
|
|
149
|
+
"\n",
|
|
150
|
+
"\n",
|
|
151
|
+
"\n",
|
|
152
|
+
"\n",
|
|
153
|
+
"\n"
|
|
154
|
+
]
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"cell_type": "code",
|
|
158
|
+
"execution_count": null,
|
|
159
|
+
"id": "9f4a8be2-2daf-434d-b890-44dba41caadd",
|
|
160
|
+
"metadata": {},
|
|
161
|
+
"outputs": [],
|
|
162
|
+
"source": []
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
"metadata": {
|
|
166
|
+
"kernelspec": {
|
|
167
|
+
"display_name": "Python 3 (ipykernel)",
|
|
168
|
+
"language": "python",
|
|
169
|
+
"name": "python3"
|
|
170
|
+
},
|
|
171
|
+
"language_info": {
|
|
172
|
+
"codemirror_mode": {
|
|
173
|
+
"name": "ipython",
|
|
174
|
+
"version": 3
|
|
175
|
+
},
|
|
176
|
+
"file_extension": ".py",
|
|
177
|
+
"mimetype": "text/x-python",
|
|
178
|
+
"name": "python",
|
|
179
|
+
"nbconvert_exporter": "python",
|
|
180
|
+
"pygments_lexer": "ipython3",
|
|
181
|
+
"version": "3.12.6"
|
|
182
|
+
},
|
|
183
|
+
"widgets": {
|
|
184
|
+
"application/vnd.jupyter.widget-state+json": {
|
|
185
|
+
"state": {
|
|
186
|
+
"290f6db0175c4515ab17582f0ece0b76": {
|
|
187
|
+
"model_module": "@jupyter-widgets/base",
|
|
188
|
+
"model_module_version": "2.0.0",
|
|
189
|
+
"model_name": "LayoutModel",
|
|
190
|
+
"state": {}
|
|
191
|
+
},
|
|
192
|
+
"2bb8535562e54118900f09f11c288ee0": {
|
|
193
|
+
"model_module": "@jupyter-widgets/controls",
|
|
194
|
+
"model_module_version": "2.0.0",
|
|
195
|
+
"model_name": "SliderStyleModel",
|
|
196
|
+
"state": {
|
|
197
|
+
"description_width": ""
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
"3b3caea94c024ea286c6934c5c50c991": {
|
|
201
|
+
"model_module": "@jupyter-widgets/controls",
|
|
202
|
+
"model_module_version": "2.0.0",
|
|
203
|
+
"model_name": "DescriptionStyleModel",
|
|
204
|
+
"state": {
|
|
205
|
+
"description_width": ""
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
"5b5e9326ceea4e8bacbfbf7c303a6675": {
|
|
209
|
+
"model_module": "@jupyter-widgets/controls",
|
|
210
|
+
"model_module_version": "2.0.0",
|
|
211
|
+
"model_name": "IntSliderModel",
|
|
212
|
+
"state": {
|
|
213
|
+
"behavior": "drag-tap",
|
|
214
|
+
"description": "samples",
|
|
215
|
+
"layout": "IPY_MODEL_6882f5a10bd84a19a66c66147f5b4ee8",
|
|
216
|
+
"max": 12,
|
|
217
|
+
"min": 1,
|
|
218
|
+
"style": "IPY_MODEL_c48d7a20765e488a9e94f025180e3097",
|
|
219
|
+
"value": 6
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
"6882f5a10bd84a19a66c66147f5b4ee8": {
|
|
223
|
+
"model_module": "@jupyter-widgets/base",
|
|
224
|
+
"model_module_version": "2.0.0",
|
|
225
|
+
"model_name": "LayoutModel",
|
|
226
|
+
"state": {}
|
|
227
|
+
},
|
|
228
|
+
"6fdf071ac0a3454b910f7807befd995e": {
|
|
229
|
+
"model_module": "@jupyter-widgets/output",
|
|
230
|
+
"model_module_version": "1.0.0",
|
|
231
|
+
"model_name": "OutputModel",
|
|
232
|
+
"state": {
|
|
233
|
+
"layout": "IPY_MODEL_8519500f36604ab69c94224abe14d597",
|
|
234
|
+
"outputs": [
|
|
235
|
+
{
|
|
236
|
+
"ename": "ValueError",
|
|
237
|
+
"evalue": "Internal error (signum pieces out of sequence)",
|
|
238
|
+
"output_type": "error",
|
|
239
|
+
"traceback": [
|
|
240
|
+
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
|
|
241
|
+
"\u001b[31mValueError\u001b[39m Traceback (most recent call last)",
|
|
242
|
+
"\u001b[36mFile \u001b[39m\u001b[32m~/Documents/Programmation/Python/splinekit/splinekit-env/lib/python3.12/site-packages/ipywidgets/widgets/interaction.py:243\u001b[39m, in \u001b[36minteractive.update\u001b[39m\u001b[34m(self, *args)\u001b[39m\n\u001b[32m 241\u001b[39m value = widget.get_interact_value()\n\u001b[32m 242\u001b[39m \u001b[38;5;28mself\u001b[39m.kwargs[widget._kwarg] = value\n\u001b[32m--> \u001b[39m\u001b[32m243\u001b[39m \u001b[38;5;28mself\u001b[39m.result = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mf\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 244\u001b[39m show_inline_matplotlib_plots()\n\u001b[32m 245\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m.auto_display \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m.result \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
|
|
243
|
+
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[1]\u001b[39m\u001b[32m, line 36\u001b[39m, in \u001b[36mupdate_plot\u001b[39m\u001b[34m(degree, samples, basis)\u001b[39m\n\u001b[32m 34\u001b[39m weights = np.diag(s0.spline_coeff)\n\u001b[32m 35\u001b[39m bases = [sk.PeriodicSpline1D.from_spline_coeff(w, degree = degree) \u001b[38;5;28;01mfor\u001b[39;00m w \u001b[38;5;129;01min\u001b[39;00m weights]\n\u001b[32m---> \u001b[39m\u001b[32m36\u001b[39m image = {\u001b[43mb\u001b[49m\u001b[43m.\u001b[49m\u001b[43mimage\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m b \u001b[38;5;129;01min\u001b[39;00m bases}\n\u001b[32m 37\u001b[39m image.add(s0.image())\n\u001b[32m 38\u001b[39m plotrange = sk.interval.Interval.enclosure(image)\n",
|
|
244
|
+
"\u001b[36mFile \u001b[39m\u001b[32m~/Documents/Programmation/Python/splinekit/splinekit-env/lib/python3.12/site-packages/splinekit/periodic_spline_1d.py:3084\u001b[39m, in \u001b[36mPeriodicSpline1D.image\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 3049\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mimage\u001b[39m (\n\u001b[32m 3050\u001b[39m \u001b[38;5;28mself\u001b[39m\n\u001b[32m 3051\u001b[39m ) -> Interval:\n\u001b[32m 3053\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33mr\u001b[39m\u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 3054\u001b[39m \u001b[33;03m .. _periodic_spline_1d-image:\u001b[39;00m\n\u001b[32m 3055\u001b[39m \n\u001b[32m (...)\u001b[39m\u001b[32m 3081\u001b[39m \n\u001b[32m 3082\u001b[39m \u001b[33;03m \"\"\"\u001b[39;00m\n\u001b[32m-> \u001b[39m\u001b[32m3084\u001b[39m (minima, maxima) = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mextrema\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 3085\u001b[39m minimum = \u001b[38;5;28mself\u001b[39m.at(\u001b[32m0.0\u001b[39m)\n\u001b[32m 3086\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m ex \u001b[38;5;129;01min\u001b[39;00m minima:\n",
|
|
245
|
+
"\u001b[36mFile \u001b[39m\u001b[32m~/Documents/Programmation/Python/splinekit/splinekit-env/lib/python3.12/site-packages/splinekit/periodic_spline_1d.py:3836\u001b[39m, in \u001b[36mPeriodicSpline1D.extrema\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 3784\u001b[39m \u001b[38;5;250m\u001b[39m\u001b[33mr\u001b[39m\u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 3785\u001b[39m \u001b[33;03m.. _periodic_spline_1d-extrema:\u001b[39;00m\n\u001b[32m 3786\u001b[39m \n\u001b[32m (...)\u001b[39m\u001b[32m 3832\u001b[39m \n\u001b[32m 3833\u001b[39m \u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 3835\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[32m0\u001b[39m < \u001b[38;5;28mself\u001b[39m._degree:\n\u001b[32m-> \u001b[39m\u001b[32m3836\u001b[39m zc = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mgradient\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m.\u001b[49m\u001b[43mzero_crossings\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 3837\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m [\n\u001b[32m 3838\u001b[39m [\n\u001b[32m 3839\u001b[39m PeriodicSpline1D.Extremum(\n\u001b[32m (...)\u001b[39m\u001b[32m 3851\u001b[39m ]\n\u001b[32m 3852\u001b[39m ]\n\u001b[32m 3853\u001b[39m zc = PeriodicSpline1D.from_spline_coeff(\n\u001b[32m 3854\u001b[39m cast(\n\u001b[32m 3855\u001b[39m np.ndarray[\u001b[38;5;28mtuple\u001b[39m[\u001b[38;5;28mint\u001b[39m], np.dtype[np.float64]],\n\u001b[32m (...)\u001b[39m\u001b[32m 3866\u001b[39m delay = \u001b[38;5;28mself\u001b[39m._delay - \u001b[32m0.5\u001b[39m\n\u001b[32m 3867\u001b[39m ).zero_crossings()\n",
|
|
246
|
+
"\u001b[36mFile \u001b[39m\u001b[32m~/Documents/Programmation/Python/splinekit/splinekit-env/lib/python3.12/site-packages/splinekit/periodic_spline_1d.py:3479\u001b[39m, in \u001b[36mPeriodicSpline1D.zero_crossings\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 3423\u001b[39m \u001b[38;5;250m\u001b[39m\u001b[33mr\u001b[39m\u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 3424\u001b[39m \u001b[33;03m.. _periodic_spline_1d-zero_crossings:\u001b[39;00m\n\u001b[32m 3425\u001b[39m \n\u001b[32m (...)\u001b[39m\u001b[32m 3475\u001b[39m \n\u001b[32m 3476\u001b[39m \u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 3478\u001b[39m zc: List[List[Interval]] = [[], []]\n\u001b[32m-> \u001b[39m\u001b[32m3479\u001b[39m pieces = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mpiecewise_sgn\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m.pieces\n\u001b[32m 3480\u001b[39m p0 = \u001b[38;5;28mlen\u001b[39m(pieces)\n\u001b[32m 3481\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[32m1\u001b[39m == p0:\n",
|
|
247
|
+
"\u001b[36mFile \u001b[39m\u001b[32m~/Documents/Programmation/Python/splinekit/splinekit-env/lib/python3.12/site-packages/splinekit/periodic_spline_1d.py:5145\u001b[39m, in \u001b[36mPeriodicSpline1D.piecewise_sgn\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 5141\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(ps[k + \u001b[32m1\u001b[39m].domain, Singleton):\n\u001b[32m 5142\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m (cast(Singleton, ps[k].domain).value !=\n\u001b[32m 5143\u001b[39m cast(Singleton, ps[k + \u001b[32m1\u001b[39m].domain).value\n\u001b[32m 5144\u001b[39m ):\n\u001b[32m-> \u001b[39m\u001b[32m5145\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 5146\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mInternal error (signum pieces out of sequence)\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 5147\u001b[39m )\n\u001b[32m 5148\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m ps[k].item != ps[k + \u001b[32m1\u001b[39m].item:\n\u001b[32m 5149\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 5150\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mInternal error (inconsistent signum pieces)\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 5151\u001b[39m )\n",
|
|
248
|
+
"\u001b[31mValueError\u001b[39m: Internal error (signum pieces out of sequence)"
|
|
249
|
+
]
|
|
250
|
+
}
|
|
251
|
+
]
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
"7ba55e1b03db4b89a1cde51c90aaae39": {
|
|
255
|
+
"model_module": "@jupyter-widgets/base",
|
|
256
|
+
"model_module_version": "2.0.0",
|
|
257
|
+
"model_name": "LayoutModel",
|
|
258
|
+
"state": {}
|
|
259
|
+
},
|
|
260
|
+
"8519500f36604ab69c94224abe14d597": {
|
|
261
|
+
"model_module": "@jupyter-widgets/base",
|
|
262
|
+
"model_module_version": "2.0.0",
|
|
263
|
+
"model_name": "LayoutModel",
|
|
264
|
+
"state": {}
|
|
265
|
+
},
|
|
266
|
+
"8e70752be84440da833d2747a6324ee2": {
|
|
267
|
+
"model_module": "@jupyter-widgets/base",
|
|
268
|
+
"model_module_version": "2.0.0",
|
|
269
|
+
"model_name": "LayoutModel",
|
|
270
|
+
"state": {}
|
|
271
|
+
},
|
|
272
|
+
"9049773b238948f1b9b1057e21a9087b": {
|
|
273
|
+
"model_module": "@jupyter-widgets/controls",
|
|
274
|
+
"model_module_version": "2.0.0",
|
|
275
|
+
"model_name": "VBoxModel",
|
|
276
|
+
"state": {
|
|
277
|
+
"_dom_classes": [
|
|
278
|
+
"widget-interact"
|
|
279
|
+
],
|
|
280
|
+
"children": [
|
|
281
|
+
"IPY_MODEL_9ea84a760b584c848df4d702b9ec310d",
|
|
282
|
+
"IPY_MODEL_5b5e9326ceea4e8bacbfbf7c303a6675",
|
|
283
|
+
"IPY_MODEL_ad5e0df428f64a12b638042d8deb165b",
|
|
284
|
+
"IPY_MODEL_6fdf071ac0a3454b910f7807befd995e"
|
|
285
|
+
],
|
|
286
|
+
"layout": "IPY_MODEL_290f6db0175c4515ab17582f0ece0b76"
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
"9ea84a760b584c848df4d702b9ec310d": {
|
|
290
|
+
"model_module": "@jupyter-widgets/controls",
|
|
291
|
+
"model_module_version": "2.0.0",
|
|
292
|
+
"model_name": "IntSliderModel",
|
|
293
|
+
"state": {
|
|
294
|
+
"behavior": "drag-tap",
|
|
295
|
+
"description": "degree",
|
|
296
|
+
"layout": "IPY_MODEL_7ba55e1b03db4b89a1cde51c90aaae39",
|
|
297
|
+
"max": 9,
|
|
298
|
+
"style": "IPY_MODEL_2bb8535562e54118900f09f11c288ee0",
|
|
299
|
+
"value": 7
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
"ad5e0df428f64a12b638042d8deb165b": {
|
|
303
|
+
"model_module": "@jupyter-widgets/controls",
|
|
304
|
+
"model_module_version": "2.0.0",
|
|
305
|
+
"model_name": "RadioButtonsModel",
|
|
306
|
+
"state": {
|
|
307
|
+
"_options_labels": [
|
|
308
|
+
"BASIC",
|
|
309
|
+
"CARDINAL",
|
|
310
|
+
"DUAL",
|
|
311
|
+
"ORTHONORMAL"
|
|
312
|
+
],
|
|
313
|
+
"description": "Basis:",
|
|
314
|
+
"index": 0,
|
|
315
|
+
"layout": "IPY_MODEL_8e70752be84440da833d2747a6324ee2",
|
|
316
|
+
"style": "IPY_MODEL_3b3caea94c024ea286c6934c5c50c991"
|
|
317
|
+
}
|
|
318
|
+
},
|
|
319
|
+
"c48d7a20765e488a9e94f025180e3097": {
|
|
320
|
+
"model_module": "@jupyter-widgets/controls",
|
|
321
|
+
"model_module_version": "2.0.0",
|
|
322
|
+
"model_name": "SliderStyleModel",
|
|
323
|
+
"state": {
|
|
324
|
+
"description_width": ""
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
},
|
|
328
|
+
"version_major": 2,
|
|
329
|
+
"version_minor": 0
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
"nbformat": 4,
|
|
334
|
+
"nbformat_minor": 5
|
|
335
|
+
}
|