scipy.special.

факториал#

scipy.special.факториал(n, точный=False, расширить='zero')[источник]#

Факториал числа или массива чисел.

Факториал неотрицательного целого числа n является произведением всех положительных целых чисел, меньших или равных n:

n! = n * (n - 1) * (n - 2) * ... * 1
Параметры:
nint или float или complex (или array_like таковых)

Входные значения для n!. Комплексные значения требуют extend='complex'. По умолчанию возвращаемое значение для n < 0 равен 0.

точныйbool, необязательно

Если exact установлен в True, вычисляет ответ точно с использованием целочисленной арифметики, иначе приближенно с использованием гамма-функции (быстрее, но дает числа с плавающей точкой вместо целых). По умолчанию False.

расширитьstring, optional

Один из 'zero' или 'complex'; это определяет, как значения n<0 обрабатываются - по умолчанию они равны 0, но можно выбрать комплексное расширение факториала (см. ниже).

Возвращает:
nfint или float или complex или ndarray

Факториал n, как целое, вещественное или комплексное число (в зависимости от exact и extend). Массивные входные данные возвращаются как массивы.

Примечания

Для массивов с exact=True, факториал вычисляется только один раз для наибольшего входного значения, а каждый другой результат вычисляется в процессе. Выходной dtype увеличивается до int64 или object если необходимо.

С exact=False факториал аппроксимируется с использованием гамма-функции (что также является определением комплексного расширения):

\[n! = \Gamma(n+1)\]

Примеры

>>> import numpy as np
>>> from scipy.special import factorial
>>> arr = np.array([3, 4, 5])
>>> factorial(arr, exact=False)
array([   6.,   24.,  120.])
>>> factorial(arr, exact=True)
array([  6,  24, 120])
>>> factorial(5, exact=True)
120