boost::math::p df(distribution, value) 是否使用查找表或在每次调用时计算 exp(

Does boost::math::pdf(distribution, value) use a lookup table or calculate an exp() each time it is called?

本文关键字:调用 计算 查找 exp distribution df math value boost 是否      更新时间:2023-10-16

我正在研究一种需要高斯函数和大量循环的算法。
Boost::math::p df 具有我需要实现的正确公式。

我正在使用 boost::math::normal_distribution normal_distribution(0,sigma) 创建一个正态分布,其中平均值始终为零,并且调用函数时西格玛可能会在不同时间变化。

然后,我想在我的循环中使用函数boost::math::p df(normal_distribution,dsitance_from_mean),以避免用我自己的查找表重新发明轮子。 我通读了提升文档以寻找这个答案,但我不太清楚该功能是如何工作的。

pdf 函数是使用正态分布生成的查找表,还是每次调用时计算指数值?

我的期望是 Boost 作者会优先考虑准确性而不是性能。

浏览我已安装的版本的源代码,我看到很多调用 trig/log/exp 函数,没有任何类似于查找表或插值的内容,所以我认为它每次都在调用 exp()。

我建议自己进行基准测试,看看 Boost 代码是否真的是一个在实现自己的查找表之前出现性能瓶颈。