数学よもやま話です。今回は「0の0乗はいくつになる?」というお話でもしようかと思っているのですが、実は私にもよくわからないのです。これは本当に難しい問題で、考えれば考えるほど頭が混乱します。わからないまま記事を書くというのも無責任な話ではありますが、こうなったら皆さんにも一緒に悩んでもらおうと、徐に筆を取った次第です。
0の0乗はいくつ?
0の0乗をどのように定義すべきかについては、専門家の間でも意見が分かれています。
「0の0乗は定義できない(したくない)」
と言う人もいれば、
「0の0乗は1とするべきだ」
と主張する人もいます。おそらく「定義できない」というほうが多数派で、高校数学の教科書にもそのように書かれています。しかし数学は多数決で決まるわけではないので、安易に「定義できない」と決めつけてしまうわけにもいきません。
まずは素朴に指数法則の原点に立ち返ってこの問題を考えてみます。実数
というように次々と
すなわち、
となります。
を得ることになります。これはよく知られた定義のひとつです。しかし、
と決めてよいものかどうか、悩みどころなのです。
少し見方を変えることにしましょう。
(C) Sam Derbyshire
図にあるように、
となるし、
となってしまいます。
でも実は
です。
となるので、最初の項以外はすべて
ちなみに、たいていのプログラミング言語(Ruby, Python, Java … など)では、0の0乗を演算させると 1 を返すように設計されていますが、Excel では 0の0乗は定義されておらず、セルに「=0^0」と入力すると、#NUM! エラーが表示されます。累乗を返す POWER 関数を使って「=POWER(0,0)」としても、同じく#NUM! が返ります。複素数用の累乗関数 IMPOWER も同じです。
しかし、Excel に搭載されている VBA は 0^0 に 1 を返すようになっています。なので、以下のようなユーザー定義関数を VBA で実装しておけば、ワークシート上で 0 の 0 乗が 1 を返すような計算を実行できます。
'[VBA] 0の0乗が1を返すべき乗関数
Function POWER_2(x As Double, y As Double)
POWER_2 = x ^ y
End Function
適当なセルに「=POWER_2(0,0)」を入力すると 1 が返ります。
ChatGPTに0の0乗の値を尋ねてみました
今大流行している物知りAIのChatGPTに0の0乗について尋ねてみました。
[Q] 0の0乗はいくつですか?
[A] 数学的には、0の0乗の値は未定義です。0の正の指数乗は常に0となりますが、0の0乗については特定の値を持つという合意は存在しません。0の0乗に関しては、異なる数学的なコンテキストや問題領域において、さまざまな定義や取り扱いがされることがあります。例えば、一部の数学分野や物理学においては、0の0乗を1とみなす場合もあります。しかし、一般的な数学の規則や多くの数学者による合意では、0の0乗は未定義とされます。そのため、具体的な文脈や定義によって異なる結果が出ることがありますが、一般的な数学的な見解では、0の0乗の値は存在しないとされます。
エクセルや数学に関するコメントをお寄せください