我对像这样的“战争故事”感兴趣:
我写了一个程序,涉及浮点数的总和,但我没有使用Kahan求和。
总和是bad_sum
,程序给了我一个错误的结果。
我的一位同事,在数值分析方面比我更精通,看了一下代码并建议我使用Kahan求和,现在总和为good_sum
,程序给了我正确的结果
我对现实生产代码感兴趣,而不是为了解释Kahan求和算法而“人工”创建的代码示例。
特别是您的应用程序的相对错误(bad_sum-good_sum)/good_sum
是什么?
到目前为止,我没有类似的故事可讲。也许我会做一些测试(在输入数据集上运行我的程序,记录程序结果以及使用和不使用Kahan的总和,估计相对误差)。