I'm just a lurker, but I spent a minute or two to look at that commit, which looks to be high quality. While I personally have not used this distribution, people I know use it all the time (for ML).
A quibble: #define NPY_PI 3.141592653589793238462643383279502884 /* pi */ and the following defines which appear in numpy/random/src/distributions/random_polyagamma.c are already defined in numpy/core/include/numpy/npy_math.h Probably it would be better to include that file instead, if it isn't already included. DISCLAIMER: I checked none of the math other than passing my eyes over it. On Sun, Dec 27, 2020 at 12:05 PM Zolisa Bleki <blkzol...@myuct.ac.za> wrote: > Hi All, > > I would like to know if Numpy accepts addition of new distributions since > the implementation of the Generator interface. If so, what is the criteria > for a particular distribution to be accepted? The reason why i'm asking is > because I would like to propose adding the Polya-gamma distribution to > numpy, for the following reasons: > > 1) Polya-gamma random variables are commonly used as auxiliary variables > during data augmentation in Bayesian sampling algorithms, which have > wide-spread usage in Statistics and recently, Machine learning. > 2) Since this distribution is mostly useful for random sampling, it since > appropriate to have it in numpy and not projects like scipy [1]. > 3) The only python/C++ implementation of the sampler available is licensed > under GPLv3 which I believe limits copying into packages that choose to use > a different license [2]. > 4) Numpy's random API makes adding the distribution painless. > > I have done preliminary work on this by implementing the distribution > sampler as decribed in [3]; see: > https://github.com/numpy/numpy/compare/master...zoj613:polyagamma . > There is a more efficient sampling algorithm described in a later paper > [4], but I chose not to start with that one unless I know it is worth > investing time in. > > I would appreciate your thoughts on this proposal. > > Regards, > Zolisa > > > Refs: > [1] https://github.com/scipy/scipy/issues/11009 > [2] https://github.com/slinderman/pypolyagamma > [3] https://arxiv.org/pdf/1205.0310v1.pdf > [4] https://arxiv.org/pdf/1405.0506.pdf > > > > Disclaimer - University of Cape Town This email is subject to UCT policies > and email disclaimer published on our website at > http://www.uct.ac.za/main/email-disclaimer or obtainable from +27 21 650 > 9111. If this email is not related to the business of UCT, it is sent by > the sender in an individual capacity. Please report security incidents or > abuse via https://csirt.uct.ac.za/page/report-an-incident.php. > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@python.org > https://mail.python.org/mailman/listinfo/numpy-discussion > -- /t PGP Key: https://flowcrypt.com/pub/tom.ritchf...@gmail.com *https://tom.ritchford.com <https://tom.ritchford.com>* *https://tom.swirly.com <https://tom.swirly.com>*
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion