hankel
Hankel Transformations using method of Ogata 2005
What it is and what it does
Hankel is a Python library that solves Hankel transforms and integrals—a class of integral transforms needed whenever Fourier analysis must be applied to radially symmetric fields. The core problem it addresses is that standard numerical integration schemes fail on these transforms because Bessel functions oscillate wildly, making quadrature unreliable. The package implements Ogata's method, which locates the zeros of the Bessel function to construct an accurate and fast quadrature scheme.
The library is built on numpy, scipy, and mpmath, and is designed for researchers and engineers working in fields where radial symmetry and Fourier analysis intersect. It supports arbitrary-order transforms, includes built-in support for radially symmetric Fourier transforms, and is thoroughly tested. The package is production-stable, actively maintained, and requires Python 3.6 or later.
Use it for:
- Computing Hankel transforms for wave propagation problems in cylindrically symmetric media.
- Evaluating radially symmetric Fourier transforms in image processing or diffraction analysis.
- Solving integral equations involving Bessel functions in mathematical physics.
- Performing accurate numerical integration of oscillatory functions weighted by Bessel functions.
- Analyzing correlation functions with radial symmetry in statistical applications.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Computes Hankel transforms and integrals using Ogata's quadrature method, handling the oscillatory nature of Bessel function integration for radially symmetric problems.
Yes. The package solves a specific, well-defined numerical problem (Hankel transforms via Ogata's method) with low install friction, permissive licensing, no known vulnerabilities, active maintenance, and production-stable status. Install it if you need accurate Hankel transforms or radially symmetric Fourier analysis.
Install
hankel on PyPI
pip
pip install hankeluv
uv add hankelpoetry
poetry add hankelInstalling hankel
Before you install
Low friction: pure Python wheel with three stable scientific dependencies (numpy, scipy, mpmath). Repository is active with recent commits and production-stable status.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
pip install hankel
import hankel
import numpy as np
# Define a radial function and compute its Hankel transform
h = hankel.HankelTransform(nu=0)
result = h.transform(lambda r: np.exp(-r), k=1.0)
Requires Python 3.6 or later.
Verify before relying
- Accuracy benchmarks or error bounds for typical use cases beyond the Ogata 2005 reference.
- Performance characteristics (speed, memory) for large-scale or high-order transforms.
- Specific API and class names available in the hankel module for constructing transforms.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — mpmath, numpy, scipy |
| Maintenance | actively maintained — 1,114 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 132,031/month — #11,567 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: hankel-1.2.2-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
PyWaveletsPyWavelets provides discrete, continuous, and…
permissive · top 5,000 on PyPI
jaxellipProvides JAX-compatible implementations of…
permissive · top 15,000 on PyPI
nvidia-cufftProvides NVIDIA CUFFT native runtime libraries…
unclear · top 1,000 on PyPI
nvidia-cufft-cu11Provides NVIDIA CUFFT native runtime libraries…
unclear · top 5,000 on PyPI
transformationsCalculates 4x4 homogeneous transformation…
permissive · top 5,000 on PyPI
nvidia-cufft-cu12Provides NVIDIA CUFFT native runtime libraries…
unclear · top 1,000 on PyPI
humming-kernelsHumming is a JIT-compiled GEMM kernel library…
unclear · top 5,000 on PyPI
nvidia-mathdxDevice-side API extensions for performing…
unclear · top 15,000 on PyPI
gram-newton-schulzImplements a hardware-aware Gram Newton-Schulz…
permissive · top 15,000 on PyPI