浮点倍数损失乘以

时间:2017-07-21 22:50:07

标签: floating-point precision

以下提及 http://floating-point-gui.de/errors/propagation/

浮点乘法和除法是安全的。对各种乘法链进行经验测试也表明丢失的精度位数往往在O(logn)中,其中n是乘法链的大小。但是下面的分析倾向于说每次乘法都可能会松散一点。

考虑我们有一个数字,c =(m)2 ^ e 其中1 <= m <1。 2,是尾数 u是ulp(1),e是指数。 然后

c * c =([mm] + u / 2)2 ^(2e)

[mm]表示乘法后的m * m的舍入值。

然后,c *(c * c)=([mmm] +(m + 1)u / 2)2 ^(3e)

c *(c *(c * c))=([mmmm] + m((m + 1)u / 2)+ u / 2)2 ^(4e)

...

c *(c * ... n term)=([mm ...] +(m ^(n-2)+ m ^(n-3)+ ... + 1)u / 2) 2 ^(NE)

因此指示丢失的指数ulps导致n个精度位的限制丢失。 (日志(M ^(N-1)))

我在这个分析中遗漏了一些东西,因为根据经验,这并不成立。

谢谢,

0 个答案:

没有答案