数値解析 特論

精度保証と区間演算

特論の概要

特論では、計算結果に誤差限界を保証する精度保証付き数値計算区間演算、そして数値シミュレーションに不可欠な乱数生成を扱う。

区間演算は計算結果を区間で表すことで真の値を厳密に囲い込み、精度保証付き計算は数学的に正しい誤差限界を自動的に導出する。これらは科学計算の信頼性を根本的に向上させる技術である。

学習目標

  • 区間演算の定義と依存性問題を理解する
  • 精度保証付き数値計算の理論と応用を学ぶ
  • 擬似乱数生成器の原理と品質評価を理解する

目次

  1. 第1章 区間演算

    区間演算の定義、依存性問題、アフィン演算・Taylor模型、区間ニュートン法、初等関数の区間拡張、区間行列演算、制約伝播

  2. 第2章 精度保証付き数値計算

    誤差限界の自動導出、計算機援用証明、精度保証、MPLAPACK、再現可能計算、形式検証(Coq/Flocq/Gappa)、物理・工学応用(天体力学・格子QCD・CFD)

  3. 第3章 乱数生成

    擬似乱数生成器(LCG、MT19937、Xorshift、PCG)、周期と品質評価、統計的検定、非一様乱数生成

区間演算の可視化

計算結果を点ではなく区間で表し、誤差を厳密に管理する。

2.5 3.0 3.5 区間演算: [3.14, 3.15] 真の値 π 区間演算の例: [1, 2] + [3, 4] = [4, 6] ← 真の結果は必ずこの区間内 精度保証付き計算: 計算結果が真の値を含むことを数学的に保証

図1: 区間演算の概念。青い帯が計算結果の区間、赤い点が真の値を表す。

前提知識

  • 数値解析 初級の浮動小数点数の知識
  • アルゴリズムと計算量の基礎
  • C言語やPythonなどのプログラミング経験(あれば望ましい)

関連ライブラリ

Arb / FLINT

区間演算・精度保証付き計算に特化したライブラリ。ボール演算による高速な誤差追跡。

INTLAB

MATLAB/Octave上の区間演算ツールボックス。精度保証付き数値計算の標準的ツール。

kv ライブラリ

C++による精度保証付き数値計算ライブラリ。微分方程式の解の存在証明に対応。

参考資料