Oracle® Solaris Studio 12.4:数值计算指南

退出打印视图

更新时间: 2015 年 1 月
 
 

2.3.3 为什么使用渐进下溢?

次正规数的用途不是为了完全避免下溢/溢出,这与其他一些数学算法模型是不同的。次正规数使人们不再担心下溢会引起各种计算问题,通常是在执行加法后再执行乘法。有关更详细的讨论,请参见 James Demmel 编著的《Underflow and the Reliability of Numerical Software》和 S. Linnainmaa 编著的《Combating the Effects of Underflow and Overflow in Determining Real Roots of Polynomials》。

在算法中使用次正规数,在执行加法或减法运算时,就不会出现未捕获的下溢(这意味着牺牲准确性)了。如果 xy 是 2 以内的因子,则 xy 是没有误差的。对于一些需要有效提高关键位置工作精度的算法来说,这是非常重要的。

另外,渐进下溢意味着下溢引起的误差不会比一般的舍入误差更糟糕。相对于其他处理下溢的方法,这种说法更有说服力,从而,这一事实成为使用渐进下溢的最佳根据。