• Tidak ada hasil yang ditemukan

表現誤差 - 北海道大学

N/A
N/A
Protected

Academic year: 2024

Membagikan "表現誤差 - 北海道大学"

Copied!
5
0
0

Teks penuh

(1)

表現誤差

実際の値は数直線上のどんなに狭い部分にも無限個の実数が含まれているため浮 動小数点表示には表現の誤差が含まれる.

*

切り捨て浮動小数点での表示を

m

桁までできたとする.そのときそれより先の

m +1

以上の桁を切り捨てて表示したとするとその切り捨てた分が誤差になる. 今, 実際 の値を

z,

浮動小数点で表示できる部分を

F ,

切り捨てたられた表現誤差を

δ

1とす ると,

δ

1

= z − F

となる.z

F

を浮動小数点で表示すると,

δ

1

= (0.f

1

f

2…)β

× (β)

10(E)10

− (0.f

1

f

2fm

)

β

× (β)

10(E)10

となる. ここで省略のため仮数部も指数部も正の値で考えている. (??)式から

δ

1

=

(f

1

)

10

(β)

101

+ · · · + (f

m

)

10

(β)

10m

+ (f

m+1

)

10

(β)

10(m+1)

+ · · ·

× (β)

10(E)10

− (f

1

)

10

(β)

101

+ · · · + (f

m

)

10

(β)

10m

× (β)

10(E)10

= (f

m+1

)

10

(β)

10(m+1)

× (β)

10(E)10

+ (f

m+2

)

10

(β)

10(m+2)

× (β)

10(E)10

+ · · · .

仮に

m

が十分大きく

(β)

10(m+2)以降の項を極小だとする. そのとき,誤差の値が

m + 1

桁の値で決まるとみなすと,

δ

1

≈ (f

m+1

)

10

(β)

10(m+1)

× (β)

10(E)10

.

δ

1として取り得る最大の値を取るのは

(f

m+1

)

10が最大値を取ったときである. よっ て,

(f

m+1

)

10

= (β)

10

− 1.

このとき

δ

1

≤ ((β)

10

− 1)(β)

10(m+1)

× (β)

10(E)10

=

(β)

10m

− (β)

10(m+1)

× (β)

10(E)10

.

δ

1の相対誤差は

δ

1

F

で割ることで求められるので相対誤差を

δ

1rとすると

δ

1r

=

(β)

10m

− (β)

10(m+1)

× (β)

10(E)10

(f

1

)

10

(β)

101

· · · + (f

m

)

10

β

10−m

× (β)

10(E)10

≈ (β)

10m

(f

1

)

10

(β)

101

. (1.1)

(2)

相対誤差の取り得る最大の値は

(f

1

)

10

= (1)

10のときである. よって,

δ

1r

≤ (β)

10m

(β)

101

= (β)

10(m1)

(1.2)

となる.

*

四捨五入浮動小数点の形で正確に表せる数の中間に境目を置いて,

β

進法で四捨五 入のようなことをする場合を考える1 )

.

今,

m + 1

桁目の値を四捨五入することを 考える. このとき四捨五入される

m + 1

桁目の値を

δ

roとすると,

δ

ro

≡ (f

m+1

)

10

(β)

10(m+1)

× (β)

10(E)10

+ · · ·

=

 

(β)

10m

(f

m+1

)

10

(β)210

0

(f

m+1

)

10

(β)210

− 1

である. ここで四捨五入による表現誤差を

δ

2とすると

δ

2

= z − (F + δ

ro

)

となる. 切り捨ての時と同様に浮動小数点で表したとすると,

δ

2

= (0.f

1

f

2…)β

× (β)

10(E)10

− ((0.f

1

f

2fm

)

β

× (β)

10(E)10

+ δ

ro

=

(f

1

)

10

(β)

101

+ · · · + (f

m

)

10

(β)

10m

+ (f

m+1

)

10

(β)

10(m+1)

+ · · ·

× (β)

10(E)10

− (f

1

)

10

(β)

101

+ · · · + (f

m

)

10

(β)

10−m

× (β)

10(E)10

− δ

ro

.

(f

m+1

)

10

= (β)

10

2

とする. このとき

δ

roは繰り上がって,

δ

2

=

(f

1

)

10

(β)

101

+ · · · + (f

m

)

10

(β)

10m

+ ( (β)

10

2 (β)

10(m+1)

+ · · ·

× (β)

10(E)10

− (f

1

)

10

(β)

101

+ · · · + (f

m

+ 1)

10

(β)

10m

× (β)

10(E)10

=

(β)

10

2 − 1)(β)

10m

× (β)

10(E)10

+ · · ·

= − (β)

10

2 (β)

10m

× (β)

10(E)10

+ · · ·

1 )ここでの四捨五入とは中間に境目をおいて値がその境目以上のときは繰り上げ,それより低い ときは切り捨てを行う丸めのこと.

(3)

となる.切り捨てのときと同様に

(β)

10(m+2)

以降の項が無視できるとすると,

δ = β

10m

2 × β

10E10 となる.

(f

m+1

)

10の値が

(β)

10

2 − 1

以下の時は繰り上がらずそのときの

(f

m+1

)

10

(β)

10(m+1) が表現誤差になるので最終的に誤差の値が最大になるのは

f

m+1

= β

2

のときであ る. 打切り誤差の時と同様に相対誤差

δ

2rも求めると

δ

2r

=

β10m

2

× β

10E10

(f

1

)

β

β

101

· · · + (f

m

)

β

β

10m

) × β

10E10

β10−m 2

(f

1

)

β

β

101

(1.3)

となる. 相対誤差の取り得る最大の値は

(f

1

)

10

= (1)

10のときである. よって,

δ

2r

β10m 2

β

101

= β

10(m1)

2 . (1.4)

*

具体例パソコンで使う場合は

2

進数かあるいは

16

進数を用いる2 )

. 1

つの数は定 まったビット数の

1

語に収められることになっているため3 )

,1

語で表現しうる数の 種類はこのビット数に応じて高々232個とか

2

64個とか言うように限られたものに なる. そのときには表現誤差が含まれた形になる. 以下に

32

ビット語の場合の代表 的な例を挙げる.

*

IBM

方式

IBM

方式とは図??の概念図のような形で数が表現されている表現方式で ある.

IBM

方式は

(??)

式において

β = 16,m = 6

とし,丸め4 )を切り捨て方式にしてい る. この形で表現できる数は, 絶対値で約

16

64

∼ 16

63範囲である5 )

. 10

進表示

2 )

16

進法は

2

進法の

4

桁を一つにまとめたものなので実質は

2

進法である.

3 )ビットはコンピュータの最小単位で

2

進法の

1

桁のこと.

4 )丸めとは切り捨てなどの端数処理のこと.

5 )

16

64

0

と表現している.
(4)

1.1: IBM

方式の数の内部表現の概念図

(伊理正夫, 1985:数値計算の常識より)

にすると約

0.86 × 10

77

∼ 0.72 × 10

76である. この方式での表現の相対誤差は

(f

1

)

16

=

= (f

6

)

16

= (F )

16のとき最も小さくなる6 )

. (??)

式より

δ

r

≈ 16

6

15 · 16

1

= 16

6

≈ 6 × 10

8

となる. また,(f1

)

16

= (1)

16

,(f

2

)

16

=

= (f

6

)

16

= 0

のとき最も大きくなる. 同様 にやると,

δ

r

≈ 16

6

1 · 16

1

= 16

5

≈ 10

6 となる.

*

IEEE

方式

(マイクロソフト社製 BASIC

等)マイクロソフト社製

BASIC

等の方式は

IEEE

方式と呼ばれる表現方式である. この方式は図??の概念図のような形で数が 表現される.

IEEE

方式は

(??)

式において

β = 2,m = 24

とし,丸めを四捨五入

(2

進法なので

0

1

入)とする.

2

進法で表現されたことで

(f

1

)

β

6 = 0

の条件から

(f

1

)

2 は自動的

6 )

16

進法では慣習で

0, 1, · · · , 9

の他に

10, 11, 12, 13, 14, 15

に相当するもとのとして

A,B,C,D,E,F

を使う.
(5)

1.2: IEEE

方式

(マイクロソフト社製 BASIC

等)の数の内部表現の概念図

(伊理

正夫, 1985:数値計算の常識より)

(1)

2に決まる. そのため

(f

1

)

2には情報がないことになり省略できるなどの利点 がある. この形で表現できる数は, 絶対値で約

2

128

∼ 2

127の範囲である7 )

. 10

進 表示にすると約

2.9 × 10

39

∼ 1.7 × 10

38となる. この方式での表現の相対誤差は

(f

1

=)(f

2

)

2

=

= (f

24

)

2

= (1)

2のとき最小になる. (??)式より

δ

r

2

24

2 2 2

= 2

25

≈ 3 × 10

8

.

最大になるのは

(f

1

)

2

= (1)

2

,(f

2

)

2

=

= (f

24

)

2

= 0

のときで最小の時と同様に求 めると

δ

r

2

24

2 1 2

= 2

24

≈ 6 × 10

8

である. 表現の相対誤差がほぼ一定であるのが

16

進法に比べて著しい長所の一つ である.

7 )

2

128

0

を表現している.

Referensi

Dokumen terkait

はじめに 長野市松代の象山記念館に,「地震予知器」が収蔵されて いる.1855年の安政江戸地震の直前に永久磁石が磁力を 失った(磁石に付いていた釘がぽろぽろと落ちた)話を聞 いた佐久間象山が考案したものとのことだ1.トリブッチ2 は,大気中の帯電エアロゾルによって磁石と釘が同じ極性 に帯電した結果,それらの間の静電気的な反発で見かけ上

ただし積分路C は原

エント ロピー 7-1 サイクルの性質 2つの熱源間での循環過程 系Sがある循環過程を行い,温度T1,T2T2 T1の2 つの熱源と熱交換するものとする.それぞれの熱源と交換する熱量をQ1 0, Q2 0系が熱を受けとる場合は正,放出する場合は負にとるとすれば,こ の循環過程に対してW Q1 Q2ゆえ Q1 Q2 Q2 Q1 Q2 Q2 可逆

プログラム例は単精度, 倍精度それぞれex2 float.f90, ex2 double.f90 を参照されたい... GFDワークノート 実数の浮動小数点表現とその誤差 その1 3

なお, 上記の付録と同様に長田直樹著雑誌「理系への数学」連載「お話:数値解 析第 3 回」を参考にオイラー・マクローリンの公式を導く.. 連載記事は http://www.cis.twcu.ac.jp/~osada/rikei/rikei2008-7.pdfにてPDF形式で閲覧する

振幅 A0 に関する発展方程式は |A0|2 に適当な重みをかけた量 の保存形で書き 表すことのできる場合が多い.. このことは, 通常の物理系が変分原理で記述できる

物理数学I演習 17 5.2 ベクトル場の面積分 空間内の領域D内の曲面S を含む領域において定義されたベクトル場 A=a1x, y, ze1+a2x, y, ze2+a3x, y, ze3 に対し,ベクトル場Aの面積分を以下のように定義する.. 5.2 ここでdS, dSはそれぞれ曲面S上のベクトル面積素と面積素,nは面積素dSの 法線ベクトルで,ni

日置・松尾、本 特集号。気候変動に関する政府間パネルLemke et al., 2007 によると、地球温暖化に伴い北極地域では今 後100年で5℃近い気温上昇が予測されている。この ような気候変化は氷河や氷床のみならず、高緯度帯 の永久凍土にも影響を与えるだろう。 シベリア永久凍土帯では、東側からレナ川・エニ セイ川・オビ川と三つの大きな河川が存在し、それ