scipy.special.k0e#

scipy.special.k0e(x, out=None) = <ufunc 'k0e'>#

指数尺度修正贝塞尔函数 K 的 0 阶

定义为

k0e(x) = exp(x) * k0(x).
参数:
xarray_like

参数 (浮点数)

outndarray, optional

可选的输出数组,用于存储函数值

返回:
Kscalar or ndarray

x 处指数尺度修正贝塞尔函数 K 的 0 阶的值。

另请参阅

kv

任意阶的二类修正贝塞尔函数

k0

二类修正贝塞尔函数

附注

范围被划分为两个区间 [0, 2] 和 (2, 无穷大)。在每个区间中使用切比雪夫多项式展开。

此函数是 Cephes [1] 例程 k0e 的包装器。 k0e 对于较大的参数很有用:对于这些参数,k0 容易下溢。

数组 API 标准支持

k0e 具有对 Python Array API 标准兼容后端(除了 NumPy 之外)的实验性支持。请考虑通过设置环境变量 SCIPY_ARRAY_API=1 并提供 CuPy、PyTorch、JAX 或 Dask 数组作为数组参数来测试这些功能。支持以下后端和设备(或其他功能)的组合。

CPU

GPU

NumPy

不适用

CuPy

不适用

PyTorch

JAX

⚠️ 无 JIT

Dask

不适用

有关更多信息,请参阅 对数组 API 标准的支持

参考文献

[1]

Cephes 数学函数库, http://www.netlib.org/cephes/

示例

在以下示例中,k0 返回 0,而 k0e 仍然返回一个有用的有限数字

>>> from scipy.special import k0, k0e
>>> k0(1000.), k0e(1000)
(0., 0.03962832160075422)

通过为 x 提供 NumPy 数组或列表来计算函数在几个点的值

>>> import numpy as np
>>> k0e(np.array([0.5, 2., 3.]))
array([1.52410939, 0.84156822, 0.6977616 ])

绘制从 0 到 10 的函数。

>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots()
>>> x = np.linspace(0., 10., 1000)
>>> y = k0e(x)
>>> ax.plot(x, y)
>>> plt.show()
../../_images/scipy-special-k0e-1.png