【问题标题】:How to test for numerical stability?如何测试数值稳定性?
【发布时间】:2016-12-16 13:34:58
【问题描述】:

给定一个对 32 位 IEEE-754 浮点数执行数值计算的函数 F,如果 F 是数值稳定?是否存在不需要了解函数的参数类型以外的更多信息的黑盒测试?

【问题讨论】:

  • 用比尔卡汉的话来说:“是否可以在不将其提交给数学上严格且(如果可行的话)耗时的错误分析的情况下评估舍入对浮点计算的影响?一般来说,不会。”见people.eecs.berkeley.edu/~wkahan/Mindless.pdf
  • 参见第 4 节,“五个可能的方案”。

标签: floating-point numeric black-box-testing


【解决方案1】:

好吧,您可以循环遍历所有浮点数,进行高阶前向差分,并寻找得到的导数近似变得非常大的区域。但最终,不可能证明粗糙度是不稳定的结果,而不是被建模函数的实际特征。毕竟,每一个黑盒子都是一些函数的完美模型。

如果您有同一个黑盒的 32 位和 64 位版本,您可以专门寻找 64 位版本的前向差异比 32 位版本更平滑的区域。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-04
    • 2010-12-19
    • 2019-11-05
    • 1970-01-01
    • 2016-01-25
    相关资源
    最近更新 更多