第1章: 数値計算とは

What is Numerical Computation?

数値計算とは何か

数値計算(numerical computation)とは、数学的な問題をコンピュータを使って数値的に解く方法です。

数学では、方程式の解を公式で表したり、積分を記号的に計算したりすることがあります。しかし、現実の多くの問題では、そのような「きれいな答え」が得られないことがほとんどです。数値計算は、このような問題に対して「近似的な数値の答え」を求める方法を提供します。

例:2次方程式 vs 5次方程式

2次方程式 $ax^2 + bx + c = 0$ の解は、解の公式で求められます:

$$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$$

しかし、5次以上の方程式には一般的な解の公式が存在しません(アーベル・ルフィニの定理)。このような方程式を解くには、数値計算が必要です。

解析解と数値解

例:$x^2 = 2$ を解く

解析解(厳密解):$x = \sqrt{2}$ ← 数式で表された正確な解

数値解(近似解):$x \approx 1.41421356237...$ ← 具体的な数値

解析解は正確ですが、実際の計算では具体的な数値が必要な場面が多くあります。数値解析とは、このような数値解を効率よく求めるための学問です。

解析解と数値解の比較
比較項目 解析解 数値解
形式数式・記号具体的な数値
精度厳密近似(誤差あり)
適用範囲限定的広い
利点一般的な性質がわかる実用的な値が得られる

近似の考え方

数値計算の核心は「近似」です。完璧な答えを求めるのではなく、「十分に良い答え」を効率的に求めます。

近似が必要な理由

  • 解析的に解けない問題が多い
  • コンピュータは有限の桁数しか扱えない
  • 実用上は一定の精度があれば十分

例:円周率の近似

円周率 $\pi = 3.14159265358979...$ は無限に続く数です。しかし、実用的には:

  • 小学校:$\pi \approx 3.14$
  • 工学計算:$\pi \approx 3.14159$
  • 精密計算:$\pi \approx 3.141592653589793$(倍精度)

用途に応じた精度で近似値を使います。

数値計算の応用例

方程式の求解

$f(x) = 0$ となる $x$ を求める。例:$x^5 - x - 1 = 0$ の解

数値積分

$\displaystyle\int_a^b f(x)\,dx$ の値を求める。例:$\displaystyle\int_0^1 e^{-x^2}\,dx$

微分方程式

天気予報、流体シミュレーションなど

行列計算

連立方程式、データ分析、機械学習

アルゴリズムの重要性

数値計算では、「どのような手順で計算するか」が非常に重要です。同じ問題でも、アルゴリズムによって:

  • 速度が大きく変わる
  • 精度が異なる
  • 安定性(誤差の蓄積)が違う

例:$\sqrt{2}$ を2つのアルゴリズムで求める

$x^2 = 2$ の正の解($\sqrt{2} = 1.41421356237...$)を、遅いアルゴリズムと速いアルゴリズムで求めて比較します。

方法1:二分法(遅い)

$1^2 = 1 < 2$、$2^2 = 4 > 2$ なので、解は区間 $[1, 2]$ の中にあります。区間の中点を調べて、解がある側の半分に絞り込む操作を繰り返します。

ステップ近似値誤差
11.5$8.6 \times 10^{-2}$
51.40625$8.0 \times 10^{-3}$
101.4150390625$8.3 \times 10^{-4}$

10ステップでも誤差は $10^{-4}$ 程度。1ステップごとに精度が約1ビットずつ向上する。

方法2:ニュートン法(速い)

初期値 $x_0 = 1$ として、以下の式を繰り返します:

$$x_{n+1} = \frac{1}{2}\left(x_n + \frac{2}{x_n}\right)$$
ステップ近似値誤差
11.5$8.6 \times 10^{-2}$
21.41666...$2.5 \times 10^{-3}$
31.41421568...$2.1 \times 10^{-6}$
41.41421356237...$1.6 \times 10^{-12}$

わずか4ステップで誤差 $10^{-12}$。1ステップごとに正しい桁数が約2倍に増える。

同じ問題でも、アルゴリズムの選び方で収束速度がまったく異なります。

まとめ

  • 数値計算は、数学的問題を数値的に解く方法
  • 解析解は数式、数値解は具体的な数値
  • 多くの問題は解析的に解けないため、近似が必要
  • アルゴリズムの選択が精度と速度に影響する
  • 数値計算は科学・工学の様々な分野で活用されている