factorial#
- scipy.special.factorial(n, exact=False, extend='zero')[Quelle]#
Die Fakultät einer Zahl oder eines Arrays von Zahlen.
Die Fakultät einer nicht-negativen ganzen Zahl n ist das Produkt aller positiven ganzen Zahlen kleiner oder gleich n
n! = n * (n - 1) * (n - 2) * ... * 1
- Parameter:
- nint oder float oder complex (oder array_like davon)
Eingabewerte für
n!. Komplexe Werte erfordernextend='complex'. Standardmäßig ist der Rückgabewert fürn < 00.- exactbool, optional
Wenn
exactauf True gesetzt ist, wird die Antwort exakt mit Ganzzahlarithmetik berechnet, andernfalls wird sie mittels der Gamma-Funktion approximiert (schneller, liefert aber Floats statt ganzer Zahlen). Standard ist False.- extendstring, optional
Einer von
'zero'oder'complex'; dies bestimmt, wie Werten<0behandelt werden – standardmäßig sind sie 0, aber es ist möglich, die komplexe Erweiterung der Fakultät zu nutzen (siehe unten).
- Rückgabe:
- nfint oder float oder complex oder ndarray
Fakultät von
n, als ganze Zahl, Gleitkommazahl oder komplex (abhängig vonexactundextend). Array-Eingaben werden als Arrays zurückgegeben.
Hinweise
Für Arrays mit
exact=Truewird die Fakultät nur einmal für die größte Eingabe berechnet, wobei jedes andere Ergebnis im Prozess berechnet wird. Der Ausgabetyp wird bei Bedarf aufint64oderobjecterhöht.Mit
exact=Falsewird die Fakultät mittels der Gamma-Funktion approximiert (was auch die Definition der komplexen Erweiterung ist)\[n! = \Gamma(n+1)\]Beispiele
>>> 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