scipy.special.binom#
- scipy.special.binom(x, y, out=None) = <ufunc 'binom'>#
二项式系数,被视为两个实变量的函数。
对于实数参数,二项式系数定义为
\[\binom{x}{y} = \frac{\Gamma(x + 1)}{\Gamma(y + 1)\Gamma(x - y + 1)} = \frac{1}{(x + 1)\mathrm{B}(x - y + 1, y + 1)}\]其中 \(\Gamma\) 是伽玛函数 (
gamma
),\(\mathrm{B}\) 是贝塔函数 (beta
) [1]。- 参数:
- x, y: array_like
\(\binom{x}{y}\) 的实数参数。
- outndarray,可选
函数值的可选输出数组
- 返回:
- 标量或 ndarray
二项式系数值。
另请参阅
comb
从 N 个事物中取出 k 个事物的组合数。
注释
伽玛函数在非正整数处有极点,并且根据从实数线接近极点的方向,趋向于正无穷或负无穷。当作为两个实变量的函数考虑时,当 x 是负整数时,\(\binom{x}{y}\) 因此是未定义的。
binom
在x
是负整数时返回nan
。即使当x
是负整数而y
是整数时,情况也是如此,这与将 \(\binom{n}{k}\) 视为两个整数变量的函数时的通常约定相反。参考文献
示例
>>> from scipy.special import binom, comb
当
exact=False
且x
和y
均为正数时,comb
在内部调用binom
。>>> x, y = 3, 2 >>> (binom(x, y), comb(x, y), comb(x, y, exact=True)) (3.0, 3.0, 3)
对于较大的值,带有
exact=True
的comb
不再与binom
一致。>>> x, y = 43, 23 >>> (binom(x, y), comb(x, y), comb(x, y, exact=True)) (960566918219.9999, 960566918219.9999, 960566918220)
当
x
是负整数时,binom
返回nan
,但对于负参数另有定义。当x
或y
为负数或x
小于y
时,comb
返回 0。>>> x, y = -3, 2 >>> (binom(x, y), comb(x, y)) (nan, 0.0)
>>> x, y = -3.1, 2.2 >>> (binom(x, y), comb(x, y)) (18.714147876804432, 0.0)
>>> x, y = 2.2, 3.1 >>> (binom(x, y), comb(x, y)) (0.037399983365134115, 0.0)