2014年12月6日土曜日

ゼロ除算(ゼロじょざん、division by zero)

ゼロ除算
ゼロ除算(ゼロじょざん、division by zero)は、0 で除す割り算のことである。このような除算は除される数を a とするならば、形式上は a⁄0 と書くことができるが、数学において、この式と何らかの意味のある値とが結び付けられるかどうかは、数学的な設定にまったく依存している話である。少なくとも通常の実数の体系とその算術においては、意味のある式ではない。
コンピュータなど計算機においても、ゼロ除算に対するふるまいは様々である。たとえば浮動小数点数の扱いに関する標準であるIEEE 754では、数とは異なる無限大を表現するものが結果となる。他には、例外が起きてプログラムの中断を引き起こすかもしれないし、例えばナイーブに取尽し法を実行しようとしたなら無限ループに陥るか、なんらかの最大値のようなものが結果となるかもしれない。
計算尺では、対数尺には0に相当する位置が存在しない(無限の彼方である)ため不可能である。
目次 [非表示]
1 算数的解釈
2 初期の試み
3 代数学的解釈
3.1 ゼロ除算に基づく誤謬
4 解析学的解釈
4.1 ゼロ除算と極限
4.2 リーマン球面
5 コンピュータにおけるゼロ除算
6 ポップカルチャー
7 脚注
8 参考文献
9 関連項目
10 外部リンク
算数的解釈[編集]
算数レベルでは、除算は何らかの物の集合をそれぞれ同数になるように分けることで説明される。例えば、10個のリンゴを5人で分ける場合、各人は 10⁄5 = 2個のリンゴを受け取ることになる。同様に、10個のリンゴを1人で分ける場合、各人は 10⁄1 = 10個のリンゴを受け取る。
この考え方を使ってゼロ除算を説明できる。10個のリンゴを0人で分けるとする。各人は何個のリンゴを受け取るだろうか? 10⁄0 を計算しようとしても、元の設問自体が無意味なので無意味となる。この場合、各人が受け取る個数は、0個でも、10個でも、無限個でもない。なぜなら、元々受け取るべき人はいないからである。以上のように算数レベルで考える場合、ゼロ除算は無意味または未定義となる。
ゼロ除算の未定義性を理解する別の方法として、減法の繰り返し適用という考え方がある。すなわち、余りが除数より少なくなるまで除数を繰り返し引くのである。たとえば 13 割る 5 を考えると、13 から 5 は 2 回引くことができ、余りは 3 となる。結果は 13⁄5 = 2 あまり 3 などと記される。ゼロ除算の場合、ゼロを何度引いても余りがゼロより小さくなることはないため、無限に減法を繰り返すだけとなる。
初期の試み[編集]
628年にブラーマグプタが著した『ブラーマ・スプタ・シッダーンタ』では、0 を数として定義し、その演算結果も定義している。しかし、ゼロ除算の説明は間違っていた。彼の定義に従うと代数的不合理が生じることを簡単に証明できる。ブラーマグプタによれば、次の通りである。
「正または負の数をゼロで割ると、分母がゼロの分数となる。ゼロを正または負の数で割ると、ゼロになるか、またはゼロを分子とし有限数を分母とする分数になる。ゼロをゼロで割るとゼロになる」
830年、マハーヴィーラはブラーマグプタの間違いを著書 『ガニタ・サーラ・サングラハ』で以下のように訂正しようとして失敗した。
「数はゼロで割っても変化しない」
バースカラ2世は n⁄0 = ∞ と定義することで問題を解決しようとした。この定義はある意味では正しいが、後述の「ゼロ除算と極限」に示す問題もあり、注意深く扱わないとパラドックスに陥る。このパラドックスは近年まで考察されなかった[1]。
代数学的解釈[編集]
ゼロ除算を数学的に扱う自然な方法は、まず除算を他の算術操作で定義することで得られる。整数、有理数、実数、複素数の一般的算術規則では、ゼロ除算は未定義である。体の公理体系に従う数学的体系では、ゼロ除算は未定義のままとされなければならない。その理由は、除法が乗法の逆演算として定義されているためである。つまり、a⁄b の値は、bx = a という等式を x について解いたときに値が一意に定まる場合のみ存在する。さもなくば、値は未定義のままとされる。
b = 0 のとき、等式 bx = a は 0x = a または単に 0 = a と書き換えられる。つまりこの場合、等式 bx = a は a が 0 でないときには解がなく、a が 0 であれば任意の x が解となりうる。いずれにしても解は一意に定まらず、a⁄b は未定義となる。逆に、体においては a⁄b は b がゼロでないとき常に一意に定まる。
ゼロ除算に基づく誤謬[編集]
ゼロ除算を代数学的記述に用いて、例えば以下のように 1 = 2 のような誤った証明を導くことができる。
以下を前提とする。
0 \times 1 = 0\quad
0 \times 2 = 0\quad
このとき、次が成り立つ。
0 \times 1 = 0 \times 2
両辺をゼロ除算すると、次のようになる。
\textstyle \frac{0}{0}\times 1 = \frac{0}{0}\times 2
これを簡約化すると次のようになる。
1 = 2\quad
この誤謬は、暗黙のうちに 0⁄0 = 1 であるかのように扱っていることから生じる。
上の証明が間違いであることは多くの人が気づくと思われるが、これをもっと巧妙に表現すると間違いを分かりにくくできる。例えば、1 を x と y に置き換え、ゼロを x - y、2 を x + y で置き換える。すると上記の証明は次のようになる。
(x-y)x = x^2-xy = 0
(x-y)(x+y) = x^2-y^2 = 0
したがって、
(x-y)x = (x-y)(x+y)
両辺を x - y で割ると次のようになる。
x = x+y
x = y = 1 を代入すると、次のようになる。
1 = 2
解析学的解釈[編集]
ゼロ除算と極限[編集]
関数 y = \textstyle\frac{1}{x} のグラフ。x が 0 に近づくと、y は無限大に近づく。
直観的に a⁄0 は a⁄b で b を 0 に漸近させたときの極限を考えることで定義されるように見える。
a が正の数の場合、次のようになる。
\lim_{b \to 0^{+}} {a \over b} = {+}\infty
a が負の数の場合、次のようになる。
\lim_{b \to 0^{+}} {a \over b} = {-}\infty
したがって、a が正のとき a⁄0 を +∞、a が負のとき -∞ と定義できるように思われる。しかし、この定義には2つの問題点がある。
第一に、正と負の無限大は実数ではない。実数の範囲内で考えたい場合、この定義には意味がない。この定義を使いたければ、何らかの形で実数を拡張する必要がある。
第二に、右側から極限に漸近するのは恣意的である。左側から漸近して極限を求めた場合、a が正の場合に a⁄0 が -∞ となり、a が負の場合に +∞ となる。これを等式で表すと次のようになる。
  1. \infty = \frac{1}{0} = \frac{1}{-0} = -\frac{1}{0} = -\infty
このように、+∞ と -∞ が等しいことになってしまい、これではあまり意味がない。これを意味のある拡張とするには、「符号のない無限大」という概念を導入するしかない。
実数に、正負の区別が有る、あるいは無い、無限大が含まれるように拡張したものが拡大実数である。アフィン拡大実数では区別が有り、射影拡大実数では区別が無い(無限遠点)。
物理学においてはブラックホールや宇宙の始まりを考察するさいに質量/体積(密度)の体積が0となる特異点が発生するためゼロ除算による無限大発散の難問が生じている。この場合質量・体積は正であるため正の無限大への発散となる。
直接のゼロ除算以外では、三角関数のtan90°などの計算においても、同様の問題が生じてしまう。
0⁄0 についても、極限
\lim_{(a,b) \to (0,0)} {a \over b}
は存在しないため、うまく定義できない。さらに一般に、x が 0 に漸近すると共に f(x) も g(x) も 0 に漸近するとして、極限
\lim_{x \to 0} {f(x) \over g(x)}
を考えても、これは任意の値に収束する可能性もあるし、収束しない可能性もある。したがって、この手法では 0⁄0 について意味のある定義は得られない。
リーマン球面[編集]
リーマン球面は、複素平面に無限遠点 ∞ の1点を付け加えて得られるもの C ∪ {∞} である。上記実射影直線(射影拡大実数)の複素数版とも考えられる。リーマン球面は複素解析において重要な概念であり、演算は例えば 1/0 = ∞、1/∞ = 0、などとなるが、∞+∞ や 0/0 は定義されない。
コンピュータにおけるゼロ除算[編集]
SpeedCrunchという電卓ソフトでゼロ除算を実行したときの様子。エラーが表示されている。
現在のほとんどのコンピュータでサポートされているIEEE 754 浮動小数点に関する標準規格では、全ての浮動小数点演算を定義している。ゼロ除算も例外ではなく、どういう値になるかが定義されている。IEEE 754の定義によれば、a/0 で a が正の数であれば、除算の結果は正の無限大となり、a が負の数であれば負の無限大となる。そして、a も 0 であった場合、除算結果は NaN(not a number、数でない)となる。IEEE 754 には -0 も定義されているため、0 の代わりに -0 で除算をした場合は、上述の符号が反転する。
整数のゼロ除算は通常、浮動小数点とは別に処理される。というのは整数ではゼロ除算の結果を表す方法がないためである。 多くのプロセッサは整数のゼロ除算を実行しようとすると例外を発生させる。この例外に対する対処がなされていない場合、ゼロ除算を実行しようとしたプログラムは強制終了(アボート)される。これは、ゼロ除算がエラーと解釈されるためで、エラーメッセージが表示されることも多い。
1997年、民生品の応用を研究していたアメリカ海軍はタイコンデロガ級ミサイル巡洋艦ヨークタウンを改造して主機のガスタービンエンジンの制御にマイクロソフト社のソフトウェアを採用したが、試験航行中にデータベースのゼロ除算が発生してソフトウェアが例外を返し、結果として主機が停止、回復するまでカリブ海を2時間半ほど漂流する事態となっている[2]。
ポップカルチャー[編集]
"OH SHI-"―ゼロ除算がコンピュータや電卓でエラーを引き起こす様を宇宙の終焉などに結びつけた英語の口語表現。「Oh shit!」と最後まで言い切る前に宇宙は破壊されてしまう[3]。
テッド・チャンの短篇に Division by Zero(ゼロで割る)という題名のものがある。
北米発祥のジョーク、チャック・ノリス・ファクトによれば、「チャック・ノリスはゼロ除算ができる」という真実(ファクト)がある[4]。
脚注[編集]
^ J J O'Connor and E F Robertson (2000年11月). “Zero”. 2008年11月16日閲覧。
^ “Sunk by Windows NT”. (1998年7月24日) 2008年11月16日閲覧。
^ “oh shi-”. Urban Dicthionary. 2011年10月11日閲覧。
^ “Chuck Norris can divide by zero”. Chuck Norris Facts. 2011年10月11日閲覧。
参考文献[編集]
Jakub Czajko (July 2004) "On Cantorian spacetime over number systems with division by zero", Chaos, Solitons and Fractals, volume 21, number 2, pages 261—271.
Ben Goldacre. “Maths Professor Divides By Zero, Says BBC”. 2008年5月8日閲覧。ゼロ除算の結果を nullity という新たな記号で表す方法が提唱された。
関連項目[編集]
漸近線
0の0乗

ゼロ除算100/0=0, 0/0=0の意義:
1)西暦628年インドでゼロが記録されて以来 ゼロで割るの問題 に 決定的な解をもたらしたこと。
2)ゼロ除算の導入で、四則演算 加減乗除において ゼロで割れないの例外から、例外なく四則演算が可能である という 美しい構造が確立された。
3)2千年以上前に ユークリッドによって確立した、平面の概念に対して、おおよそ200年前に非ユークリッド幾何学が出現し、特に楕円型非ユークリッド幾何学ではユークリッド平面に対して、無限遠点の概念がうまれ、特に立体射影で、原点上に球をおけば、 原点ゼロが 南極に、無限遠点が 北極に対応する点として 複素解析学では 100年以上も定説とされてきた(注参照)。それが、無限遠点は数では、無限ではなくて、実はゼロであったという驚嘆すべき世界観をもたらした。
4)ゼロ除算は ニュートンの万有引力の法則における、2点間の距離がゼロの場合における新しい解釈、 独楽の中心における角速度の不連続性の解釈、衝突などの不連続性を説明する数学になっている。ゼロ除算は アイシュタインの理論でも重要な問題になっていたとされている。
5)複素解析学では、1次変換の美しい性質が、ゼロ除算の導入によって、任意の1次変換は全複素平面を一対一onto に写すと美しい性質に変わるが、 極である1点における不連続性が現れ、ゼロ除算は、無限遠点を 数から排除する数学になっている。
6)ゼロ除算は、不可能であるという立場であったから、ゼロで割る事を 本質的考えてこなかったので、ゼロ除算で、分母がゼロである場合も考えるという、未知の新世界、研究課題が出現した。
7)複素解析学への影響は 未知の分野で、専門家の分野になるが、解析関数の孤立特異点での性質について新しいことが導かれる。典型的な定理は、どんな解析関数の孤立特異点でも、解析関数は 孤立特異点て、有限な確定値を取る である。佐藤の超関数の理論などへの応用がある。
8)特異積分におけるアダマールの有限部分や、コーシーの主値積分は、弾性体やクラック、破壊理論など広い世界で、自然現象を記述するのに用いられている。面白いのは 積分が、もともと有限部分と発散部分に分けられ、 極限は 無限たす、有限量の形になっていて、積分は 実は、普通の積分ではなく、そこに現れる有限量を便宜的に表わしている。ところが、その有限量が実は、 ゼロ除算にいう、 解析関数の孤立特異点での 確定値に成っていること。いわゆる、主値に対する解釈を与えている。これはゼロ除算の結果が、広く、自然現象を記述していることを示している。
9)中学生や高校生にも十分理解できる基本的な結果をもたらした:
基本的な関数 y = 1/x のグラフは、原点で ゼロである
すなわち、 1/0=0 である。
10)既に述べてきたように 道脇方式は ゼロ除算の結果100/0=0, 0/0=0および分数の定義、割り算の定義に、小学生でも理解できる新しい概念を与えている。多くの教科書、学術書を変更させる大きな影響を与える。

0 件のコメント:

コメントを投稿