みなさん、 がどんな値になるか考えたことはありますか?
「複素数のべき乗ってなんだよ」と思う方もいるかもしれません。素朴に「 を
回かける」なんて考えたら、意味がわからないですよね。
この問題について一度考えたことがある方の中には「 だよ」と答える方もいるかもしれません。たしかに、
としては
を取ることもあります。しかしながら、本当に
だと言い切ってしまってよいでしょうか?
一般に、一つの に対して
が複数の値をとるような関数のことを 多価関数 といいます。

複素数を変数に持つような関数を考えるにあたっては、このような性質を慎重に検討する必要があります。実際、 を議論する際は、こうした多価関数の値として考える必要があり、単純に
だとは言い切れなくなってしまうのです。
最近tsujimotterは、こうした多価関数の基本的な性質について勉強していまして、そのノートを以下に公開していました。本記事では、そのノートの内容を丁寧にまとめてみたいと思います。
最近、複素関数の多価性について勉強したので「iのi乗」についてまとめてみました。(下書きなので後で清書する) pic.twitter.com/z3v7zxWRbj
— tsujimotter (@tsujimotter) 2019年11月22日
前日に公開した「超幾何級数に関する記事」でも、今回の結論の一つを使っています。前日の記事でわからなかった方は、今回の記事を参考にしていただけると幸いです。
tsujimotter.hatenablog.com
とは
のような式は
という式で定義され、「2を3回かけたもの」として理解されます。
を考えるにあたっては、底の部分や指数の部分のどちらも複素数とするような一般の「べき乗」を考える必要がありますが、その場合は上記のような「素朴な理解」は難しくなります。
そこで次の方法を用いて複素数の複素数乗を定義することにします。
以下は と
を複素数とします。今回の記事を通して、
と書いたら指数関数の「底」、
と書いたら指数関数の「指数」と約束することにします。
は一般に、次の式で定義されます:
ここで、 はそれぞれ複素数を変数にとる指数関数、対数関数です。それぞれ説明していきましょう。
指数関数
指数関数 は、高校で習う
を複素数に拡張した関数のことです。高校では
として実数しか取らなかったと思いますが、複素数に拡張するにあたっては、素朴な「べき乗」の定義ではうまくいきません。そこで、次のべき級数(べき乗の無限個の和)をもって指数関数の定義とします:
式 のべき級数は、複素数平面全体で収束することが知られています。したがって、
はどんな複素数
を入れても値を返してくれる、とても性質のよい関数になります。(さらにいうと、値が
になるような点
がない、ということも知られています。)
複素数の指数関数 の
に
を代入して得られる次の等式は有名です:
これはオイラーの公式と呼ばれるものです。右辺に が登場しましたが、それぞれのテイラー展開を求めて、比較することで公式が得られます。今回は本題ではないのでやりません。
オイラーの公式によって、指数関数には周期があることがわかります。 を計算してみると、指数法則
より
となりますが、オイラーの公式(式 )によって
であることがわかります。結局
となるわけです。この式の意味するところは、指数関数は変数 に
加えても(引いても)関数の値を変えないということです。すなわち
ということです。このことは、指数関数にとって(少なくとも今日の記事においては)の最大の重要ポイントとなります。
対数関数と多価性
あとは、複素数変数の対数関数を定義すれば、複素数のべき乗が定義できるようになります。ところが、この対数関数が一番厄介です。
対数関数 は、指数関数
の逆関数として定義されます。すなわち複素数
を
となるよう定めたとき
として対数関数を定義します。
これにて一応定義はできたのですが、問題なのは指数関数の周期です。指数関数は周期 を持つ、つまり
なので、 としては
と
のどちらもとり得ることになります。もっというと、
を任意の整数として
という「無限通りの値」をとることになります。

このように、関数が1つの変数に対して複数の値をとるという性質のことを多価性といい、多価性を持つ関数のことを多価関数といいます。
なお、通常「関数」といったら値が一つのもの(1価関数)を指しますね。今回は、多価性を議論したいので、特別に多価関数についても関数という名前を使って呼びます。
さて、対数関数 の多価性をより精密に分析していきましょう。変数
は複素数なので、以下のように表すことができます:
は
の絶対値(原点からの距離)で、
は
の偏角です。図で表すとこんな感じですね。

この式をオイラーの公式を用いて
と変形できます。これを に代入しましょう。
すると
とできます。 は
が実数なので明らかに実関数です。したがって問題なく計算できます。ここで問題になるのは
の項ですね。
普通、偏角 を考える際は、上の図のように「実軸から左回りに回転したときの角」をイメージしますね。
一方で、次のようにあえて「 の周りを左回りに1周回転した上で」角度をとってもいいですよね。

1周どころか2周、3周、4周、……と何周してから角度を考えてもよいでしょう。
このように考えると、 は少しややこしい関数になってしまいます。
1周目の範囲で考えた角度を と表します。すなわち、
です。
のことを、
の主値といいます。
このように定義した を用いると、
は
と表すことができます。 は1つの変数
に対して複数の値が対応する関数となっていますので、本質的に多価関数だったというわけです。

「いやいや、そんなこと考えなくたって、素直に と定義すれば値は1個にきまるじゃない」と思った方もいるかもしれません。
は1価関数なので、これでいいじゃんと。実際、これで事足りる場面も多いです。
一方で、関数の「連続性」を考えようと思うと、この定義がうまい方法ではないとわかります。次の左図のように、複素数 を
の
周りで左回りに1周させたとき、 の値を計算してみます。また、横軸を
の時刻とし、縦軸を
とすると次の右図のグラフが得られます:

グラフを見て明らかなように、 は連続的に動かしているのにも関わらず、
が不連続な値をとってしまいます。これでは
が連続ではなくなり、その
を用いた
に不連続性が遺伝します。さらには、
も不連続な関数になってしまいます。
困りました。
普遍被覆面
ここでは の連続性について、もう一つ発展的な考えを導入したいと思います。
今度は、 はどこでも連続的な関数であるとして、
が
のまわりを左回りに1周まわって元の位置に戻ってきたときには、
が
されると考えるのです。

これなら、 が不連続に値を変えることはありません。
複素数平面の「同じ点」なのに、1周して戻ってくると値が変わってしまうのは不思議な感じがするかもしれません。
ここで大きな発想の転換が必要になります。これまでは の定義域として、複素数平面という一枚のシートを考えていました。今度は「
のまわりを左回りに何周したか」という情報と複素数平面をセットで考えるような、新しい定義域を考察したいと思います。
「 のまわりを左回りに1周すると、複素数平面の階層が一段上がる」というイメージで考えるといいかもしれません。まるで螺旋階段のようなものを登っていると想像するといいでしょうか(次の図のようなイメージ)。

これまでは関数の定義域として、複素数平面 から1点
を抜いた
を考えていましたが、ここからは情報が付与された「拡張された面」を考えるということですね。このような面のことを、
の普遍被覆面といい、
という記号で表します。
普遍被覆面 上の点
を考えて、
をその点で定まる関数と考えれば、関数の値は1つに定まります。すなわち、1価関数になります。
の定義に使う
関数としては、上のものを採用することにします。すなわち、
も普遍被覆面
上の関数として考えるのです。
も同様です。
は1周すると
倍される
の点は、1周すると関数の値が変わってしまうという特異な点なのでした。このような点を 分岐点 といいます。分岐点をぐるっと1周させて戻ってくると関数の値が変わる現象のことを モノドロミー というそうです。
ここでは のモノドロミーを具体的に計算してみましょう。
複素数平面上に次のような点 を考えます。この
の偏角を
としておきましょう。

は実際には無限に回転する螺旋階段(普遍被覆面)上の関数なわけですが、「現在どの高さにいるのか」という情報を指定をしないと関数の値が定まりません。このように、定義域の面上の点に加えて、普遍被覆面のどの点にいるかを指定することを 分枝をとる といいます。上では
について、値が
の範囲に収まるよう分枝をとったと考えます。
さて、 を次の図のように
のまわりを左回りに1周させましょう。1周して戻ってきた点は座標としては同じ
ですが、普遍被覆面としては1階層上がっているので異なる点だと考えます。この点を
とおきます。

これから考えたいのは、 におけるそれぞれの関数の値
です。
まず、 についてですが、単に1周させただけなので
であることはよいでしょう。
次に を計算します。
の定義式
と式
より
が得られます。つまり という関数は、
のまわりを左回りに1周させると
されるということですね。
最後に を考えます。定義式
より
よって、結論を取り出すと
ということがわかりました。これはすなわち「 は
のまわりを左回りに1周させると
倍される」ということですね。
を計算する
の挙動が掴めてきましたので、いよいよ
に挑みたいと思います。
において、
と代入したものと思えますね。
の方の
は普遍被覆面
上の点だと思えます。
そこで、 の分枝を決めたいのですが、
となるようにとるとしましょう。すると
となりますね。

このときの の値は、定義式
より
と計算できます。結局
ということですね。
この値は実数であり、計算すると
となります。 の
乗が実数値になるというのは面白いですね。
上記では、 の分枝を
の範囲で定めました。これは
となるよう
の分枝をとり、
から図のような経路を辿って
に到達したと言い換えることもできます。

次は、 の分枝を同様にとって、
から
のまわりを左回りで1周してから、図のように
に到達するような経路を考えましょう。このような
を上と区別するために
と書いて、同様に
を考えます。

まず、 ですが、
のまわりを左回りで1周していますので、
となります。
より
です。
このときの の値は、定義式
より
と計算できます。結局
であるということですね。
先ほど計算した と値が異なっていることに注意しましょう!
前節で述べたように、 は
の周りを左回りに1周するたびに
倍されるため、
より、1周するごとに 倍されていると考えてもいいでしょう。
まとめ
以上の議論により、 は経路によって異なる値をとりえて
となります。これがタイトルで述べた
の意味するところです。
のとりうる値はどれもすべて正の実数ですが、そこに至る経路によって複数の値をとりえて、しかもいくらでも大きな値、いくらでも0に近い値をとりうるということですね。面白いです。
今回の記事の途中で得られた次の事実:
はしばしば使われます。よかったらこれを期に覚えてもらえると嬉しいです。
それでは今日はこの辺で。
おまけ
「 のまわりを左回りに1周すると関数の値が変化する」という現象を理解するために、可視化プログラムを作ってみました。
【誤りがあったので修正しました】
— tsujimotter (@tsujimotter) 2019年12月3日
複素対数関数log(x)のモノドロミーの様子を可視化するプログラムを作ってみました。log(x)はx=0のまわりを左回りに1周して元の位置に戻るたびに+2πiされます(右回りだと-2πi)
以下のページで遊べるので試してみてください:https://t.co/2idPcuWTup pic.twitter.com/k2Q4W2bDnN
関数の可視化をしたものですが、1周するたびに
される様子が理解できるかと思います。ぜひ遊んでみてください。