xorbits.numpy.i0#
- xorbits.numpy.i0(x, **kwargs)[source]#
Modified Bessel function of the first kind, order 0.
Usually denoted \(I_0\).
- Parameters
x (array_like of float) – Argument of the Bessel function.
- Returns
out – The modified Bessel function evaluated at each of the elements of x.
- Return type
ndarray, shape = x.shape, dtype = float
See also
scipy.special.i0
,scipy.special.iv
,scipy.special.ive
Notes
The scipy implementation is recommended over this function: it is a proper ufunc written in C, and more than an order of magnitude faster.
We use the algorithm published by Clenshaw 1 and referenced by Abramowitz and Stegun 2, for which the function domain is partitioned into the two intervals [0,8] and (8,inf), and Chebyshev polynomial expansions are employed in each interval. Relative error on the domain [0,30] using IEEE arithmetic is documented 3 as having a peak of 5.8e-16 with an rms of 1.4e-16 (n = 30000).
References
- 1
C. W. Clenshaw, “Chebyshev series for mathematical functions”, in National Physical Laboratory Mathematical Tables, vol. 5, London: Her Majesty’s Stationery Office, 1962.
- 2
M. Abramowitz and I. A. Stegun, Handbook of Mathematical Functions, 10th printing, New York: Dover, 1964, pp. 379. https://personal.math.ubc.ca/~cbm/aands/page_379.htm
- 3
Examples
>>> np.i0(0.) array(1.0) >>> np.i0([0, 1, 2, 3]) array([1. , 1.26606588, 2.2795853 , 4.88079259])
This docstring was copied from numpy.