bundles / scipy 1.17.1 / scipy / special / _basic / factorial
function
scipy.special._basic:factorial
source: /scipy/special/_basic.py :2939
Signature
def factorial ( n , exact = False , extend = zero ) Summary
The factorial of a number or array of numbers.
Extended Summary
The factorial of non-negative integer n is the product of all positive integers less than or equal to n:
n! = n * (n - 1) * (n - 2) * ... * 1Parameters
n: int or float or complex (or array_like thereof)Input values for
n!. Complex values requireextend='complex'. By default, the return value forn < 0is 0.exact: bool, optionalIf
exactis set to True, calculate the answer exactly using integer arithmetic, otherwise approximate using the gamma function (faster, but yields floats instead of integers). Default is False.extend: string, optionalOne of
'zero'or'complex'; this determines how valuesn<0are handled - by default they are 0, but it is possible to opt into the complex extension of the factorial (see below).
Returns
nf: int or float or complex or ndarrayFactorial of
n, as integer, float or complex (depending onexactandextend). Array inputs are returned as arrays.
Notes
For arrays with exact=True, the factorial is computed only once, for the largest input, with each other result computed in the process. The output dtype is increased to int64 or object if necessary.
With exact=False the factorial is approximated using the gamma function (which is also the definition of the complex extension):
Examples
import numpy as np from scipy.special import factorial arr = np.array([3, 4, 5])✓
factorial(arr, exact=False)
✗factorial(arr, exact=True) factorial(5, exact=True)✓
Aliases
-
scipy.special.factorial