scipy.special.
factorial2#
- scipy.special.factorial2(n, exact=False, extend='zero')[源代码]#
双阶乘。
这是每隔一个值跳过的阶乘。例如,
7!! = 7 * 5 * 3 * 1
。它可以数值近似为n!! = 2 ** (n / 2) * gamma(n / 2 + 1) * sqrt(2 / pi) n odd = 2 ** (n / 2) * gamma(n / 2 + 1) n even = 2 ** (n / 2) * (n / 2)! n even
奇数
n
的公式是复数扩展的基础。- 参数:
- nint 或 float 或 complex(或它们的类数组)
输入
n!!
的值。非整数值需要extend='complex'
。默认情况下,n < 0
的返回值是 0。- exactbool,可选
如果
exact
设置为 True,则使用整数算术精确计算答案,否则使用上面的近似值(更快,但产生浮点数而不是整数)。默认为 False。- extend字符串,可选
'zero'
或'complex'
之一;这决定了如何处理值n<0
- 默认情况下它们为 0,但可以选择加入双阶乘的复数扩展。这也允许将复数值传递给n
。警告
使用
'complex'
扩展也会改变偶数整数的双阶乘值,将其减小sqrt(2/pi) ~= 0.79
的系数,见 [1]。
- 返回:
- nfint 或 float 或 complex 或 ndarray
n
的双阶乘,为整数、浮点数或复数(取决于exact
和extend
)。数组输入以数组形式返回。
参考文献
示例
>>> from scipy.special import factorial2 >>> factorial2(7, exact=False) array(105.00000000000001) >>> factorial2(7, exact=True) 105