scipy.special.ellipkm1#
- scipy.special.ellipkm1(p, out=None) = <ufunc 'ellipkm1'>#
第一类完全椭圆积分在 m = 1 附近
此函数定义为
\[K(p) = \int_0^{\pi/2} [1 - m \sin(t)^2]^{-1/2} dt\]其中 m = 1 - p。
- 参数:
- parray_like
将椭圆积分的参数定义为 m = 1 - p。
- outndarray, optional
可选的输出数组,用于存储函数值
- 返回:
- Kscalar or ndarray
椭圆积分的值。
附注
Cephes [1] 例程 ellpk 的封装。
对于
p <= 1,计算使用近似值:\[K(p) \approx P(p) - \log(p) Q(p)\]其中 \(P\) 和 \(Q\) 是十阶多项式。参数 p 在内部使用,而不是 m,以便将
m = 1处的对数奇点移动到原点;这可以保持最大的精度。对于p > 1,使用恒等式:\[K(p) = K(1/p)/\sqrt{p}\]。
数组 API 标准支持
ellipkm1对 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/