scipy.special.betaincc#
- scipy.special.betaincc(a, b, x, out=None) = <ufunc 'betaincc'>#
正则不完全贝塔函数的补数。
计算正则不完全贝塔函数的补数,定义为 [1]
\[\bar{I}_x(a, b) = 1 - I_x(a, b) = 1 - \frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)} \int_0^x t^{a-1}(1-t)^{b-1}dt,\]对于 \(0 \leq x \leq 1\)。
- 参数:
- a, barray_like
正的实数值参数
- xarray_like
实数值,使得 \(0 \leq x \leq 1\),积分上限
- outndarray, optional
函数值的可选输出数组
- 返回:
- 标量或 ndarray
正则不完全贝塔函数的值
另请参阅
betainc
正则不完全贝塔函数
betaincinv
正则不完全贝塔函数的逆函数
betainccinv
正则不完全贝塔函数补数的逆函数
beta
贝塔函数
scipy.stats.beta
贝塔分布
注释
在 1.11.0 版本中添加。
与
betainc
类似,betaincc(a, b, x)
被视为单变量 x 的双参数函数族,而不是三个变量的函数。有关这如何影响极限情况的更多信息,请参见betainc
文档字符串。此函数包装了 Boost Math C++ 库中的
ibetac
例程 [2]。betaincc
除了 NumPy 之外,还对 Python Array API Standard 兼容的后端提供实验性支持。 请考虑通过设置环境变量SCIPY_ARRAY_API=1
并提供 CuPy、PyTorch、JAX 或 Dask 数组作为数组参数来测试这些功能。 支持以下后端和设备(或其他功能)的组合。库
CPU
GPU
NumPy
✅
不适用
CuPy
不适用
✅
PyTorch
✅
⛔
JAX
✅
✅
Dask
✅
不适用
有关更多信息,请参见 对数组 API 标准的支持。
参考文献
[1]NIST 数学函数数字图书馆 https://dlmf.nist.gov/8.17
[2]Boost 开发者。“Boost C++ Libraries”。https://boost.ac.cn/。
示例
>>> from scipy.special import betaincc, betainc
当
betainc(a, b, x)
的值接近 1 时,朴素计算1 - betainc(a, b, x)
会损失精度>>> 1 - betainc(0.5, 8, [0.9, 0.99, 0.999]) array([2.0574632e-09, 0.0000000e+00, 0.0000000e+00])
通过使用
betaincc
,我们可以获得正确的值>>> betaincc(0.5, 8, [0.9, 0.99, 0.999]) array([2.05746321e-09, 1.97259354e-17, 1.96467954e-25])