Lei*_*Hao 4 python random numpy
我想看看是否numpy.random.exponential使用F ^ { - 1}(U)方法实现,其中F是指数分布的cdf,U是均匀分布.
我试过了numpy.source(random.exponential),但是回复了' 不适用于这个对象'.这是不是意味着这个函数不是用Python编写的?
我也试过了inspect.getsource(random.exponential),但是回复了一个错误,说它不是模块,功能等.
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)