これは、あなたが引用したページと同じページの「一般に、基数が b の場合、ulps で表される固定相対誤差は、最大 b 倍で変動する可能性がある」の前の段落で示されています。</p>
その段落では、1.0000…0 • b eから d.dddd…d • b eまでの数値について説明しています。ここで d は、ここで使用しているように、数字 b-1 であり、同じ ULP を持ちます。ULP は次の値であるためです。最後の桁の値は、b の指数 (およびフォーマットで固定されている仮数の桁数) によって決定されます。
d.dddd…d はほぼ b であるため、これらの数値は (ほぼ) b の比率にまたがり、d.dddd…d / 1 はほぼ b になります。ただし、ULP は同じです。したがって、数に対する1つのULPの大きさは、bの比率に及びます。
2013 年 10 月 30 日の対応、編集:
そして、「ulp で表される固定の相対誤差は、最大 b 倍までぐらつく可能性がある」とは正確にはどういう意味ですか。相対誤差が固定されている場合、どのように揺れたり変化したりするのでしょうか?
エラーはULPの固定数と言われています。ただし、ULP の値は、浮動小数点値に対して固定または定数ではなく、実際には固定または定数ではありません。
ここには言語の問題があるだけです。ULP を「固定相対誤差」と呼ぶのは正確ではありません。ただし、浮動小数点の性質が値を量子化し、それらの量子が ULP であるため、ULP でエラー境界またはエラー量を表現することがあります。
ULP はおおよその相対誤差です。浮動小数点形式のスケール全体で同じ範囲にとどまります。3 桁の 10 進数形式を考えてみましょう。
- 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 だけぐらつくという事実は、次の 2 つの数学的事実から得られます。
- 浮動小数点演算を使用して、発生する可能性のあるエラーに関する証明を計算または導出すると、浮動小数点形式の量子化により境界が ULP または半分になるため、ULP の単位でエラーを表現していることに気付くでしょう。 ULP。
- 浮動小数点値 x の場合、x を x で割った ULP の値は、x が浮動小数点形式の1 つの指数区間内で変化すると、係数 b で変化します。指数が変化すると、値 ULP(x)/x がリセットされます。