0の0乗
テンプレート:独自研究 テンプレート:Math の テンプレート:Math 乗(れいのれいじょう)は、累乗あるいは指数関数において、底を テンプレート:Math、指数を テンプレート:Math としたものである。その値は、代数学、組合せ論などの文脈では通常 テンプレート:Math と定義される[注 1]一方で、解析学の文脈では二変数関数 テンプレート:Mvar が原点 テンプレート:Math において連続とならないため定義されない場合もある。
背景
実数 テンプレート:Mvar の[[冪乗|正整数 テンプレート:Mvar 乗]]は、素朴には、テンプレート:Mvar 個の テンプレート:Mvar を掛け合わせたものである。厳密には、次のように再帰的に定められる。
テンプレート:Math を定義する場合には、関係式 が テンプレート:Math でも成立するように定義を拡張するのが自然である。
そこで、 に無理やり テンプレート:Math を代入すれば、テンプレート:Math すなわち テンプレート:Math となり、[[ゼロ除算|テンプレート:Mvar が テンプレート:Math でなければ]]両辺を テンプレート:Mvar で割って テンプレート:Math を得る。すなわち、テンプレート:Math の場合は、テンプレート:Math と定めることで、関係式 が に対して成り立つように定義を拡張できる[注 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 に対する実数 テンプレート:Math の テンプレート:Math 乗は テンプレート:Math に対応する線型変換を テンプレート:Math 回繰り返し作用させる線型変換に対応するから、テンプレート:Math の テンプレート:Math 乗には、自明な線型変換を テンプレート:Math 回作用させる線型変換である恒等変換(実数 テンプレート:Math に対応する)が対応すると考えたい。
- 上述のように、テンプレート:Math のとき テンプレート:Math であるから、関数 テンプレート:Math の連続性を担保する為に、テンプレート:Math のときにも同じ式の成立を要請する(空積も参照)。
- テンプレート:Math と定義しておくと、種々の公式や証明で記述が煩雑になったり余計な場合分けをすることを防ぐことができる。
例えば、計算機科学者のドナルド・クヌースは、テンプレート:Math は テンプレート:Math でなければならないと強く主張しているテンプレート:Sfn。彼によると「テンプレート:Math という関数は数学的意義に乏しいのに対し、テンプレート:Math は様々な公式に頻繁に現れるため、こちらを基準に取る方が形式的に便利な局面が多い」というテンプレート:Sfn。例えば、二項定理の公式
は、(第 0 項について和の記法に例外を設けない限り)テンプレート:Math としたときのみ テンプレート:Math に対して適用可能になる。同様の例として、指数関数の定義式
が テンプレート:Math でも妥当であるためには テンプレート:Math である必要がある。テンプレート:Math を定義しない文脈においては
と定義しなければならない。一般に多項式 テンプレート: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 への写像の個数(濃度)で定義される:
ここで、テンプレート:Math は テンプレート:Mvar から テンプレート:Mvar への写像全体の集合であり、テンプレート:Math は集合の濃度を表す。(この定義は テンプレート:Mvar と テンプレート:Mvar の取り方に依らないことに注意。)しかるに、テンプレート:Math は テンプレート:Math の場合に相当するから、 である。ここで、テンプレート:Math から テンプレート:Math への写像は唯一つ存在するから(空写像)、 である。したがって テンプレート:Math である[1][2]。
定義されない場合
テンプレート:Math が 0 以外の複素数であるとき テンプレート:Math であるという理由で、0の0乗 "テンプレート:Math" を 1 と定めることが自然(連続な拡張)だと考えることと、テンプレート:Mvar が正の実数のとき テンプレート:Math であるという理由で、0の0乗 "テンプレート:Math" を 0 と定めることが同程度に自然(連続な拡張)だとは言えまい。とは言え、このように連続性を指針とする場合には、こちらを立てればあちらが立たず、という状況であり、全てに都合の良い定め方は存在しない。さらにもし複素関数を考えるのであれば、そもそも解析性を担保する定義は存在せず、値を別途定める他はない。
実解析における扱い

冪を自然数ではなく実数の範囲で考え、テンプレート:Math を二変数関数 テンプレート:Math の テンプレート:Math における値だと考えると、次のようになる。
二変数関数 テンプレート:Math は、定義域を テンプレート:Mathとした場合には、テンプレート:Mvar 全体で連続となる。しかし、原点 テンプレート:Math を付け加えて、テンプレート:Math を定義域とした場合には、原点における値 テンプレート:Math をどのように定義しても、原点において連続とはならない。それは、テンプレート:Math 内で(原点を通らず)原点に近づく経路によってその極限値が異なるからである。例えば、y 軸 (テンプレート:Math) に沿って原点に近づくときの極限値は
であるが、x 軸 (テンプレート:Math) に沿って原点に近づくときの極限値は
である[注 6]。画像はこの二変数関数 テンプレート:Math のグラフであり、原点に近づくときの経路によって異なる極限値を持つことが見て取れる。関数の連続性を重視する観点からは、テンプレート:Math をどのような値にすることもできない。
また テンプレート:Math という記号によって、関数 テンプレート:Math と テンプレート:Math の(テンプレート:Mvar がある有限値に向かう、あるいは テンプレート:Math に向かうときの)極限が共に テンプレート:Math であるときの、テンプレート:Math の極限を考えていることを表すことがある。このとき テンプレート:Math はいわゆるテンプレート:仮リンク、すなわちこの テンプレート:Math の極限は一定しないのであって、実際任意の非負の実数値や テンプレート:Math にもなりうるし、振動することもある。例えば、
(ここで テンプレート:Mvar は任意の実数)となり、また
は振動する。ここで、テンプレート: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 と定義したり[4]
- テンプレート:Math に対しては テンプレート:Math と定義したり[5]
している。
コンピュータにおける扱い
いくつかのプログラミング言語は テンプレート:Math を定義しており、その多くは テンプレート:Math としている。テンプレート:Math と定義しているプログラミング言語は、APL、Common Lisp、Haskell、J、Java、JavaScript、Julia、MATLAB、ML、Perl、Python、R、Ruby、Scheme であり、電卓では、Microsoft WindowsおよびGoogleの電卓機能[6]などである。Microsoft Excel では、ワークシート上で =0^0 という数式を入力すると #NUM! というエラーを返すが、同ソフトウェアに搭載されている VBA では1と定義されている[注 7]。 Mathematica は、a が変数または 0 でない数のときは a0 を 1 と計算するが、00 は Indeterminate(不定)と返す。Maple やMuPADはこれらを共に 1 と計算する。Wolfram Alpha ではundefinedと表示される。
脚注
注釈
出典
関連資料
- テンプレート:Cite book
- テンプレート:Cite book
- テンプレート:Cite book
- テンプレート:Cite book
- テンプレート:Cite book
- テンプレート:Cite journal
- テンプレート:Cite journal
- テンプレート:Cite book
- テンプレート:Cite journal
- テンプレート:Cite book
- テンプレート:Cite journal
- テンプレート:Cite book
関連項目
外部リンク
de:Potenz (Mathematik)#Null hoch Null
引用エラー: 「注」という名前のグループの <ref> タグがありますが、対応する <references group="注"/> タグが見つかりません
- ↑ テンプレート:Cite book
- ↑ テンプレート:Cite book
- ↑ sci.math FAQ: What is 0^0?
- ↑ "Since ln 0 does not exist, 0z is undefined. For テンプレート:Nowrap, we define it arbitrarily as 0."(ln 0 は存在しないから、0z は定義されていない。テンプレート:Nowrap に対しては、0 と定義する。)テンプレート:Harv
- ↑ "For テンプレート:Nowrap, テンプレート:Nowrap, we define テンプレート:Nowrap, while 00 is not defined."(テンプレート:Nowrap, テンプレート:Nowrap に対しては、テンプレート:Nowrap と定義するが、00 は定義しない。)テンプレート:Harv.
- ↑ Google電卓機能による 0^0の計算結果