为什么numpy和scipy exp()比log()更快?

时间:2015-05-21 16:02:16

标签: python performance numpy scipy

通常,log和exp函数的速度大致相同。我希望numpy和scipy实现是相对简单的包装器。 text-indent: -1000em; overflow: hidden; numpy.log()具有与预期相似的速度。但是,我发现scipy.log()比这些numpy.log()函数慢约60%,exp()慢100%。有谁知道这个的原因?

1 个答案:

答案 0 :(得分:2)

不确定为什么你认为两者都应该是“大致相同的速度”。确实,两个都可以使用泰勒级数计算(在没有分析误差项的情况下,这本身就意味着很少),但随后数值技巧就开始了。

例如,an algebraic identity可用于转换原始exp。泰勒系列成为更高效的2跳功率系列。但是,对于幂系列,请参阅here关于逐个优化的讨论,其中一些涉及查找表。

你给哪些参数提供了相同的功能?最糟糕的一个?

结果的准确性是多少?你如何衡量每个人的准确性:绝对,相对?

修改应该注意的是,这些库也可以有different backends