scipy.special.

факториал2#

scipy.special.факториал2(n, точный=False, расширить='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 (или array_like таковых)

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

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

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

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

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

Предупреждение

Используя 'complex' расширение также изменяет значения двойного факториала для чётных целых чисел, уменьшая их на множитель sqrt(2/pi) ~= 0.79, см. [1].

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

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

Ссылки

[1]

Комплексное расширение двойного факториала https://en.wikipedia.org/wiki/Double_factorial#Complex_arguments

Примеры

>>> from scipy.special import factorial2
>>> factorial2(7, exact=False)
array(105.00000000000001)
>>> factorial2(7, exact=True)
105