Math 跟踪最坏情况错误的算法库

Math 跟踪最坏情况错误的算法库,math,libraries,floating-accuracy,interval-arithmetic,Math,Libraries,Floating Accuracy,Interval Arithmetic,(已编辑) 是否有任何库或工具允许知道算术运算中的最大累积错误 例如,如果我做一些迭代计算 myVars = initialValues; while (notEnded) { myVars = updateMyVars(myVars) } 。。。最后,我不仅想知道计算值,还想知道潜在的错误(如果每个操作的结果都是每个操作数的范围限制,则可能值的范围) 我已经编写了一个名为(EA for Error Accounting)的Java类,它保存并更新了一些基本操作的最大正错误和负错误以及

(已编辑)
是否有任何库或工具允许知道算术运算中的最大累积错误

例如,如果我做一些迭代计算

myVars = initialValues;
while (notEnded) {
    myVars = updateMyVars(myVars)
}
。。。最后,我不仅想知道计算值,还想知道潜在的错误(如果每个操作的结果都是每个操作数的范围限制,则可能值的范围)

我已经编写了一个名为(EA for Error Accounting)的Java类,它保存并更新了一些基本操作的最大正错误和负错误以及计算值,但我担心我可能会重新发明一个方轮

Java中是否有库/任何库/任何库?有什么建议吗


  • 7月11日更新:检查了现有库并添加了到示例代码的链接
  • 正如各位同事所评论的那样,这是一个概念,在这个主题上有一个先前的问题()。关于我的意图,有几个小问题:
    • 我更关心“main”值,而不是上界和下界。然而,向开放库添加额外的值应该是直截了当的
    • 将误差作为一个独立的浮点进行计算可能会获得更高的精度(例如,对于加法,上限将仅增加一半,而不是整个ULP)
  • 我看了一下图书馆:
    • (Java。只需添加主值。目前为止我最喜欢的)
    • (C++,非常复杂/完整)
    • (Java、帐户值和误差作为标准差)
  • 示例代码()可以运行弹道模拟和数字e的计算。然而,这些都不是非常苛刻的场景

可能太晚了,但看看偏见/轮廓:
非常完整、简单,可以解释计算机错误,如果您的错误集中在中间,则可以轻松访问您的标称错误(通过中间(…)。

这就是为什么我们使用定点类型。您可能需要尝试。请注意,“最坏情况”错误可能比“平均/预期”错误大得多,用于大规模浮点运算,如线性代数或数值模拟。最坏情况下的区间分析应该有效,但它可能会变得不必要的保守。@IgnacioVazquez Abrams我不确定这是“常见”问题-使用“会计”这个词让我感到困惑,但我认为asker不一定是在谈论财务问题。可能是重复的。谢谢你的建议,很抱歉耽搁了。正如2012-07-11版所述,区间数学是一种很好的方法,但不是我想要的:它本身不会跟踪每个操作中最坏情况下的算术错误。另一方面,如果我正在寻找的是一个区间数学库,那么问题本身就会被删除。