我想分析一下如何使用約簡(並行)來添加浮點數和涉及的大量精度損失。與串行添加相比,絕對減少將有助於獲得更高的精度。如果您能指導我詳細的資料來源或提供一些有關此分析的見解,我將非常感激。謝謝。瞭解並行還原的浮點精度分析
回答
每個原始浮點運算都會有一個舍入誤差;如果結果是x,則舍入誤差爲< = c * abs(x),對於某個相當小的常數c> 0。
如果添加1000個數字,則需要999次添加。每個添加都有一個結果和一個舍入錯誤。當結果很小時,舍入誤差很小。所以你要調整加法的順序,以便結果的平均絕對值儘可能小。二叉樹是一種方法。對值進行排序,然後添加最小的兩個數字並將結果放回到排序列表中也是非常合理的。這兩種方法保持平均結果很小,因此保持舍入誤差較小。
謝謝!這有幫助。我找到了一個相關的帖子。 [鏈接](http://stackoverflow.com/questions/15139656/precision-in-sum-reduction-kernel-with-floats?rq=1) – samkit
Kahan summation是管理浮點舍入時間累積的另一個廣泛使用的方法 – talonmies
也許這篇論文將有助於:[準確求和方法的比較](http://www.sigsam.org/bulletin/articles/147/sumnums.pdf)。 – JackOLantern
- 1. 精度解析丟失浮點數
- 2. 浮點精度
- 3. IEEE-754浮點:爲了獲得最佳精度,先分開還是先乘以?
- 4. 解析Pure Lua中的IEEE754雙精度浮點數?
- 5. 浮點數的數字精度分佈
- 6. 與浮點精度
- 7. C++浮點精度
- 8. C#浮點精度
- 9. haskell浮點精度
- 10. XMLSerialization浮點精度
- 11. 雙精度浮點數和其他浮點數精度
- 12. 雙精度和單精度浮點數?
- 13. python中的浮點精度
- 14. 浮點運算的精度
- 15. Sql Clr用戶定義類型解析一個浮點數並失去精度
- 16. 何處理浮點數解析 - 掃描儀還是解析器?
- 17. Unity3d浮點精度限制
- 18. 管理浮點精度
- 19. 爪哇 - 雙精度浮點
- 20. 力竭浮點精度
- 21. 浮點精度格式
- 22. 限制浮點精度?
- 23. MongoDB浮點值精度?
- 24. 增加浮點數精度
- 25. SQL設置浮點精度
- 26. IEEE 754和浮點精度
- 27. 本徵浮點精度
- 28. 更改浮點型精度
- 29. 瞭解pandas.read_csv()浮動解析
- 30. 並行還原
你似乎沒有提出具體的問題;你能否改寫一下,讓你有一些具體的問題,而不是隻是要求一般的知識? – Durandal
對不起,不準確。其實我碰到一個問題如下:給定一個100萬數字的數組(雙精度浮點數在1和2之間),其中數字遵循平均值爲1.4的高斯分佈。什麼將是這些數字的最佳近似總和。如果我們通過並行減少來添加這些數字,那麼精度的提高是多少。 – samkit