3

(已编辑)
是否有任何库或工具可以了解算术运算中的最大累积误差?

例如,如果我进行一些迭代计算...

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

...我最后不仅想知道计算值,还想知道潜在的错误(如果每个单独操作的结果采用每个操作数的范围限制,则可能值的范围)。

我已经编写了一个名为EADouble.java(错误会计的 EA)的 Java 类,它保存并更新最大正负误差以及计算值,用于一些基本操作,但恐怕我可能正在重新发明一个方轮.

任何库/Java中的任何东西/任何东西?有什么建议么?


  • 7 月 11 日更新:检查现有库并添加示例代码链接。
  • 正如同仁评论的,有区间算术的概念,并且有一个关于该主题的先前问题(一个好的不确定性(区间)算术库? )。关于我的意图只有几个小问题:
    • 我更关心“主要”值而不是上限和下限。但是,为开放库添加额外的价值应该是直截了当的。
    • 将误差计入一个独立的浮点数可能允许更精确的精度(例如,对于加法,上限将仅增加一半ULP,而不是整个 ULP)。
  • 我看过的图书馆:
  • 示例代码 ( TestEADouble.java ) 可以运行弹道模拟和数字 e 的计算。然而,这些都不是非常苛刻的场景。
4

1 回答 1

1

可能为时已晚,但请查看 BIAS/Profil:http: //www.ti3.tuhh.de/keil/profil/index_e.html 非常完整、简单,可以解决计算机错误,如果您的错误集中在很容易访问您的名义(通过 Mid(...))。

于 2013-11-13T15:52:40.550 回答