【问题标题】:What algorithm does numpy random.normal uses? is it just the gaussian formula for normal distribution? does its use the mersenne twister?numpy random.normal 使用什么算法?它只是正态分布的高斯公式吗?它使用梅森捻线机吗?
【发布时间】:2015-10-15 09:09:28
【问题描述】:

我是初学者,数学算法不是我的菜,但我很好奇 numpy random.normal 是否使用 Mersenne twister,因为那样它就不是正态分布?

【问题讨论】:

  • 您可以将均匀分布转换为正态分布(例如 en.wikipedia.org/wiki/Inverse_transform_sampling )。因此您可以使用 mersenne twister 从正态分布中采样。我不知道 numpy 真正使用的是什么。
  • 这很有帮助,谢谢

标签: python-3.x numpy gaussian


【解决方案1】:

Numpy 使用 Ziggurat 方法。至少 1.19 版是这样。你可以在这里查看源代码:https://github.com/numpy/numpy/blob/91d9bbebc159ada6cccd0e1fcec1926e26b19c6f/numpy/random/src/distributions/distributions.c#L137-L170

【讨论】:

    猜你喜欢
    • 2011-08-16
    • 1970-01-01
    • 2011-03-10
    • 2013-07-12
    • 2013-04-11
    • 2021-09-22
    • 2014-10-28
    • 1970-01-01
    • 2013-12-02
    相关资源
    最近更新 更多