Hypergeometric distribution

Travis E. Oliphant oliphant.travis at ieee.org
Tue Jan 3 01:36:30 EST 2006


Raven wrote:
> Thanks Steven for your very interesting post.
> 
> This was a critical instance from my problem:
> 
> 
>>>>from scipy import comb
>>>
>>>>comb(14354,174)
> 
> inf
> 
> The scipy.stats.distributions.hypergeom function uses the scipy.comb
> function, so it returned nan since it tries to divide an infinite. I
> did not tried to write a self-made function using standard python as I
> supposed that the scipy functions reached python's limits but I was
> wrong, what a fool :-)

Notice the keyword for the comb function (in scipy) lets you use it to 
compute exact values.   SciPy does not just automatically use the long 
integer because this will always slow you down.

comb(N, k, exact=0)

Combinations of N things taken k at a time.

If exact==0, then floating point precision is used, otherwise
exact long integer is computed.

Notes:
   - Array arguments accepted only for exact=0 case.
   - If k > N, N < 0, or k < 0, then a 0 is returned.

-Travis Oliphant






More information about the Python-list mailing list