下面的全文是关于每个计算机科学家应该知道的关于浮点运算的第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摆动的相对误差.
它在与您给出的引号相同的页面上进行演示,在"一般情况下,当基数为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的比率.
它究竟是什么意思"以ulps表示的固定相对误差可以摆动多达b的因子."; 如果相对误差是固定的,那么它如何摆动或改变?
该错误据说是固定数量的ULP.但是ULP的值不是固定的或恒定的,相对于浮点值是真正固定的或恒定的.
这里只有语言问题.将ULP称为"固定相对误差"并不准确.然而,人们有时在ULP中表达误差界限或误差量,因为浮点的性质量化值,并且那些量子是ULP.
ULP 大约是相对误差.它在整个浮点格式范围内保持相同的范围.考虑一个三位十进制格式:
如您所见,ULP相对于浮点数的值始终保持在一个小间隔内.因此,它用作相对误差的近似值.
事实上,我们浮点运算中相对误差的表达式以 b因子摆动来自两个数学事实: