{ } Raw JSON

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) * ... * 1

Parameters

n : int or float or complex (or array_like thereof)

Input values for n!. Complex values require extend='complex'. By default, the return value for n < 0 is 0.

exact : bool, optional

If exact is 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, optional

One of 'zero' or 'complex'; this determines how values n<0 are 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 ndarray

Factorial of n, as integer, float or complex (depending on exact and extend). 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

Referenced by