情報科学 › 研究のための計算の実務 › 精度の選び方

球算術の保証と限界

命題 6.1(「精度の選び方」§6) ・ ✓公理まで証明済み

球 B(m,r)B(m,r) と演算 ⊕,⊗\oplus,\otimes は 定義 4.8[浮動小数と区間演算] のものとし、B1⊖B2=B1⊕B(−m2,r2)B_1\ominus B_2=B_1\oplus B(-m_2,r_2) と定める。

  1. (包含)m1+m2m_1+m_2, m1m2m_1m_2 が 00 か正規化数の範囲にあるとき、x∈B1x\in B_1, y∈B2y\in B_2 ならば x+y∈B1⊕B2x+y\in B_1\oplus B_2, xy∈B1⊗B2xy\in B_1\otimes B_2。
  2. (依存性)B=B(m,r)B=B(m,r) について B⊖B=B(0,r′)B\ominus B=B(0,r'), r′≥2rr'\ge2r である。{x−x:x∈B}={0}\{x-x:x\in B\}=\{0\} なのに、結果の半径は 2r2r 以上になる。
  3. (精度を上げると縮む)m1,m2m_1,m_2 を精度 p0p_0 の浮動小数点数とし、精度 p≥p0p\ge p_0(単位丸め u=2−pu=2^{-p})で半径 00 の球 B(m1,0)B(m_1,0), B(m2,0)B(m_2,0) の和と積を計算する。半径を定義の右辺の (1+λ)(1+\lambda) 倍以下(λ≥0\lambda\ge0 は実装で決まる定数)にとるならば、オーバーフローもアンダーフローも起きないとき、和の球の半径は (1+λ)(1+u) u ∣m1+m2∣(1+\lambda)(1+u)\,u\,|m_1+m_2| 以下、積の球の半径は (1+λ)(1+u) u ∣m1m2∣(1+\lambda)(1+u)\,u\,|m_1m_2| 以下である。
  4. (2 つの精度の一致は保証にならない)q≥2q\ge2 を整数、x=2−qx=2^{-q} とする。精度 p<qp\lt q の浮動小数点演算(xx が表せる指数範囲をもつもの)で (1+x)−1(1+x)-1 を計算すると、結果は 00 である。したがって p1<p2<qp_1\lt p_2\lt q の 2 つの精度の結果は完全に一致する(ともに 00)が、真値は x≠0x\ne0 で、相対誤差は 11 である。同じ計算を球算術で行うと、結果の球の半径は uu 以上で、真値 xx を含む。

本文で読む(証明と前後の説明)→

閉包の状態

✓ 公理まで証明済み

証明が使う定理を 前提 としてたどると、Rikai の中の証明だけで定義・公理(物理では基本仮定)までつながっています(前提の定理類 4 件、定義なども含めて 5 件)。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

前提をたどる 証明が使う定理・定義(直接 3 件)

▸ を開くと、その項目の証明が使う前提が出ます。深い先は各項目のページでたどれます。

これを使っている定理

証明で明示的に参照している定理は、まだありません。

関連するノック 2 問