binom(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature])
openfermion.transforms.repconversions.weyl_ordering.binom(
*args, **kwargs
)
binom(x, y, out=None)
Binomial coefficient considered as a function of two real variables.
For real arguments, the binomial coefficient is defined as
.. math::
\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)}
Where :math:\Gamma is the Gamma function (gamma) and :math:\mathrm{B}
is the Beta function (beta) [1]_.
Parameters
x, y: array_like
Real arguments to :math:\binom{x}{y}.
out : ndarray, optional
Optional output array for the function values
Returns
scalar or ndarray Value of binomial coefficient.
See Also
comb : The number of combinations of N things taken k at a time.
Notes
The Gamma function has poles at non-positive integers and tends to either
positive or negative infinity depending on the direction on the real line
from which a pole is approached. When considered as a function of two real
variables, :math:\binom{x}{y} is thus undefined when x is a negative
integer. binom returns nan when x is a negative integer. This
is the case even when x is a negative integer and y an integer,
contrary to the usual convention for defining :math:\binom{n}{k} when it
is considered as a function of two integer variables.
References
.. [1] https://en.wikipedia.org/wiki/Binomial_coefficient
Examples
The following examples illustrate the ways in which binom differs from
the function comb.
from scipy.special import binom, combWhen exact=False and x and y are both positive, comb calls
binom internally.
x, y = 3, 2(binom(x, y), comb(x, y), comb(x, y, exact=True))(3.0, 3.0, 3)
For larger values, comb with exact=True no longer agrees
with binom.
x, y = 43, 23(binom(x, y), comb(x, y), comb(x, y, exact=True))(960566918219.9999, 960566918219.9999, 960566918220)
binom returns nan when x is a negative integer, but is otherwise
defined for negative arguments. comb returns 0 whenever one of x or
y is negative or x is less than y.
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)