ガイダンス

数値計算とは?�
•  数値計算の目的は....�
–  「具体的な値を求める」�
数値計算入門�
•  連続量の近似計算�
–  実数は連続��
–  計算機・電卓の世界は有限�
•  数値計算の定石=アルゴリズム�
–  この授業では基本的な数値計算のアルゴリズムにつ
いて学ぶ�
�
(例)定積分を求める�
•  数学の世界では・・・�
–  不定積分を公式に従って求める�
–  積分範囲について計算する�
•  例:x2を0から1まで積分せよ�
–  不定積分を求めて�
–  積分範囲を代入する�
1
∫x
0
2
dx = ?
「数値的に」積分する�
•  求めたい定積分の範囲を分割し、それぞ
れの範囲において近似的な値を「数値的」
に求める�
1
# x3 &
1
1
% ( = −0=
3
$ 3 '0 3
y= x2
•  このような求め方を「解析的に求める」という�
区間幅�Δx!
例えば台形と近似するとこの台形
の面積を数値で求めることが!
できる(台形公式)�
コンピュータを使った�
数値計算�
•  手計算では煩雑、間違いが多いので�
�現在はコンピュータを用いることがほとんど�
�「計算コスト」という概念が重要�
� �CPU時間〜乗除算の回数�
� �主記憶(メモリ量(変数)の制約に注意�
誤差の評価�
•  誤差の限界
•  誤差はどの程度かの見積もり
•  誤差は大きくて どの程度か
• 
|e| ≦ ε
a - ε ≦ x ≦ a + ε#
数値計算における誤差
• 
• 
• 
• 
• 
• 
数値計算は「近似計算」である
必ず「誤差」を伴う
誤差とは?
近似値 = 真値 + 誤差 (または 真値 ー 誤差)
a=x+e
•  相対誤差 eR ∼ e/x
•  真値がわからないから近似値を求めているの
だから真値がわからないと誤差もわからな
い?
誤差の発生要因�
◆丸め誤差
•  切り捨て・四捨五入によって生じる誤差
◆桁落ち
•  近接した2数の引き算で、有効数字が失われること
◆打ち切り誤差
•  数学的に正確に与えられた関数 f の値を有限回の四則演算の繰
り返しで近似する公式を fa とするとき
f ( x) − fa ( x )
•  を打ち切り誤差という。�
浮動小数点数"
「桁落ち」の例�
•  次の計算をしなさい!
1001 − 1000
解答は配付資料参照�
• 
• 
• 
• 
• 
• 
• 
◆浮動小数点数
・内部表現
・正規表現
◆正規表現の絶対値の限界
・オーバーフロー overflow
・アンダーフロー underflow
浮動小数点数
•  実数の表現方式�
•  任意の実数 x はβ進t桁の正規化された�
浮動小数点数として�
x�= ±0.d1d2d3........ dt ・βe
•  と表される。�
•  仮数(mantissa) ±0.d1d2d3........ dt �
•  基底(base) β�
•  指数(exponent) e�
浮動小数点数の例�
• 123.4 = 0.1234 x 103
• ��� = 1.234 x 102
• ��� = 1234 x 10-1 !
•  ・・・・・・!
•  正規形(normal form) !
x
= ± (d1 βe-1+ d2 βe-2+ d3 βe-3+....dt
•  正規化(normalize)!
βe-t) !
数値計算法における"
アルゴリズム�
•  ◆アルゴリズム�
•  与えられた問題を解くための、一連の数学的操作�
•  ◆直接法�
•  数学的操作の回数が有限な解法�
数値計算における安定性�
•  数値的に安定なアルゴリズム!
–  丸め誤差の蓄積にあまり影響されないもの
•  数値的に不安定なアルゴリズム!
–  入力データのわずかな誤差や計算途中の丸
め誤差が結果に大きく影響するもの
•  ◆反復法�
•  無限回の操作を必要とするアルゴリズムで同じ数学的操
作の繰り返しを行うもの�
よいアルゴリズムの条件
計算費用(コスト)�
•  計算時間 (CPU time)
•  乗除算は加減算の演算の3ー5倍の時
間を要する。=>乗除算の回数を見積
もる。
•  計算時間は演算時間の3ー5倍で見積
もる。
•  主 記 憶 量 の 制 限 を 考 慮 す る 必 要 が あ
る。
• 
• 
• 
• 
• 
(1)できるだけ簡単な公式で表されること
(2)数値的に安定であること
(3)計算時間が少ないこと
(4)計算に必要なメモリーの量が少ないこと
(5)プログラムの作成が容易であること