相对误差和摆动

use*_*220 4 floating-point

下面的全文是关于每个计算机科学家应该知道的关于浮点运算的第8页.在下文中,陈述"通常,当基数为b时,以ulps表示的固定相对误差可以摆动多达b的因子."

有人可以给出详细的证明吗?它究竟是什么意思"以ulps表示的固定相对误差可以摆动多达b的因子."; 如果相对误差是固定的,那么它如何摆动或改变?

相对误差总是由e限定,e被称为机器epsilon.

...

为了说明ulps和相对误差之间的差异,请考虑实数x = 12.35.它近似于在此输入图像描述= 1.24 x 10 ^ 1.误差为0.5 ulps; 相对误差为0.8 e.接下来考虑计算8x.确切的值是8 x = 98.8,而计算值是8在此输入图像描述 = 9.92 x 10 ^ 1.错误现在是4.0 ulps,但相对误差仍然是0.8 e.即使相对误差相同,以ulps测量的误差也要大8倍.通常,当基数为b时,以ulps表示的固定相对误差可以摆动直至b的因子.相反,如同eq.(2)显示,1/2 ulps的固定误差导致可以通过b摆动的相对误差.

Eri*_*hil 7

它在与您给出的引号相同的页面上进行演示,在"一般情况下,当基数为b时,以ulps表示的固定相对误差可以摆动多达b的因子".

该段解释说,人数从1.0000 ... 0•B é到d.dddd ... d•B ê,其中d是,我在这里使用它,数字B-1,具有相同的ULP,因为ULP是价值最后一个数字,最后一个数字的值由b的指数(以及有效数字中的数字位数,由格式固定)确定.

这些数字跨越(几乎)b的比率,因为d.dddd ... d几乎是b,所以d.dddd ... d/1几乎是b.但他们拥有相同的ULP.因此,一个ULP 对于该数量的大小跨越b的比率.

致于2013年10月30日,编辑:

它究竟是什么意思"以ulps表示的固定相对误差可以摆动多达b的因子."; 如果相对误差是固定的,那么它如何摆动或改变?

该错误据说是固定数量的ULP.但是ULP的值不是固定的或恒定的,相对于浮点值是真正固定的或恒定的.

这里只有语言问题.将ULP称为"固定相对误差"并不准确.然而,人们有时在ULP中表达误差界限或误差量,因为浮点的性质量化值,并且那些量子是ULP.

ULP 大约是相对误差.它在整个浮点格式范围内保持相同的范围.考虑一个三位十进制格式:

  • 在1.00到9.99的间隔中,ULP的绝对值是.005.它相对于区间中数字的值范围从.005到(几乎).0005.
  • 在1,000,000至9,990,000的区间内,ULP的绝对值为5,000.它相对于区间中数字的值范围从.005到(几乎).0005.
  • 在1.00•10 -100到9.99•10 -100的区间内,ULP的绝对值为.005•10 -100.它相对于区间中数字的值范围从.005到(几乎).0005.

如您所见,ULP相对于浮点数的值始终保持在一个小间隔内.因此,它用作相对误差的近似值.

事实上,我们浮点运算相对误差的表达式以 b因子摆动来自两个数学事实:

  • 当您使用浮点运算并计算或导出有关可能发生的错误的证据时,您会发现自己以ULP为单位表示错误,因为浮点格式的量化导致限制在ULP或半 - ULPS.
  • 对于浮点值x,当x 在浮点格式的单个指数间隔内改变时,x除以x的ULP的值改变因子b .当指数改变时,值ULP(x)/ x重置.