簡體   English   中英

用於跟蹤最壞情況誤差的算術庫

[英]arithmetic library for tracking worst case error

(編輯)的
是否有任何庫或工具可以知道算術運算中的最大累積誤差?

例如,如果我進行一些迭代計算......

myVars = initialValues;
while (notEnded) {
    myVars = updateMyVars(myVars)
}

...我最后不僅要知道計算值,還要知道潛在誤差(如果每個操作中的結果取每個操作數的范圍限制,則可能值的范圍)。

我已經編寫了一個名為EADouble.java的Java類(用於錯誤記帳的EA),它保存並更新最大正負誤差以及計算值,對於一些基本操作,但我擔心我可能會重新發明方形輪。

任何庫/任何Java /無論什么? 有什么建議么?


  • 7月11日更新:檢查了現有庫並添加了示例代碼的鏈接。
  • 正如研究員所評論的那樣,有Interval Arithmetic的概念,並且在這個主題上有一個先前的問題( 一個很好的不確定性(區間)算術庫? )。 關於我的意圖只有幾個小問題:
    • 我更關心“主要”價值而不是上限和下限。 但是,要將額外的值添加到打開的庫中應該是直截了當的。
    • 將錯誤視為獨立浮點可以允許更精確的准確性(例如,對於添加,上限將僅增加一半ULP而不是整個ULP)。
  • 我看過的圖書館:
    • ia_math (Java。只需要添加主要值。到目前為止我最喜歡的)
    • 提升/數字/間隔 (C ++,非常復雜/完整)
    • ErrorProp (Java,帳戶值和錯誤作為標准差)
  • 示例代碼( TestEADouble.java )可以運行彈道模擬和數字e的計算。 然而,那些不是非常苛刻的場景。

可能為時已晚,但請看BIAS / Profil: http ://www.ti3.tuhh.de/keil/profil/index_e.html相當完整,簡單,解決計算機錯誤,如果您的錯誤集中在一起,可以輕松訪問你的名義(通過中(...))。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM