scipy.special.j1#
- scipy.special.j1(x, out=None) = <ufunc 'j1'>#
Bessel function of the first kind of order 1.
- Parameters:
- xarray_like
Argument (float).
- outndarray, optional
Optional output array for the function values
- Returns:
- Jscalar or ndarray
Value of the Bessel function of the first kind of order 1 at x.
See also
jv
Bessel function of the first kind
spherical_jn
spherical Bessel functions.
Notes
The domain is divided into the intervals [0, 8] and (8, infinity). In the first interval a 24 term Chebyshev expansion is used. In the second, the asymptotic trigonometric representation is employed using two rational functions of degree 5/5.
This function is a wrapper for the Cephes [1] routine
j1
. It should not be confused with the spherical Bessel functions (seespherical_jn
).Array API Standard Support
j1
has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variableSCIPY_ARRAY_API=1
and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.Library
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
✅
PyTorch
✅
✅
JAX
⚠️ no JIT
⛔
Dask
✅
n/a
See Support for the array API standard for more information.
References
[1]Cephes Mathematical Functions Library, http://www.netlib.org/cephes/
Examples
Calculate the function at one point:
>>> from scipy.special import j1 >>> j1(1.) 0.44005058574493355
Calculate the function at several points:
>>> import numpy as np >>> j1(np.array([-2., 0., 4.])) array([-0.57672481, 0. , -0.06604333])
Plot the function from -20 to 20.
>>> import matplotlib.pyplot as plt >>> fig, ax = plt.subplots() >>> x = np.linspace(-20., 20., 1000) >>> y = j1(x) >>> ax.plot(x, y) >>> plt.show()