https://github.com/f0uriest/interpax
Interpolation and function approximation with JAX
https://github.com/f0uriest/interpax
Last synced: 3 months ago
JSON representation
Interpolation and function approximation with JAX
- Host: GitHub
- URL: https://github.com/f0uriest/interpax
- Owner: f0uriest
- License: mit
- Created: 2023-10-18T13:12:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-31T06:56:53.000Z (3 months ago)
- Last Synced: 2025-04-01T08:42:44.727Z (3 months ago)
- Language: Python
- Size: 268 KB
- Stars: 166
- Watchers: 3
- Forks: 15
- Open Issues: 13
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
- awesome-jax - interpax - Interpolation and function approximation with JAX. <img src="https://img.shields.io/github/stars/f0uriest/interpax?style=social" align="center"> (Libraries)
- awesome-jax - interpax - Interpolation and function approximation with JAX. <img src="https://img.shields.io/github/stars/f0uriest/interpax?style=social" align="center"> (Libraries)
README
########
interpax
########
|License| |DOI| |Issues| |Pypi||Docs| |UnitTests| |Codecov|
interpax is a library for interpolation and function approximation using JAX.
Includes methods for nearest neighbor, linear, and several cubic interpolation schemes
in 1d, 2d, and 3d, as well as Fourier interpolation for periodic functions in
1d and 2d.Coming soon:
- Spline interpolation for rectilinear grids in N-dimensions
- RBF interpolation for unstructured data in N-dimensions
- Smoothing splines for noisy dataInstallation
============interpax is installable with `pip`:
.. code-block:: console
pip install interpax
Usage
=====.. code-block:: python
import jax.numpy as jnp
import numpy as np
from interpax import interp1dxp = jnp.linspace(0, 2 * np.pi, 100)
xq = jnp.linspace(0, 2 * np.pi, 10000)
f = lambda x: jnp.sin(x)
fp = f(xp)fq = interp1d(xq, xp, fp, method="cubic")
np.testing.assert_allclose(fq, f(xq), rtol=1e-6, atol=1e-5)For full details of various options see the `API documentation `__
.. |License| image:: https://img.shields.io/github/license/f0uriest/interpax?color=blue&logo=open-source-initiative&logoColor=white
:target: https://github.com/f0uriest/interpax/blob/master/LICENSE
:alt: License.. |DOI| image:: https://zenodo.org/badge/706703896.svg
:target: https://zenodo.org/doi/10.5281/zenodo.10028967
:alt: DOI.. |Docs| image:: https://img.shields.io/readthedocs/interpax?logo=Read-the-Docs
:target: https://interpax.readthedocs.io/en/latest/?badge=latest
:alt: Documentation.. |UnitTests| image:: https://github.com/f0uriest/interpax/actions/workflows/unittest.yml/badge.svg
:target: https://github.com/f0uriest/interpax/actions/workflows/unittest.yml
:alt: UnitTests.. |Codecov| image:: https://codecov.io/github/f0uriest/interpax/graph/badge.svg?token=MB11I7WE3I
:target: https://codecov.io/github/f0uriest/interpax
:alt: Coverage.. |Issues| image:: https://img.shields.io/github/issues/f0uriest/interpax
:target: https://github.com/f0uriest/interpax/issues
:alt: GitHub issues.. |Pypi| image:: https://img.shields.io/pypi/v/interpax
:target: https://pypi.org/project/interpax/
:alt: Pypi