4
A
回答
6
Kahan summation當您對數字進行求和並且需要將最壞情況的浮點錯誤最小化時,效果很好。如果沒有這種技術,如果有兩個數字在數量上與可用的有效數字不同(例如1 + 1e-12),那麼在加法運算中可能會顯着損失精度。卡漢求和補償了這一點。
而對於浮點問題的一個很好的資源在這裏,「應該知道浮點什麼斷言計算機科學家」:http://www.validlab.com/goldberg/paper.pdf
在單VS雙精度性能:是的,單精度可顯著更快,但它取決於特定的機器。請參閱:http://www.hpcwire.com/features/17885244.html
測試的最佳方法是編寫一個簡短示例,使用single(float)和double precision來測試您關心的操作,並測量運行時間。
0
我使用Kahan求和來補償計算運行平均值時的累積誤差。它確實有很大的不同,而且很容易測試。經過100次總結,我消除了相當大的錯誤。
我肯定會使用Kahan求和算法來補償任何運行總數中的錯誤。
但是,我注意到做逆矩陣乘法時出現了相當大的錯誤(1e-3
)。基本上,A*x = y
,然後inv(A)*y ~= x
我沒有得到完全的原始值。這很好,但我想可能Kahan總結會有幫助(有很多補充),尤其是對於大於3乘以3的矩陣。我嘗試了一個4乘4矩陣,並沒有改善這種情況。
相關問題
- 1. Summation漂浮在使用Kahan的JS中
- 2. Fortran double summation
- 3. Column Summation Excel VBA
- 4. Circle Summation(30分)InterviewStree益智
- 5. Array summation:計算平均值
- 6. Pascal中的Summation循環程序
- 7. 如何在matlab中使用fminunc和summation?
- 8. Datatables Summation Row以支持字符?
- 9. 我如何迴應像alpha,beta,summation等數學符號?
- 10. for循環與summation操作有多相似?包括的例子
- 11. G ++ 6.3,對AVX內在Kahan的總和得到系列化與volatile關鍵字
- 12. 生成用於測試浮點求和的病態數據
- 13. 創建一個觸發器以插入到基於另一個表中的SUMMATION值的另一個表中
- 14. 爲什麼這一個,毫無意義的代碼是唯一讓這個功能起作用的東西?
- 15. R中的正則表達式:如何從字符串中提取字符
- 16. 如何使用sequelize.js中的函數進行過濾
- 17. symarray索引求和
- 18. 得到錯誤的遞歸在JavaScript
- 19. Lambda和Python Python
- 20. OpenMP - 使用函數
- 21. 神經網絡的激活/輸出
- 22. F#類型提供程序引用自定義類型
- 23. SQL因子ErlangC
- 24. 如何對齊Java中的表格
- 25. 在大會
- 26. Haskell中的求和 - 函數式編程
- 27. 如何在XSLT中添加所有逗號分隔值
- 28. 計算給我NaN
- 29. 不同參數傳遞的Javascript函數
- 30. 瞭解Tensorflow中的while循環
「我怎樣才能在我的機器上測試這個?」 - 通過計時! – 2011-02-09 00:16:22
你的意思是浮動操作比雙倍快?試圖通過降低精度加速計算是一個愚蠢的想法IMO。 – Anycorn 2011-02-09 00:16:55