factorial2#
- scipy.special.factorial2(n, exact=False, extend='zero')[Quelle]#
Doppeltes Fakultät.
Dies ist die Fakultät, bei der jeder zweite Wert übersprungen wird. Z. B.
7!! = 7 * 5 * 3 * 1. Dies kann numerisch angenähert werden alsn!! = 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 evenDie Formel für ungerade
nist die Grundlage für die komplexe Erweiterung.- Parameter:
- nint oder float oder complex (oder array_like davon)
Eingabewerte für
n!!. Nicht-ganzzahlige Werte erfordernextend='complex'. Standardmäßig ist der Rückgabewert fürn < 00.- exactbool, optional
Wenn
exactauf True gesetzt ist, wird die Antwort exakt mit ganzzahliger Arithmetik berechnet, andernfalls wird die obige Annäherung verwendet (schneller, liefert aber Gleitkommazahlen anstelle von ganzen 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 des doppelten Fakultäts zu nutzen. Dies ermöglicht auch die Übergabe komplexer Werte ann.Warnung
Die Verwendung der
'complex'-Erweiterung ändert auch die Werte des doppelten Fakultäts für gerade ganze Zahlen und reduziert sie um einen Faktor vonsqrt(2/pi) ~= 0.79, siehe [1].
- Rückgabe:
- nfint oder float oder complex oder ndarray
Doppeltes Fakultät von
n, als ganze Zahl, Gleitkommazahl oder komplex (abhängig vonexactundextend). Array-Eingaben werden als Arrays zurückgegeben.
Referenzen
[1]Komplexe Erweiterung des doppelten Fakultäts https://en.wikipedia.org/wiki/Double_factorial#Complex_arguments
Beispiele
>>> from scipy.special import factorial2 >>> factorial2(7, exact=False) array(105.00000000000001) >>> factorial2(7, exact=True) 105