情報処理演習I(第AfFD)

数値解析
(NUMEICAL ANALYSIS)
担当:石渡
対象:数理科学科2年
教室:5451教室&プログラミング教室1
ガイダンス
・講義内容:
代表的な数値計算手法とその数学的背景の理解、
PC実習による実践(3~4回程度)
非線形方程式の数値解法: f(x)=0
連立1次方程式の数値解法: Ax=b
常微分方程式の数値解法: x’(t) = f(x, x(t))
・教科書指定なし。
上記内容を含む比較的昔からある本は良いと思う。
森正武、山本哲朗、杉原・室田、…らの本
・講義用web:
http://www.sic.shibaura-it.ac.jp/~tisiwata/Lec/NA/na.html
評価
• 期末テスト、PC実習レポート。(テスト6割)
• 出席点はない。
ただし、PC実習で欠席が半数以上のものは不可。
• 著しく講義・演習環境を阻害する者は直ちに不可とする。
受講に相応しい静かな環境をお互い維持しましょう。
目標
• 理論面:アルゴリズムの理解、その数学的背景の理解
• 実践面:プログラムの作成、数値計算の実践
導入(黒板)
• 積分の数値計算
「離散化」して「近似計算」
真の値に「収束」するか?
いろいろな「離散化手法」「近似法」がある。
例:区分求積、台形公式、シンプソン公式…
? よりよい近似法とは?
精度、計算量、計算速度、
プログラミングのしやすさ、…
§0 準備
§0.1 誤差
x: 真値(true value)
a: 近似値(approximate value)
e:=x-a : 誤差(error)
例: x=π=3.1415926535… の近似値が a=3.14
⇒ 誤差 e=0.0015926535…
誤差は次の2つの量で見ることが多い。
・絶対誤差(absolute error): |e|
・相対誤差(relative error): eR := |e|/x
• 誤差限界 ε (>0)
⇔ |e| ≦ ε となる ε
-- 必ずしも事前に ε が分かるわけではない。
-- もしも分かると、真値の範囲が
a–ε≦x ≦ a+ε
と分かる。
§0.2 誤差の発生
• 打切り誤差(truncation error)
式を(計算可能な)有限回の四則演算に置き換える際に
発生する誤差
• 丸め誤差(rounding error)
数値を(計算機で扱える)有限桁の数にする操作(これ
を「丸める」という。)に起因する誤差
§0.3 有効桁数、桁落ち、情報落ち
• 丸める … 数値のある桁以下を切り捨て等を行い、有
限桁数にすること。
• 有効 r 桁の数値
丸めによってできた r 桁の数値
( r を有効桁数ということもある。)
10進数で有効桁数5桁のとき、10進有効5桁、など
という。大体2進か10進でいうことが多い。
※丸めの影響により、計算結果に数学的な等号は成り立たない。
⇒計算の順番に工夫をして丸めの影響を低減したり、有効桁
数をなるべく多くとる。
※誤差の伝播:計算を繰り返し行うことにより、見込まれる誤
差限界は大きくなっていく。
桁落ち、情報落ち
• 桁落ち:
2つの値の近い数の引き算で、有効桁数が低下
する現象
例:1.2345-1.2344 = 0.0001 有効桁数 5 → 1
• 情報落ち:
大きさが極端に異なる2つの数の加減算の際に
絶対値が小さい方の数の情報が一部または全部
使われなくなる現象
例:(有効5桁)
1.1111+ 0.000012345 = 1.1111
§0.4 浮動小数点数(Floating Point Number)
浮動小数点数=
仮数部(符号、各桁の情報)×基数指数部(小数点の位置情報)
𝑎進 𝑟桁浮動小数点数
𝑥 = ±0. 𝑑1 𝑑2 𝑑3 ⋯ 𝑑𝑟 × 𝑎𝑝 = ±
𝑟
𝑖=1 𝑑𝑖
𝑎𝑝−𝑖
ただし、𝑎, 𝑑𝑖 は整数で、基数𝑎は 𝑎 ≥ 2,
仮数部の各桁:0 ≤ 𝑑𝑖 ≤ 𝑎 − 1, 𝑑1 ≠ 0(𝑥 ≠ 0)
指数部 𝑝 : 𝑀1 ≤ 𝑝 ≤ 𝑀2
• 基数は、日常的には a=10, 計算機では a=2,16が一般的
• F.P.N.で記述できる数は、連続的には存在しない。
常に、離散的に分布していることに注意。
※マシンイプシロン 𝜀𝑀
離散的に分布⇒ ∃ 𝜀𝑀 > 0 𝑠. 𝑡. 1 + 𝜀𝑀 =
1より大きい最小の𝐹. 𝑃. 𝑁.
• 扱える数の絶対値に最大値・最小値が存在
⇒オーバーフロー、アンダーフロー
• IEEE754 standard : 標準的なF.P.N.の規格(調べよ)
第0章課題(PC実習課題の代わり)
• 配布フォルダor 講義用webにある課題シートを両面印刷し、
各課題をやって提出せよ。
〆切:2015年4月21日 18:00
提出先:数理棟2F書記室前のレポートボックス
講義用web:
http://www.sic.shibaura-it.ac.jp/~tisiwata/Lec/NA/na.html