0の0乗

提供: testwiki
ナビゲーションに移動 検索に移動

テンプレート:独自研究 テンプレート:Mathテンプレート:Math(れいのれいじょう)は、累乗あるいは指数関数において、底を テンプレート:Math、指数を テンプレート:Math としたものである。その値は、代数学組合せ論などの文脈では通常 テンプレート:Math と定義される[注 1]一方で、解析学の文脈では二変数関数 テンプレート:Mvar が原点 テンプレート:Math において連続とならないため定義されない場合もある。

背景

実数 テンプレート:Mvar の[[冪乗|正整数 テンプレート:Mvar 乗]]は、素朴には、テンプレート:Mvar 個の テンプレート:Mvar を掛け合わせたものである。厳密には、次のように再帰的に定められる。

(*)x1:=x,(**)xn+1:=xn×x(n1).

テンプレート:Math を定義する場合には、関係式 (**)テンプレート:Math でも成立するように定義を拡張するのが自然である。

そこで、(**) に無理やり テンプレート:Math を代入すれば、テンプレート:Math すなわち テンプレート:Math となり、[[ゼロ除算|テンプレート:Mvarテンプレート:Math でなければ]]両辺を テンプレート:Mvar で割って テンプレート:Math を得る。すなわち、テンプレート:Math の場合は、テンプレート:Math と定めることで、関係式 (**)n0 に対して成り立つように定義を拡張できる[注 2]。さらに負の整数 テンプレート:Math に対しても テンプレート:Math と定義すれば (**) が満たされ、 テンプレート:Math の整数乗がうまく定義されて、指数法則 テンプレート:Mathテンプレート:Math が任意の整数 テンプレート:Math に対して成立する。

次に、指数が実数の場合を考えよう。底が テンプレート:Math の場合は、上述のように整数乗が定まるのであった。詳細は省略するが、底を テンプレート:Math の場合に制限すれば、指数法則が成り立ったまま指数を有理数、さらには実数へと拡張し、連続な二変数関数を得ることができる。また、テンプレート:Math の場合に対する正の実数乗も、同様に連続性を理由として テンプレート:Math と定義することができる。

すなわち実数の実数乗 テンプレート:Math は、底が テンプレート:Math で指数 テンプレート:Mvar が整数であるか、底が テンプレート:Math であるか、あるいは底が テンプレート:Math で指数が テンプレート:Math であればうまく定義でき、これら全ての点 テンプレート:Math で二変数関数として連続となる。しかし、テンプレート:Math は底が テンプレート:Math のとき、指数が負の実数であればうまく定義できず、どのように テンプレート:Math を定義しても点 テンプレート:Math で二変数関数として連続にはならない。言い換えれば、テンプレート:Mathテンプレート:Mvar が連続となるように定めることはできないのである。

1と定義される場合

非負整数の指数のみを扱っている場合には、テンプレート:Mathテンプレート:Math乗は テンプレート:Math と定義されることが多い。その理由としては、以下のようなものが挙げられる。

例えば、計算機科学者のドナルド・クヌースは、テンプレート:Mathテンプレート:Math でなければならないと強く主張しているテンプレート:Sfn。彼によると「テンプレート:Math という関数は数学的意義に乏しいのに対し、テンプレート:Math は様々な公式に頻繁に現れるため、こちらを基準に取る方が形式的に便利な局面が多い」というテンプレート:Sfn。例えば、二項定理の公式

(1+x)n=k=0n(nk)xk

は、(第 0 項について和の記法に例外を設けない限り)テンプレート:Math としたときのみ テンプレート:Math に対して適用可能になる。同様の例として、指数関数の定義式

ex=n=0xnn!

テンプレート:Math でも妥当であるためには テンプレート:Math である必要がある。テンプレート:Math を定義しない文脈においては

ex=1+n=1xnn!

と定義しなければならない。一般に多項式 テンプレート:Math冪級数 テンプレート:Mathテンプレート:Math を代入する場合にも、テンプレート:Mathテンプレート:Math乗は テンプレート:Math とされる。

また他にも、微分の公式 テンプレート:Mathテンプレート:Math に対しても適用するには、テンプレート:Math としなければならない。

モノイド論における扱い

半群 テンプレート:Math の元 テンプレート:Math の冪、すなわち テンプレート:Math を正の整数としたときの テンプレート:Mathテンプレート:Math 個の テンプレート:Math の積として定義される[注 3]。さらに テンプレート:Mathモノイドのとき(すなわち単位元 テンプレート:Math をもつとき)、テンプレート:Math と定義されるテンプレート:Sfn[注 4]。とくに テンプレート:Math が零元 テンプレート:Math ももつならば テンプレート:Math である[注 5]

集合論における扱い

テンプレート:Math における テンプレート:Math を2つとも基数、あるいは2つとも順序数と考えた場合、テンプレート:Math は基数あるいは順序数の冪の定義から示すことのできる定理である。

以下基数の場合について解説する。一般に基数 テンプレート:Mvar, テンプレート:Mvar に対して、冪乗 テンプレート:Mvar は、濃度テンプレート:Mvar, テンプレート:Mvar の任意の集合をそれぞれ テンプレート:Math としたとき、テンプレート:Mvar から テンプレート:Mvar への写像の個数(濃度)で定義される:

λκ:=#YX.

ここで、テンプレート:Mathテンプレート:Mvar から テンプレート:Mvar への写像全体の集合であり、テンプレート:Math は集合の濃度を表す。(この定義は テンプレート:Mvarテンプレート:Mvar取り方に依らないことに注意。)しかるに、テンプレート:Mathテンプレート:Math の場合に相当するから、00=# である。ここで、テンプレート:Math から テンプレート:Math への写像は唯一つ存在するから(空写像)、#=1 である。したがって テンプレート:Math である[1][2]

定義されない場合

テンプレート:Math が 0 以外の複素数であるとき テンプレート:Math であるという理由で、0の0乗 "テンプレート:Math" を 1 と定めることが自然(連続な拡張)だと考えることと、テンプレート:Mvar が正の実数のとき テンプレート:Math であるという理由で、0の0乗 "テンプレート:Math" を 0 と定めることが同程度に自然(連続な拡張)だとは言えまい。とは言え、このように連続性を指針とする場合には、こちらを立てればあちらが立たず、という状況であり、全てに都合の良い定め方は存在しない。さらにもし複素関数を考えるのであれば、そもそも解析性を担保する定義は存在せず、値を別途定める他はない。

実解析における扱い

関数 z = xy をプロットしたもの。xy が様々な関係を保って原点に接近するとき(赤や緑の曲線)、z は任意の極限値をとり得る。緑の曲線は、そのうちで z の極限が 1 となるものである。

冪を自然数ではなく実数の範囲で考え、テンプレート:Math を二変数関数 テンプレート:Mathテンプレート:Math における値だと考えると、次のようになる。

二変数関数 テンプレート:Math は、定義域を テンプレート:Mathとした場合には、テンプレート:Mvar 全体で連続となる。しかし、原点 テンプレート:Math を付け加えて、テンプレート:Math を定義域とした場合には、原点における値 テンプレート:Math をどのように定義しても、原点において連続とはならない。それは、テンプレート:Math 内で(原点を通らず)原点に近づく経路によってその極限値が異なるからである。例えば、y 軸 (テンプレート:Math) に沿って原点に近づくときの極限値は

limy+00y=0

であるが、x 軸 (テンプレート:Math) に沿って原点に近づくときの極限値は

limx+0x0=1

である[注 6]。画像はこの二変数関数 テンプレート:Math のグラフであり、原点に近づくときの経路によって異なる極限値を持つことが見て取れる。関数の連続性を重視する観点からは、テンプレート:Math をどのような値にすることもできない。

また テンプレート:Math という記号によって、関数 テンプレート:Mathテンプレート:Math の(テンプレート:Mvar がある有限値に向かう、あるいは テンプレート:Math に向かうときの)極限が共に テンプレート:Math であるときの、テンプレート:Math の極限を考えていることを表すことがある。このとき テンプレート:Math はいわゆるテンプレート:仮リンク、すなわちこの テンプレート:Math の極限は一定しないのであって、実際任意の非負の実数値や テンプレート:Math にもなりうるし、振動することもある。例えば、

limx0+xx=1,limx0+(e1x2)x=0,limx0+(e1x2)x=+,limx0+(e1x)ax=ea

(ここで テンプレート:Mvar は任意の実数)となり、また

limx0+(e1x2)xsin1x

は振動する。ここで、テンプレート:Mathテンプレート:Mvar が[[片側極限|正の方向から テンプレート:Math に近づく極限]]を表す。

極限が 1 になるための十分条件はいくつか知られている。例えば テンプレート:Mvar および テンプレート:Mvar がともに テンプレート:Math において実解析的であり、ある正数 テンプレート:Math に対し開区間 テンプレート:Mathテンプレート:Math であれば、(テンプレート:Math のとき テンプレート:Math, テンプレート:Math であれば)テンプレート:Mathテンプレート:Math のときの極限は必ず 1 である[3]テンプレート:Sfnテンプレート:Sfn

複素解析における扱い

複素領域において、テンプレート:Math でない テンプレート:Math に対し、関数 テンプレート:Math を、テンプレート:Math分枝を選び、テンプレート:Mathテンプレート:Math と定義できる。これは テンプレート:Math を定義していない、なぜならば テンプレート:Math において定義された テンプレート:Math の分枝は存在せず、したがって当然 テンプレート:Math の近傍で定義された テンプレート:Math の分枝も存在しないからであるテンプレート:Sfn。したがってこの意味で テンプレート:Math は定義されないのであるが、著者によっては別途、

している。

コンピュータにおける扱い

いくつかのプログラミング言語テンプレート:Math を定義しており、その多くは テンプレート:Math としている。テンプレート:Math と定義しているプログラミング言語は、APLCommon LispHaskellJJavaJavaScriptJuliaMATLABMLPerlPythonRRubyScheme であり、電卓では、Microsoft WindowsおよびGoogleの電卓機能[6]などである。Microsoft Excel では、ワークシート上で =0^0 という数式を入力すると #NUM! というエラーを返すが、同ソフトウェアに搭載されている VBA では1と定義されている[注 7]Mathematica は、a変数または 0 でない数のときは a0 を 1 と計算するが、00 は Indeterminate(不定)と返す。MapleMuPADはこれらを共に 1 と計算する。Wolfram Alpha ではundefinedと表示される。

脚注

テンプレート:脚注ヘルプ

注釈

テンプレート:Reflist

出典

テンプレート:Reflist

関連資料

テンプレート:Refbegin

テンプレート:Refend

関連項目

外部リンク

de:Potenz (Mathematik)#Null hoch Null


引用エラー: 「注」という名前のグループの <ref> タグがありますが、対応する <references group="注"/> タグが見つかりません

  1. テンプレート:Cite book
  2. テンプレート:Cite book
  3. sci.math FAQ: What is 0^0?
  4. "Since ln 0 does not exist, 0z is undefined. For テンプレート:Nowrap, we define it arbitrarily as 0."(ln 0 は存在しないから、0z は定義されていない。テンプレート:Nowrap に対しては、0 と定義する。)テンプレート:Harv
  5. "For テンプレート:Nowrap, テンプレート:Nowrap, we define テンプレート:Nowrap, while 00 is not defined."(テンプレート:Nowrap, テンプレート:Nowrap に対しては、テンプレート:Nowrap と定義するが、00 は定義しない。)テンプレート:Harv.
  6. Google電卓機能による 0^0の計算結果