Floating point 如何测试数值稳定性?

Floating point 如何测试数值稳定性?,floating-point,numeric,black-box-testing,Floating Point,Numeric,Black Box Testing,给定一个对32位IEEE-754浮点数执行数值计算的函数F,测试F是否数值稳定的(最佳)方法是什么?是否有一个黑盒测试,除了参数类型之外,不需要了解更多有关函数的信息?好的,您可以循环使用所有浮点数,进行高阶前向差分,并查找结果导数近似值变得非常大的区域。然而,最终不可能证明粗糙度是不稳定的结果,而不是被建模函数的实际特征。毕竟,每个黑匣子都是某些功能的完美模型 如果您有相同黑盒的32位和64位版本,您可以特别查找64位版本的正向差异比32位版本平滑的区域。用比尔·卡汉的话说:“是否可以评估舍入

给定一个对32位IEEE-754浮点数执行数值计算的函数F,测试F是否数值稳定的(最佳)方法是什么?是否有一个黑盒测试,除了参数类型之外,不需要了解更多有关函数的信息?

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

如果您有相同黑盒的32位和64位版本,您可以特别查找64位版本的正向差异比32位版本平滑的区域。

用比尔·卡汉的话说:“是否可以评估舍入对浮点计算的影响,而无需对其进行严格的数学分析和(如果可行的话)耗时的错误分析?一般来说,没有。”请特别参阅第4节“五种可能的方案”。