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
的公式是複數擴展的基礎。- 參數:
- n整數或浮點數或複數(或其array_like)
n!!
的輸入值。非整數值需要extend='complex'
。預設情況下,n < 0
的傳回值為 0。- exactbool,可選
如果
exact
設定為 True,則使用整數算術精確計算答案,否則使用上述近似值(更快,但產生浮點數而不是整數)。預設值為 False。- extend字串,可選
'zero'
或'complex'
之一;這決定如何處理值n<0
- 預設情況下它們為 0,但可以選擇加入雙階乘的複數擴展。這也允許將複數值傳遞給n
。警告
使用
'complex'
擴展也會更改偶數整數的雙階乘值,將它們減少sqrt(2/pi) ~= 0.79
的因子,請參閱 [1]。
- 返回:
- nf整數或浮點數或複數或 ndarray
n
的雙階乘,以整數、浮點數或複數形式返回(取決於exact
和extend
)。陣列輸入以陣列形式返回。
參考文獻
範例
>>> from scipy.special import factorial2 >>> factorial2(7, exact=False) array(105.00000000000001) >>> factorial2(7, exact=True) 105