0の0乗

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

00(ぜろのぜろじょう、: zero to the power of zero, 0 to the 0th power)は、累乗あるいは指数関数において、底を 0、指数を 0 としたものである。通常、指数関数 ax実数 (1 ≠ ) a > 0x に対して定義されているため、 00 はこの意味では定義されていない。その値は、指数の 0 が「非負整数0」であるような場合には、1 と定義しておくと便利であることが多い一方で、「実数あるいは複素数としての 0」であるような場合には、例えば二変数関数 xy を考えれば分かるように、原点 (x,y) = (0,0) において自然な(二変数関数として連続となる)定義は存在しない。

背景[編集]

実数 x正整数 nは、素朴には、n 個の x を掛け合わせたものである。厳密には、次のように再帰的に定められる。

x0 を定義する場合には、関係式 n = 0 でも成立するように を変更することで を拡張するのが自然である。

さて、 に無理やり n = 0 を代入すれば、x0 + 1 = x0 × x すなわち x = x0 × x となり、x0 でなければ 両辺を x で割って x0 = 1 を得る。すなわち、x ≠ 0 の場合は、x0 = 1 と変更することで に拡張できる。さらに負の整数 n に対しても xn = 1/xn と定義すれば が満たされ、 x ≠ 0 の整数乗がうまく定義されて、指数法則 xn + m = xnxmxnm = (xn)m が任意の整数 n, m に対して成立する。

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

すなわち実数の実数乗 xy は、底が x ≠ 0 で指数 y が整数であるか、底が x > 0 であるか、あるいは底が x = 0 で指数が y > 0 であれば定義でき、これら全ての点 (x,y)二変数関数として連続となる。しかし、xy は底が x= 0 のとき、指数が負の実数であれば定義できず、仮に 00 が定義できたとしても点 (0,0)二変数関数として連続にはならない。言い換えれば、00xy が連続となるように定めることはできないのである。

1と定義する考え方[編集]

指数の 0 が非負整数としての 0 と考えられるような場合には、00乗は 1 と(しばしば暗黙に)定義されることが多い。その理由としては、以下のようなものが挙げられるであろう。

  • 実数 x を数直線上の線型変換とみなす場合、非負整数 n に対する実数 xn 乗は x に対応する線型変換を n 回繰り返し作用させる線型変換に対応するから、00 乗には、自明な線型変換を 0 回作用させる線型変換である恒等変換(実数 1 に対応する)が対応すると考えたい。
  • 上述のように、x ≠ 0 のとき x0 = 1 であるから、関数 x0 の連続性を担保する為に、x = 0 のときにも同じ式の成立を要請する(空積も参照)。
  • 00 = 1 と定義しておくと、種々の公式や証明で記述が煩雑になったり余計な場合分けをすることを防ぐことができる。

例えば、計算機科学者のドナルド・クヌースは、001 と定義するのが妥当だという考えを表明している[1]。彼によると「0x という関数は数学的意義に乏しいのに対し、x0 は様々な公式に頻繁に現れるため、こちらを基準に取る方が形式的に便利な局面が多い」という。例えば、二項定理の公式

は、(第 0 項について和の記法に例外を設けない限り)00 = 1 としたときのみ x = 0 に対して適用可能になる。同様の例として、指数関数の定義式

x = 0 でも妥当であるためには 00 = 1 である必要がある。00 を定義しない文脈においては

と定義しなければならない。一般に多項式 Σn
k = 0
 
akxk
冪級数 Σ
k = 0
 
akxk
x = 0 を代入する場合にも、00乗を 1 と考えている。

また他にも、微分の公式 (d/dx)xn = nxn−1n = 1 に対しても適用するには、00 = 1 としなければならない。

モノイド論における扱い[編集]

半群 S の元 a の冪、すなわち n を正の整数としたときの ann 個の a の積として定義される[注 1]。さらに Sモノイドのとき(すなわち単位元 1 をもつとき)、a0 = 1 と定義される[2][注 2]。とくに S が零元 0 ももつならば 00 = 1 である[注 3]

1が導出される場合[編集]

集合論における扱い[編集]

00 における 0 を2つとも基数、あるいは2つとも順序数と考えた場合、00 = 1 は基数あるいは順序数の冪の定義から示すことのできる定理である。

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

ここで、YXX から Y への写像全体の集合であり、# は集合の濃度を表す。(この定義は XY取り方に依らないことに注意。)しかるに、00X = Y = ∅ の場合に相当するから、00 = #∅ である。ここで、 から への写像は空写像唯一つ存在するから、#∅ = 1 である。したがって 00 = 1 である。

定義しないとする考え方[編集]

x ≠ 0 のとき x0 = 1 であるという理由で、0の0乗を 1 と定めることが自然(連続な拡張)だと考えるのであれば、y が正の実数のとき 0y = 0 であるという理由で、0の0乗を 0 と定めることも自然(連続な拡張)だと考えて良いだろう。このように連続性を指針とする場合には、こちらを立てればあちらが立たず、という状況であり、全てに都合の良い定め方は存在しない。さらにもし複素関数を考えるのであれば、そもそも解析性を担保する定義は存在せず、値を別途定める他はない。

実解析における扱い[編集]

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

冪を自然数ではなく実数の範囲で考え、00 を二変数関数 xyx = y = 0 における値だと考えると、次のようになる。

二変数関数 xy は、定義域を D = { (x, y) | x > 0 } ∪ { (0, y) | y > 0 }とした場合には、D 全体で連続となる。しかし、原点 (0, 0) を付け加えて、D′= D ∪ {(0, 0)} を定義域とした場合には、原点における値 00 をどのように定義しても、原点において連続とはならない。それは、D' 内で(原点を通らず)原点に近づく経路によってその極限値が異なるからである。例えば、y 軸 (x = 0) に沿って原点に近づくときの極限値は

であるが、x 軸 (y = 0) に沿って原点に近づくときの極限値は

である[注 4]。画像はこの二変数関数 z(x, y) = xy のグラフであり、原点に近づくときの経路によって異なる極限値を持つことが見て取れる。関数の連続性を重視する観点からは、00 をどのような値にすることもできない。

また 00 という記号によって、関数 f(x)g(x) の(x がある有限値に向かう、あるいは ±∞ に向かうときの)極限が共に 0 であるときの、f(x)g(x) の極限を考えていることを表すことがある。このとき 00 はいわゆる不定形英語版、すなわちこの f(x)g(x) の極限は一定しないのであって、実際任意の非負の実数値や +∞ にもなりうるし、振動することもある。例えば、

(ここで a は任意の実数)となり、また

は振動する。ここで、x → 0+x正の方向から 0 に近づく極限を表す。

極限が 1 になるための十分条件はいくつか知られている。例えば f および g がともに x = 0 において実解析的であり、ある正数 b > 0 に対し開区間 (0, b)f > 0 であれば、(x → 0+ のとき f(x) → 0, g(x) → 0 であれば)f(x)g(x)x → 0+ のときの極限は必ず 1 である[3][4][5]

複素解析における扱い[編集]

複素領域において、0 でない z に対し、関数 zw を、log z分枝を選び、zwew log z と定義できる。これは 0w を定義していない、なぜならば z = 0 において定義された log z の分枝は存在せず、したがって当然 0 の近傍で定義された log z の分枝も存在しないからである[6]。したがってこの意味で 0w は定義されないのであるが、著者によっては別途、

  • Re w > 0 に対しては 0 と定義したり[7]
  • w ≠ 0 に対しては 0 と定義したり[8]

している。

コンピュータにおける扱い[編集]

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

脚注[編集]

[ヘルプ]

注釈[編集]

  1. ^ この定義は半群における積の結合性より意味を持つ。
  2. ^ さらに a が逆元を持つならば、それを a−1 を書き、負の整数 n に対して an = (a−1)n と書く。
  3. ^ 整数の全体や実数の全体など、あるいは一般に単位元を持つ結合環は、乗法について零元を持つモノイドをなす。
  4. ^ ここに、x → +0x が正の方向から 0 に近付くことを表す。なお、負の数 y に対して 0y は定義されない。
  5. ^ 具体的には、Visual Basic Editor (VBE) のイミディエイトウィンドウ上で ?0^0 と打ち、Enter を押すと 1 と出てくる。

出典[編集]

  1. ^ グレアム, パタシュニク & クヌース 1993.
  2. ^ Grillet 1995, p. 6.
  3. ^ sci.math FAQ: What is 0^0?
  4. ^ Rotando & Korn 1977.
  5. ^ Lipkin 2003.
  6. ^ 神保 2003, pp. 44–45.
  7. ^ "Since ln 0 does not exist, 0z is undefined. For Re z > 0, we define it arbitrarily as 0."(ln 0 は存在しないから、0z は定義されていない。Re z > 0 に対しては、0 と定義する。)(Carrier, Krook & Pearson 2005, p. 15)
  8. ^ "For z = 0, w ≠ 0, we define 0w = 0, while 00 is not defined."(z = 0, w ≠ 0 に対しては、0w = 0 と定義するが、00 は定義しない。)(Gonzalez 1991, p. 56).
  9. ^ Google電卓機能による 0^0の計算結果

参考文献[編集]

関連項目[編集]

外部リンク[編集]