摘要 探讨在许多应用中出现的函数 的计算精度问题。
例1. 考虑在许多应用中出现的函数 计算
不妨在Python下计算:
若用下列Rust代码在线计算:
fn f(x: f64) -> f64 {
(x.exp() - 1.0) / x
}
fn main() {
let result = f(0.9e-13);
println!("{}", result);
}
则输出完全相同,亦为 0.9992007221626409 .
然而,事实上,16位的正确结果为 0.1000000000000045e1(ISRealsoft 提供)。二者的有效数字的错误率均为 (16-3)/16 = 81.25% .
参考文献
[1] Higham N J. Accuracy and Stability of Numerical Algorithms. 2nd ed. Philadelphia: SIAM, 2002. p.19