scipy.special.binom#

scipy.special.binom(x, y, out=None) = <ufunc 'binom'>#

Binomialkoeffizient, betrachtet als Funktion von zwei reellen Variablen.

Für reelle Argumente ist der Binomialkoeffizient definiert als

\[\binom{x}{y} = \frac{\Gamma(x + 1)}{\Gamma(y + 1)\Gamma(x - y + 1)} = \frac{1}{(x + 1)\mathrm{B}(x - y + 1, y + 1)}\]

Wobei \(\Gamma\) die Gammafunktion (gamma) und \(\mathrm{B}\) die Betafunktion (beta) ist [1].

Parameter:
x, y: array_like

Reelle Argumente für \(\binom{x}{y}\).

outndarray, optional

Optionales Ausgabe-Array für die Funktionswerte

Rückgabe:
skalar oder ndarray

Wert des Binomialkoeffizienten.

Siehe auch

comb

Die Anzahl der Kombinationen von N Dingen, die auf einmal mit k genommen werden.

Hinweise

Die Gammafunktion hat Pole bei nicht-positiven ganzen Zahlen und nähert sich entweder unendlich positiv oder unendlich negativ, abhängig von der Richtung auf der reellen Achse, von der sich einem Pol genähert wird. Wenn \(\binom{x}{y}\) als Funktion zweier reeller Variablen betrachtet wird, ist sie daher undefiniert, wenn x eine negative ganze Zahl ist. binom gibt nan zurück, wenn x eine negative ganze Zahl ist. Dies ist auch dann der Fall, wenn x eine negative ganze Zahl und y eine ganze Zahl ist, im Gegensatz zur üblichen Konvention für die Definition von \(\binom{n}{k}\), wenn es als Funktion zweier ganzer Variablen betrachtet wird.

Referenzen

Beispiele

Die folgenden Beispiele verdeutlichen die Unterschiede zwischen binom und der Funktion comb.

>>> from scipy.special import binom, comb

Wenn exact=False ist und x und y beide positiv sind, ruft comb intern binom auf.

>>> x, y = 3, 2
>>> (binom(x, y), comb(x, y), comb(x, y, exact=True))
(3.0, 3.0, 3)

Für größere Werte stimmt comb mit exact=True nicht mehr mit binom überein.

>>> x, y = 43, 23
>>> (binom(x, y), comb(x, y), comb(x, y, exact=True))
(960566918219.9999, 960566918219.9999, 960566918220)

binom gibt nan zurück, wenn x eine negative ganze Zahl ist, ist aber ansonsten für negative Argumente definiert. comb gibt 0 zurück, wenn eines von x oder y negativ ist oder x kleiner als y ist.

>>> x, y = -3, 2
>>> (binom(x, y), comb(x, y))
(nan, 0.0)
>>> x, y = -3.1, 2.2
>>> (binom(x, y), comb(x, y))
(18.714147876804432, 0.0)
>>> x, y = 2.2, 3.1
>>> (binom(x, y), comb(x, y))
(0.037399983365134115, 0.0)