我正在寻找返回随机变量多项式和狄利克雷分布的函数的 C/C++ 实现。这是在计算后验预测 p 值的背景下,其中一部分包括 MCMC 步骤。我一直在使用 Python,但出于速度原因,我正在用 C++ 重写我的部分代码。到目前为止,我一直在使用 numpy.random 的实现。
我目前的选择包括
从 numpy.random 中提取实现,这些实现很可能是用 C 编写的。
使用这些函数的 R 版本,这些函数在 Debian 的 r -mathlib库中很方便。长期以来,这个库一直是我对此类事情的默认选择,因为 R 人在概率计算方面了解他们的知识。
但是,我愿意接受这些功能的其他版本。建议?
编辑: r-mathlib 似乎没有从 Dirichet 分布中采样的功能,尽管根据Wikipedia 关于 Dirichlet 分布的条目,我可以对 Gamma 变量求和。我想知道这是否是这样做的好方法。
EDIT2:如果可能,请评论为什么您认为您建议的实施是一个不错的选择。