ゼロ除算単語

23件
ゼロジョサン
8.0千文字の記事
  • 38
  • 0pt
掲示板へ

ゼロ除算とは、0による割り算である。分が0の分数の事もす。

「いいか割り算をする時に、割る側は絶対に0にしちゃ駄だぞ!」
「わかった!」 そんな粋な君は今後、何も問題なく算・数学を勉強していく事だろう。

だが「なんで?と思ってしまった諸君。

ようこそ…計算マニア数学嫌いの界線へ…

概要

ゼロ除算は前述の通り「数を0で割る事」であるが、数学世界ではタブーである。
電卓に打てばERRORを吐きだすし、C言語整数では動作が停止する。
過去米海軍マイクロソフト社のソフトを採用し試運転した所、入ミスによりゼロ除算が発生してしまい推進システム麻痺機が2時間半も上で停止しまった例もある。恐るべしゼロ除算。

そもそも0自体が特殊な数であり、他の1や2等の自然数実数等の様にホイホイ扱えるものではないのだ。
(0自体については記事「0」を参照のこと。)

タブーの理由

りんごで考える

割られる数をA、割る数をB、商をC、余りをDとすると次の様に表記できる。(ただし全て自然数である。)

  B=C…D

ではこれを文章問題にするとどうなるのか?

先生りんごがA個あり、これをB人で分けようと思います。1人に何個行き渡り、何個余りますか?」
生徒「1人C個もらえ、D個余ります。」

では、この文章問題に「10÷0」を当てはめるとどうなるのか?

先生りんごが10個あり、これを0人で分けようと思います。1人に何個行き渡り、何個余りますか?」
生徒「なにいってだこいつ」

これは困りましたね。冷静に考えると0人で分けるってのが意味深です。
しかし、生徒君は以下の考えからある答えを導き出しました。

例えば10÷3を計算する時、10からは3が3回引けて1余るから、10÷3=3…1
つまり、10からは0がいっぱい(無限回)引けて、でも減る事はないから10余るから…

10÷0=…10 だ!

確かに生徒君の考え方は悪くありません、余りがある割り算では有効な考え方です。
ところで、分数にはA/B = D/B+C(/は括線)という書き換えがあります。これを生徒君の答えに当てはめるとどうなるでしょう。

10/0=10/0+ ⇒ 0=

なんと、両辺から10/0を引くと0=が導き出されてしまいました。これは有り得ないですね。
これで少なからず「ゼロ除算って何かおかしいぞ…」というのを感じてもらえたでしょうか。
この説明では意味ワカメ。という方は当記事の掲示板で他の説明をしてる方が居るのでそちらも参考に。

ちなみに今回は説明の為を数の様に扱っているが、本来無限大記号)は数の様に扱ってはいけない。
無限大記号については記事「∞」を参照のこと。 と言いたかったが曖昧さ回避記事の為容がなう…

代数で考える

    a=b        両辺にaを足す
   2a=a+b      両辺から2b引く
2a-2b=a-b       左辺をa-bで括る
2(a-b)=a-b       両辺をa-bで割る
    2=1

この計算式は数学的直感やセンスがないと一「あれ!?」となってしまう。(人によっては考えても分からない。)
しかし、このもらしい計算式には論ゼロ除算が含まれている。(a=b なので a-b=0である。)

この計算を利用する事で「全ての数は等しい」事を明する事が可である。 ⇒アンサイクロペディア「1=2」exit
(偽(ゼロ除算)から導き出した偽(全ての数が同値)なので問題ないのだが。)

三行で教えろ

(x+x)(x-x)=x2-x2=(x-x)x  左辺と右辺をx-x(=0)で割る

x+x=x                    両辺をxで割る

2=1                      ありえん(笑

「0かもしれないもの」で割るのもNG

数学の問題を解く時に、次のような式に辿り着いたとしよう。

ab = ac

なんとも両辺をaで割りたくなる。そうすればb=cという非常にわかりやすい答えが得られるのだ。

しかし、ここは、踏みとどまってほしい。そのaは0かもしれませんよ?

このような時にどうすればいいのかを考えてみよう。

まず、予備知識として以下の式を考えよう。

xy = 0

整数の場合、この式は「xが0 または yが0」を意味している。もちろん両方が0という可性もありえる。

「xが0」とは限らないし、「yが0」とも限らないのが注意点だ。

それでは、最初の式に戻り、移項して因数分解してみよう。

ab =  ac 

ab - ac = 0

a(b-c) = 0

xy = 0 と似た形になったので、同じように扱うことができる。

この式は「aが0 または b-cが0 」を意味している。もちろん両方という可性もありえる。

「aが0」とは限らないし、「b-cが0」とも限らないのが注意点だ。

しかし、最初の式の両辺をaで割ると、「b-cが0」を意味する式が得られる。「b-cが0」とは限らないのに…

もともと「aが0 または b-cが0 」という意味だった式は、「両辺をaで割る」ことによって、「aが0の可性を奪われてしまう」のだ。

「式の両辺をaで割る」とは、「式からaが0の可性を勝手に奪い取る」ことを意味する。

その結果、本来「b-c が0」とは限らないのに、「b-c は確実に 0」という誤った結論に至ることになる。

これは1=2という誤った結論を導くのによく使われるトリックである。

めると、

「0かもしれない値 a で両辺を勝手に割る」のはNGであり、得られた式は必ずしも正しいとは限らない。

ただ、「0かもしれない値 a で両辺を割って得られた式」と「a = 0」のうち少なくとも片方は正しい。

n/0=∞説

昔、バースカラ2世という偉人は「n/0=(n≠0)」と定義しゼロ除算の問題を解決しようと試みた。
確かにlim[n→0+]1/nはである(反グラフy=1/xを想像してもらえると理解しやすい)。

1/10 = 0.1
1/1 =1
1/0.1 = 10
1/0.01 = 100
1/0.001 = 1000

1/0.0000…1 = 10000…0

1/0 =

しかし、lim[n→0-]1/n(マイナス方面から0に近づいていく)はどうだろうか。こちらは反グラフが下に向かって伸びていくので-となってしまう。しかし本質的にはも‐もn/0のはずである。つまりこの定義だけでは=-となってしまうのである。

よって、n/0はとは定義できないのである。

「不定」と「不能」

ゼロ除算自体が「定義されてないから」「タブーだ」「してはいけない(め)」と扱われているが、実はゼロ除算の結果は「不定」と「不能」の2つに分けられる。

不定

不定は読んで字の如く、「数が定まらない」という事をす。0÷0を想像してもらいたい。果たして答は何になるのだろうか?
仮に0の商をXだとする。A÷B=CはC×B=Aに書き換えられるのは周知である。

0÷0=X ⇒ X×0=0

ゼロ乗算の積は0である。つまりXには何を入れても式は成立するのである。
0の商は「全ての数」となってしまうのである。まさに数が定まっていない状態である。

不能

不能はいわゆる「解なし」である。N÷0を想像してもらいたい(Nは0以外の適当な数でいい)。こちらはどうなるだろうか?
ここでは例としてN=5とし、0の商をXだとする。

5÷0=X ⇒ X×0=5

ゼロ乗算の積は0である。しかし、書き換えた式の右辺には0以外の数字が来てしまっている。
つまりXにはどんな数を入れても式は成立しないのである。N÷0の商は「解なし」となってしまう。


ところでWindowsに付属の電卓でゼロ除算を行うと数による返事は帰ってこないのだが、不定と不能によって返事が違うのはご存じだろうか。

不定計算を行うと「結果が定義されていません」不能計算を行うと「0で割る事は出来ません」とそれぞれちゃんとした返事が返ってくる。

ただERRORを吐きだされるより思いやりの気持ちを感じますね。感じない?あぁ、そう。

実数の定義から考える

実数有理数のコーシー備化、つまり、「有理数のコーシー列の列の同値類のあつまり」で定義されている。数列anがコーシー列であるとは、任意の正の数εに対して十分大きなNが存在し、n,m>Nならば |an-am|<ε を満たすことをいう。

例えば、任意の正の実数εに対して十分大きなNが存在して、n>Nであるならば常に |an-A|<ε を満たす、という有理数の数列全てを同一視してAという実数を構成する。

簡単に言うと、anがコーシー列であるならば、どのようにA近づいて行っても、必ずAに収束する。コーシー列にはありとあらゆる収束の仕方があるが、どのように収束していっても同じ値に収束するので、そのような軽微な違いを無視して、数列の極限であるAを代表して実数Aとするのである。軽微な違いを無視して代表元を一つ取る操作を同値類を取るという。

このようにして考えると、実数とは、その実数に収束する仕方に関係せず収束する数列が存在する物であると言える。0という実数は、0に収束するコーシー列すべてから作ったあつまりの同値類であり、1という実数は1に収束するコーシー列すべてから作ったあつまりの同値類なのである。

極限の取り方によらないことが実数の条件であるため、コーシー列に対する四則演算と極限を取る操作は交換できる。たとえば割り算は、limn→an=A、limn→bn=Bとしたとき、limn→(an/bn) =(limn→an)/(limn→bn) = A/B である(ここでは常にbn≠0と仮定する)。

  • が0でない場合

さて、A≠0に対してゼロ除算 A/0 が実数であるとする。これは、上記のコーシー列がlimn→an=A、limn→bn=0である状況である。A/0が実数であれば極限の近づき方には関係ないので、an=A、bn=1/nとする。すると、an/bn=A×nとなり、どのようなεに対しても十分大きなnを持ってくれば、|A×n|>εとすることができる。これはan/bnがコーシー列ではないことを示している。したがって、A/0はどのような実数にもなり得ない。

  • 0/0の場合

Aを任意の数、an=(A+1/n)2-A2=2A/n+1/n2、bn=(A+1/n)-A=1/nとする。

an/bn=n×(2A/n+1/n2)=2A+1/n であるので、limn→an/bn=2A 

従って、0/0は任意の実数2Aとすることができる。しかし、0/0が実数であればどのようなAを持ってきても同じ数に収束しなければならないはずである。Aの取り方によってどのような実数にでもすることができる、という事実は、0/0が特定実数とはなりえないということを示しているのだ。

実は、上記の計算はy=x2の点Aにおける微分定義である。0/0が特定の数Kであるならば、関数微分は常に定数関数Kとなってしまい微分という演算が全く意味なものとなってしまう。また、A/0がどのような実数にもなり得ない(不能)ことと違い、0/0がどのような実数にもなり得る(不定)という性質のおかげで微分の値に意味が生まれるのだ。

不定と不能は意味が違うというのはこういうことであり、0/0自体は特定実数でなく不定であるということが数学にとって重要な概念であると言える。

数値計算で微分をする場合は直接除算をすることはなく、分子と分がともに0に近づいていくこと(もしくはそれに相当すること)を確認するだけで終わらせる。ほぼ0の数値同士の割り算は丸め誤差ででたらめな結果になるためだ。それでもゼロ除算になりうる関数を経由しなければならないことがあるため、不能の場合はNaNもしくはinfinity、不定の場合はNaNを出す決まりになっている言語が多い。
整数には言語に依存しない形でNaNに対応する値が定義されていない。そのため、言語によっては整数でゼロ除算をするとエラーやNaNではなくでたらめな整数値を然と出してしまうこともあるので注意。

まとめ

実数定義から、

  • 割られる数が0でない時、ゼロ除算は不能
  • 割られる数が0の時、ゼロ除算は不定
  • 0÷0が不能ではなく不定でないと他の数学的対と整合しない

商と剰余に関するゼロ除算

割り算には除算の他に剰余演算がある。5÷2=2余り1とするあれである。剰余にもゼロ除算を考える事ができる。ここではゼロ剰余演算と呼ぶ。

実数剰余を考える。a÷b=p あまり qは、aとbに対してa=pb+qとなる、0以上の整数p、0≦q<bの実数qをめる演算であるとする。例えば、3.14÷3=1 あまり 0.14、2.71÷4=0 あまり 2.71、9.23÷0.45=20 あまり 0.23、などとなる。

こちらもコーシー列の極限の考え方を流用する。実数Aによる剰余める作業とは、Aに収束する有理数列全ての剰余める作業の同値類であると考える。

  • A÷0のとき

ここでは実際に]A=πとしてπ÷1/10nの式を書き下してみる。

π÷1=3 あまり 0.1415
π÷0.1=31 あまり 0.0415
π÷0.01=314 あまり 0.0015…

ここから、a≠0、b→0のとき、a÷b= あまり 0となることがわかる。と書いた部分はどのような実数値にも収束しないことを表しているため、除算の結果から類推すればこれは不能となる。Aの0による剰余めることはできない。

  • 0÷0のとき

これは0に収束する任意の数列anを、0に収束する数列bnで剰余演算をし、その極限を0÷0の商と剰余とする、ということである。

an=3.14/10n、bn=1/10nとして書き下してみる。

3.14÷1=3 あまり 0.14
0.310.1=3 あまり 0.014
0.0310.01=3 あまり 0.0014

… → 0÷0=3あまり0

an=4.14/10n、bn=1/10nとする。

4.14÷1=4 あまり 0.14
0.410.1=4あまり0.014
0.0410.01=4あまり0.0014

… → 0÷0=4あまり0

ここから、商としてはどのような数字を持ってきてもよく、剰余は0に収束することがわかる。どのような収束の仕方をしても同じ値に収束することが実数の条件であった。しかし、0÷0は商にどのような値を持ってきてもよく、剰余は常に0になる。ゼロ除算の結果から類推すれば、これは不定といえる。

整数実数に埋め込むことができるので、整数剰余演算も同じ結果となる。
0の商は不能、あまりは0。0÷0の商は不定、あまりは0。

まとめ

剰余める割り算の場合も定義できる。
実数定義から、

ゼロ除算に纏わる計算

0の逆数

逆数とは、元の数と掛け合わせると積が1になる数の事である。2の逆数は1/2であり、a/bの逆数はb/aである。
0は何を掛けても積は0となるので逆数が存在しない。0は一逆数を持たない数である。

極限ゼロと極限無限同士の積は計算方法によって解が違うので当てにならない。

  • lim[x→0]x*(1/x) = lim[x→0]x/x = 1
  • lim[x→0]x*(1/x)2 = lim[x→0]1/x =
  • lim[x→0]x * lim[x→]x = 不定

何故答えが不定になってしまうのか?それは同じ極限ゼロにも極限無限にも大小関係があるからだ。
lim[x→0]xもlim[x→0]2xも、両方計算してしまえば同じ0になってしまう。しかし前者を分子にし、後者を分にすれば答えは1/2となる。同じ極限値でも式によって大きさが違うので、それを較して「答えは如何程か?」と定める事はできないのである。

負の整数の階乗

0の階乗は、以下の方法で定義できる。

(n-1)!×n=n! を利用する。

0!×1=1!=1 ゆえに 0!=1

ところが、これを(-1)!に適用しようとすると、ゼロ除算が登場するので不能となる。

(-1)!×0=0!=1 ゆえに(-1)!=1/0

(-2)!は、定義不能の(-1)!を含むので、やはり定義不能である。

00(0の0乗)

一般的に「1」の方が都合が良いとされているが、「定義されてない」「0」という説もある。

0説

lim[x→+0]0x=0 つまり、0は何乗でも0なんだから0乗でも0に決まってるだろ。という説である。

1説

lim[x→0]x0=1 つまり、0乗すれば元が何だろうが1になるんだから0でも1になるに決まってるだろ。という説である。
これだけ聞くと0説とレベルが同じに感じる。

実はxxグラフ(想像しにくいと思われるのでGoogle先生「x^xで検索」exitを参考)は一見x=0の時1を通っている様に見えるが、実はその点に限り定義されてない。つまりxxはx=0に不連続点を持っているグラフである。
ちなみに、lim[x→0]xx=1である事も計算されている。

00=1と定義してるプログラムも少なくなく、ドナルド・クヌースは「0x数学的意義があまりいが、x0は様々な場面で使用できるので形式的に便利」と語っている。

定義されてない説

n1=n
nk+1=nk×n

数計算のルールより、数が1ずつ増えていくというのは、nを1つずつ掛けるのに等しい。
つまり、逆に言えば数が1ずつ減っていくというのはnを1つずつ割るのに等しい。

k=0の時、 n0+1=n0×n=n なので、n0=n/n=1 は明らかである。
しかし、n=0の時は0/0となりゼロ除算となってしまうので不定となってしまう。よって00定義できない。

ゼロ乗算しても0にならない数は存在するか?

ここまで筆者は「0を掛けたら0である」を当然の様に言い回してたが、果たしてこれは事実なのだろうか?

昔の偉人は「2乗してマイナスになる数なんてある訳ない」と考えたが、なんだかんだで虚数iを作ってしまった。
θが90度えてるのに直三角形はねーよ」と思ったら、色々頑って単位円を使って度の拡に成功した。(拡というよりも三角定義自体を大幅に変えてしまったのだが… 三角関数を参考せよ。)

もしかしたら0を掛けても0にならない数は存在するのでは?計算してみる事にする。

計算

0の定義…  0は足しても何も変化しない。X+0=Xである。
         0はRを除き乗算すると0にする。X×0=0であるが、R×0の場合はその限りではない。

ここでは0を掛けても0にならない数Rを考えていく。

0=0+0         両辺にRを掛ける
R×0=R×(0+0)   分配法則を使う
0×R=0×R+0×R  0×R=Mとする
M=M+M

さて、Mは0×Rの積なのでM≠0のはずである。しかしM=2Mという式が発生してしまった。
これを解けばM=0となってしまい前提条件と矛盾としてしまう。

結果、0を掛けても0にならない数Rは存在しない。そう、数学者は「機としての拡」は出来ても今まで使用してきた物が使えなくなってしまう物を作る事は出来ないのだ。悲しきかな。

一元体

0÷0の計算が可だとすると、割り算定義から0÷0=1となる。一方で、0÷0=Xにどのような値を入れてもよいので0÷0=0としてもよい。すると二つの式から0=1となってしまう。0を0で割ることを認めると、0=1とならざるを得ず、したがって、全ての数が0と一致してしまう。割り算ができる代数系(体という)は0≠1であることが条件であるので、0=1という不合理な結果となってしまうのだ。

実は0÷0の計算が可であるとした系を0のみからなる体ということで一元体、あるいは絶対数学と呼び、数論幾何学の深淵に迫り得る数学的対として研究されている。
当然だが、普通整数実数は一元体ではないので0を0で割ることは禁止されている。

関連動画

関連コミュニティ

関連項目

【スポンサーリンク】

  • 38
  • 0pt
記事編集 編集履歴を閲覧

ニコニ広告で宣伝された記事

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

ゼロ除算

203 ななしのよっしん
2022/01/08(土) 20:16:06 ID: RXGod7EreX
>>分数にはA/B = D/B+C(/は括線)という書き換えがあります。
すまん、これがよく分からんのだが、解説してくれ
👍
高評価
0
👎
低評価
0
204 ななしのよっしん
2022/01/26(水) 13:19:45 ID: lI6cpugCMO
遂に禁止か
ほぼ万の時間稼ぎとその後の安定を保する効果が噛み合い過ぎてた
👍
高評価
0
👎
低評価
0
205 ななしのよっしん
2022/01/27(木) 17:26:49 ID: 9yFec7cCdy
「やってはダメなこと」を名付けたカード
作ってから禁止するウィザーズは眼だったのか?
👍
高評価
0
👎
低評価
0
206 ななしのよっしん
2022/07/06(水) 11:57:26 ID: nOHRsGSKqE
代数のところ面いな
変な式書いてるとゼロが潜んでることもあるのか
👍
高評価
0
👎
低評価
0
207 ななしのよっしん
2022/07/22(金) 01:39:32 ID: LgN8eeyXjd
最近見つけた高校入試のおもろい問題
最終的に4=5を導出しちゃった計算過程が示され
「誤った対応をした箇所を摘し、理由を説明せよ」

両辺をaで除したところで実はa=0だったというオチだが
与式がaxの2乗で始まっているのに「二次方程式」という
表現が一回も出ていないことで気付け、という趣旨
👍
高評価
2
👎
低評価
0
208 ななしのよっしん
2022/09/23(金) 08:37:25 ID: dYec9lgkt4
0除算にしても数のしての無限にしても、他の数のルールが適用できない以上は別の組みとして考えた方が良いってこと?
👍
高評価
0
👎
低評価
0
209 ななしのよっしん
2022/09/23(金) 08:47:00 ID: nYb13Q+Rye
一つのルールで制することができるほどこの世は単純じゃないってことよ
👍
高評価
0
👎
低評価
0
210 ななしのよっしん
2022/12/14(水) 23:11:41 ID: /9xO4E2Usl
ゼロ除算しました、って意味の記号作ればいいって着眼点はいいと思った。
ゼロ除算自体の発展にはなんの寄与もしないけどゼロ除算の可性を排した事が式自体で表現できる。
いちいちすみっこに(ax=0)とか(b≠0)とか注釈つけなくて済むし。
👍
高評価
3
👎
低評価
0
211 ゼロの概念を生み出した男
2023/01/10(火) 21:41:05 ID: Q46WVJuUsm
ゼロ除算(不能と不定)をうまく扱うために矛盾なく定義な、輪(Wheel)という理論がある。

ただ、それらを矛盾なく定義出来るようにしようとすると、既存の多くのルールが成り立たなくなる。

例えばゼロを掛けても常にゼロになるとは限らなくなったり、分配法則が常に成り立つとは限らなくなる。

輪の具体例としていちばん簡単な例は、0のみからなる体がそれに当たる。これはこの記事にあるように一元体のこと。
👍
高評価
0
👎
低評価
0
212 ななしのよっしん
2024/10/16(水) 01:18:16 ID: tuOqRv1DA3
0!=1って勝手に決められるんだったら8/0=8exp[iθ]って勝手に決めてもいいじゃねーかよ
👍
高評価
0
👎
低評価
0