2017-03-15 32 views
-1

我正在編寫一個程序,它將數字x和y數據作爲一個numpy數組,然後將其整合(數值)在x的一個區域上。我這樣做了,現在我開始懷疑精度了。用numpy精確求和

我注意到math.fsum()以某種方式糾正了某些錯誤sum()沒有 - numpy.sum也做出這些更正?

如果我寫sum = numpy.sum(array)或類似的東西,其結果(總和)是否儘可能精確?我總結了數千個數據點,這些數據點本身就是幾個操作的產物,所以可能會積累很少的錯誤。我在Python中不夠精通,知道當精確到小數點的位數很重要時,是否應該使用更精確的數學模塊。

回答

1

不,numpy.sum不是做的更正math.fsum呢。它使用pairwise summation,這不如math.fsum使用的技術,雖然我不確定它是如此糟糕。

+0

如果有很多小加數的更糟糕,這是OP的確切用例。 'math.fsum'肯定是建議的。 –