ゼロ除算(ぜろじょざん、division by zero)は、0 で除す割り算のことである。このような除算は除される数を a とするならば、形式上は a?0 と書くことができるが、数学において、この式と何らかの意味のある値とが結び付けられるかどうかは、数学的な設定にまったく依存している話である。少なくとも通常の実数の体系とその算術においては、意味のある式ではない。
計算機プログラミングで整数のゼロ除算が行われると、プログラムの終了を引き起こすかもしれないし、浮動小数点数の場合におけると同様に、数ではない特殊値を返すかもしれない。
目次
1 算数的解釈
2 初期の試み
3 代数学的解釈
3.1 ゼロ除算に基づく誤謬
4 ゼロ除算と極限
5 コンピュータにおけるゼロ除算
6 ポップカルチャー
7 脚注
8 関連項目
9 参考文献
//
算数レベルでは、除算は何らかの物の集合をそれぞれ同数になるように分けることで説明される。例えば、10個のリンゴを5人で分ける場合、各人は = 2個のリンゴを受け取ることになる。同様に、10個のリンゴを1人で分ける場合、各人は = 10個のリンゴを受け取る。
この考え方を使ってゼロ除算を説明できる。10個のリンゴを0人で分けるとする。各人は何個のリンゴを受け取るだろうか? を計算しようとしても、元の設問自体が無意味なので無意味となる。この場合、各人が受け取る個数は、0個でも、10個でも、無限個でもない。なぜなら、元々受け取るべき人はいないからである。以上のように算数レベルで考える場合、ゼロ除算は無意味または未定義となる。
ゼロ除算の未定義性を理解する別の方法として、減法の繰り返し適用という考え方がある。すなわち、13 割る 5 を考えるとき、13 から 5 を繰り返し引き算していき、余りが 3 となる。除数を余りが除数より少なくなるまで繰り返し引くのである。結果は = 2 あまり 3 などと記される。ゼロ除算の場合、ゼロを何度引いても余りがゼロより小さくなることはないため、無限に減法を繰り返すだけとなる。
ブラーマグプタ(598年 ? 668年)の著書 Brahmasphutasiddhanta では、0 を数として定義し、その演算結果も定義している。しかし、ゼロ除算の説明は間違っていた。彼の定義に従うと代数的不合理が生じることを簡単に証明できる。ブラーマグプタによれば、次の通りである。「正または負の数をゼロで割ると、分母がゼロの分数となる。ゼロを正または負の数で割ると、ゼロになるか、またはゼロを分子とし有限数を分母とする分数になる。ゼロをゼロで割るとゼロになる」
830年、Mahavira はブラーマグプタの間違いを著書 Ganita Sara Samgraha で以下のように訂正しようとして失敗した。「数はゼロで割っても変化しない」
Bhashkara II は と定義することで問題を解決しようとした。この定義はある意味では正しいが、注意深く扱わないとパラドックスに陥る。このパラドックスは近年まで考察されなかった[1]。
ゼロ除算を数学的に扱う自然な方法は、まず除算を他の算術操作で定義することで得られる。整数、有理数、実数、複素数の一般的算術規則では、ゼロ除算は未定義である。体の公理体系に従う数学的体系では、ゼロ除算は未定義のままとされなければならない。その理由は、除法が乗法の逆演算として定義されているためである。つまり、 の値は、bx = a という等式を x について解いたときに値が一意に定まる場合のみ存在する。さもなくば、値は未定義のままとされる。
b = 0 のとき、等式 bx = a は 0x = a または単に 0 = a と書き換えられる。つまりこの場合、等式 bx = a は a が 0 でないときには解がなく、a が 0 であれば任意の x が解となりうる。いずれにしても解は一意に定まらず、 は未定義となる。逆に、体においては は b がゼロでないとき常に一意に定まる。
ゼロ除算を代数学的記述に用いて、例えば以下のように 1 = 2 のような誤った証明を導くことができる。
以下を前提とする。
このとき、次が成り立つ。
両辺をゼロ除算すると、次のようになる。
これを簡約化すると次のようになる。1 = 2
この誤謬は、暗黙のうちに 0?0 = 1 であるかのように扱っていることから生じる。
上の証明が間違いであることは多くの人が気づくと思われるが、これをもっと巧妙に表現すると間違いを分かりにくくできる。例えば、1 を x に置き換え、ゼロを x - x、2 を x + x で置き換える。すると上記の証明は次のようになる。(x ? x)x = x2 ? x2 = 0(x ? x)(x + x) = x2 ? x2 = 0
したがって、(x ? x)x = (x ? x)(x + x)
両辺を x - x で割ると次のようになる。x = x + x
そして、両辺を x で割ると、次のようになる。1 = 2
ゼロ除算と極限関数 y = のグラフ。x が 0 に近づくと、y は無限大に近づく。
直観的に は で b を 0 に漸近させたときの極限を考えることで定義されるように見える。
a が正の数の場合、次のようになる。
a が負の数の場合、次のようになる。
したがって、a が正のとき を +∞、a が負のとき ?∞ と定義できるように思われる。しかし、この定義には2つの問題点がある。
第一に、正と負の無限大は実数ではない。実数の範囲内で考えたい場合、この定義には意味がない。この定義を使いたければ、何らかの形で実数を拡張する必要がある。
第二に、右側から極限に漸近するのは恣意的である。左側から漸近して極限を求めた場合、a が正の場合に が ?∞ となり、a が負の場合に +∞ となる。これを等式で表すと次のようになる(実数に無限大が含まれるように拡張したものとする)。
これではあまり意味がない。これを意味のある拡張とするには、符号のない無限大という概念を導入するしかない。
についても、極限
は存在しないため、うまく定義できない。さらに一般に、x が 0 に漸近すると共に f(x) も g(x) も 0 に漸近するとして、極限
を考えても、これは任意の値に収束する可能性もあるし、収束しない可能性もある。したがって、この手法では について意味のある定義は得られない。