Hi all,

in recent work with a colleague, the need came up for a multivariate
hypergeometric sampler; I had a look in the numpy code and saw we have
the bivariate version, but not the multivariate one.

I had a look at the code in scipy.stats.distributions, and it doesn't
look too difficult to add a proper multivariate hypergeometric by
extending the bivariate code, with one important caveat: the hard part
is the implementation of the actual discrete hypergeometric sampler,
which lives inside of numpy/random/mtrand/distributions.c:

https://github.com/numpy/numpy/blob/master/numpy/random/mtrand/distributions.c#L743

That code is hand-written C, and it only works for the bivariate case
right now.  It doesn't look terribly difficult to extend, but it will
certainly take a bit of care and testing to ensure all edge cases are
handled correctly.

Does anyone happen to have that implemented lying around, in a form
that would be easy to merge to add this capability to numpy?

Thanks,

f
_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to