如何查看numpy.random.exponential的源代码?

Lei*_*Hao 4 python random numpy

我想看看是否numpy.random.exponential使用F ^ { - 1}(U)方法实现,其中F是指数分布的cdf,U是均匀分布.

我试过了numpy.source(random.exponential),但是回复了' 不适用于这个对象'.这是不是意味着这个函数不是用Python编写的?

我也试过了inspect.getsource(random.exponential),但是回复了一个错误,说它不是模块,功能等.

sas*_*cha 6

numpy的源代码是在github,所以你可以使用github的源代码搜索.

通常,库的这些部分不是用纯python实现的.

python-parts(关于你的问题)在这里:

更相关的代码部分来自distributions.c:

double rk_standard_exponential(rk_state *state)
{
    /* We use -log(1-U) since U is [0, 1) */
    return -log(1.0 - rk_double(state));
}

double rk_exponential(rk_state *state, double scale)
{
    return scale * rk_standard_exponential(state);
}
Run Code Online (Sandbox Code Playgroud)