複素対数函数
複素解析における複素対数函数(ふくそたいすうかんすう、complex logarithm)は、実自然対数函数が実自然指数函数の逆函数であるのと同様の意味において、複素指数函数の逆「函数」である。すなわち、複素数 z の対数 w とは ew = z を満たす複素数を言い、そのような w を ln z や log z などと書く。任意の非零複素数 z は無限個の対数を持つから、そのような表記が紛れのない意味を為すように気を付けねばならない。
極形式を用いて z = reiθ (r > 0) と書くならば、w = ln r + iθ は z の対数の一つを与えるが、これに 2πi の任意の整数倍を加えたもので z の対数はすべて尽くされる。
逆函数を持つためには、函数は一対一(単射)でなければならないが、複素指数函数は単射でない(実際、任意の w とすべての整数nに対して ew+2nπi = ew が成り立つことが、w に iθ を加える操作が ew を反時計回りに θ ラジアン回転させることから言える)し、さらに悪いことに垂直線上に等間隔に並ぶ無限個の複素数の列 \ldots,\;w-4\pi i, \;w-2\pi i, \;w, \;w + 2\pi i, \;w+4\pi i, \;\ldots がすべて、指数函数によって同一の複素数へ写されるのである。したがって、複素指数函数は通常の意味での逆函数は持たないこのことを、複素指数函数は各非零複素数 z に z の対数となる複素数全体の成す集合を対応させる多価函数を「逆函数」に持つと解釈することもできる。
この問題の解決法として、二通り考えられる:
一つは、指数函数の定義域をどの二つの数も 2πi の整数倍の差を持たないような領域に制限することである。この方法では、自然に log z の枝(定義域に属する各数の対数を一つずつ切り出して得られる函数)を定義することになる。これは例えば、逆正弦函数 arcsin x の [−1, 1] 上定義された枝を、正弦函数 sin θ の区間 [−π/2, π/2] への制限の逆函数として定めるのと同様である(上記範囲内の x に対し sin θ = x を満たす実数 θ は無限個存在するが、それでも(いくぶん作為的ながら)[−π/2, π/2] に入るものを考えれば、それは一つしかないのであった)。
もう一つは、対数函数をガウス平面上の函数でなく、穴あき (つまり原点を除く) ガウス平面を無限個貼り合わせた被覆空間としてのリーマン面上で定義された函数と見ることによって、対数の不定性を解決することである。
枝をとる方法は、一つの複素数に対して値が評価できる点で優位性がある。他方、リーマン面上の函数と見る方法は、log z の全ての枝をひとまとめに扱えて、定義に任意性のある選択を含めなくてよいという点において筋が良い。
各非零複素数 z  x + yi に対して、その対数の主値 Log z とは、虚部が区間 (−π, π] に属する対数を言う。ew  0 を満たす複素数 w は存在しないから、式 Log 0 はやはり定義されない。
この主値はいくつか別のやり方でも記述できる。
Log z の表式を得るために、z を極形式 z  reiθ で表せば、θ に 2πi の整数倍を加えるだけの不定性を以って z の極形式は一意ではないが、θ が区間 (−π, π] に属する(この θ を偏角の主値 Arg z という特に計算機言語では atan2(y, x) とも書いて、これは x > 0 では arctan(y/x) に一致するが、任意の (x, y) ≠ (0, 0) に対して修正された値をとる。)とすれば「一意にする」ことができるから、これにより対数主値を\operatorname{Log}z:=\ln r+i\theta=\ln|z|+i\operatorname{Arg}z と定義することができる。右辺の ln は通常の実自然対数である。例えば Log(−3i)  ln 3 − πi となる。
もう一つの Log z の記述の仕方は前節で述べたように複素指数函数の制限の逆函数としてのもので、垂直な帯状領域 S を w  x + yi (−π < y ≤ π) なる複素数全体の成す集合とすれば、これはどの二つも 2πi の整数倍の差を持つことのない領域であるから、指数函数を S に制限したものは逆函数を持つ。実は、複素指数函数は S を穴あき平面 C*  C setminus 0 へ全単射に写し、逆函数は Log: C* → S となる。この写像の幾何学的性質の詳細は後述。
特に断りなく log z のように書かれた場合には、一般には主値について言っているものと考えたほうが安全である。そうすれば特に、z が正の実数のときの実数値の ln z と矛盾しない。しかし主値を他の対数と区別する目的では、頭文字を大文字化する記法を用いて Log と書くのが適当である。
実自然対数 ln の満足する等式は、複素数に拡張した場合には必ずしも成立しない。任意の z ≠ 0 に対して等式 eLog z  z は成立する(これは単に Log z は z の対数(の一つ)であると言っていることに相違ない)が、等式 Log ez  z は帯状領域 S の外側では正しくない。この理由により、等式 ez  ew の両辺に Log を施して z  w を得ることは常にはできない。また、等式 Log(z1z2)  Log z1 + Log z2 の両辺は 2πi の整数倍だけ異なり得る。
函数 Log z は各負の実数において不連続だが、それ以外の C* の各点において連続である。この不連続性を説明するために、z が負の実数 a へ近づくときに Arg z に何が起きるのかを考える。z が a に上から近づくならば、Arg z は π( Arg a) に近づくが、z が a に下から近づくならばArg z は −π に近づく。ゆえに Arg z は z が負の実軸をまたぐとき 2π だけ値が跳び、その結果 Log z も 2πi だけ跳ぶ。
もっと別な方法を用いれば、各非零複素数に対して対数を一つずつ選んでできる函数 L(z) が C* の全ての点上で連続となることができるであろうか、残念ながら答えは「否」である。その理由を見るために、そのような対数函数を単位円に沿って追跡する(つまり、L を、θ が 0 から 2π まで増加させるときの、eiθ において評価する)ことを考えよう。簡単のため、初期値は L(1) = 0 と仮定すれば、 θ の増加につれて L(z) が連続なるためには L(eiθ) は iθ に一致しなければならない(差は離散集合 2πiZ に値をとる θ の連続函数でなければならないから)。特に、L(e2πi) = 2πi でなければならないが、そもそも e2πi = 1 なのだから、これは L(1) = 0 の仮定に反する。
したがって、複素数に対して定義された連続な対数函数を得るためには、定義域をガウス平面のより小さな部分集合 U に制限することが必要となる。目的の一つとしてその函数が微分可能となるようにしたいので、定義域の各点の近傍においてそれが定義されていると仮定することには意味がある。つまり U としては開集合をとるべきである。また、U の異なる連結成分上で定義される函数値は互いに関連性がないものに取り得ることを考えれば、U が連結と仮定することも自然である。そういったことを取り纏めて、この文脈では枝を以下のようなものとして定める:
log z の枝 (branch) とは、ガウス平面 C 内の連結開集合 U 上で定義された連続函数 L であって、U の各点 z に対する各値 L(z) が z の対数となっているようなものを言う。
例えば、主値はガウス平面から負の実軸と原点を除いた開集合 C setminus R≤0 上で連続な枝を定義する。
別な例としてメルカトル級数
\ln(1+u)=\sum_{n=1}^\infty \frac{(-1)^{n+1}{n} u^n
= u - \frac{u^2}{2} + \frac{u^3}{3} - \cdots
は円板 u < 1 上で局所一様収束するから、z = 1 + u と置けば、1 を中心とする半径 1 の円板上での log z の枝を得る。実際にはこれは主値 Log z の制限になる。そのことは、主値との差を微分して 1 における値を比べればわかる。
一つ枝をとって固定する場合には、紛れの虞がないならば単に "log z" と書くことができる。異なる枝は特定の複素数の対数に対して異なる値を割り当て得るから、それゆえに "log z" が明確な意味を持つようにするためには、「あらかじめ」枝を固定しておかなければならない。
先に述べた単位円を用いた論法を一般化すれば、原点 0 を周る閉曲線を含む開集合 U 上で定義された log z の枝が存在しないことが示せる。この論法を回避するために、U は典型的には原点から適当な方向に無限遠まで延びる半直線や半曲線(端点として原点は含む)の補集合が選ばれる。この場合、そのような曲線は分岐切断 (branch cut) と呼ぶ。例えば、主値は負の実軸に沿った分岐切断を持つ。
函数 L(z) がその分岐切断上の一点において定義されるように拡張されるならば、L はその点で不連続でなければならない。よくて、負の実数における主値 Log z のように、「片側」連続になるだけである。
開集合 U 上で定義された log z の各枝は複素指数函数の制限(具体的には U の L による像への制限)の逆函数である。指数函数は正則(つまり複素微分可能)かつその導函数が消えることはないから、複素函数版の逆写像定理が適用できて、L(z) は U の各点において正則で、L′(z) = 1/z が成り立つ。これはコーシー–リーマン方程式の成立を見ることによっても証明できる。
実自然対数函数 ln(x) は積分公式 ln(x) = ∫1 du によって定義することができる。あるいは積分の下の限界を 1 から a に取り換えて、定義式を ln(x) = ln(a) + ∫a du とすることもできる。
同じことを「複素」対数に対しても議論するならば、さらなる複雑さが生じる。複素積分を定めるには積分路を決めなければならないが、今の場合はたまたま被積分函数が正則であるから、積分値は積分路を(端点を固定して)連続的に変形しても変わらず、また単連結領域 U(「穴のない」領域)では a から z へ行く U 内のどの道も連続的な変形で互いに移りあう。ゆえに以下のように言うことができる:
U が C の単連結開部分集合で 0 を含まないならば、U 上定義された log z の枝を、始点 a ∈ U と a の対数 b を一つ選んで L(z) := b + \int\limits_a^z \frac{dw}{w}\quad (\forall z\in U) と定義することができる。
正則函数 f: U → C がすべての点 z ∈ U において f′(z) ≠ 0 を満たすならば、f は等角写像である。すなわち、U の点 a を通るに曲線が角 α を成す(これは a における両曲線の接線の成す角が α であるという意味である)ならば、それらに曲線の f による像も f(a) において同じ角 α を成す。
log z の枝は、正則かつ導函数 1/z は U 上で消えないから、上記の命題により等角写像を定める。
例えば、主枝 w = Log z は C setminus R≤0 から垂直帯状領域 Im z < π への写像と見て上記の性質を満たすから、等角性を極形式で書いた直接の帰結として以下のことが言える:
z-平面の原点を中心とする円厳密にいえば、各円上の点から負の実軸上の点は除くか、そこでは主値を用いるかしなければならない。は w-平面内の a − πi から a + πi へ結ぶ垂直線分に写される。ただし、a は円の半径の実対数である。
z-平面の原点から放たれる半直線は w-平面の水平線に写される。
上記の z-平面上の各円と各半直線は直角に交わる。それらの Log による像はそれぞれ w-平面の垂直線分と水平線だから、それらも直角に交わる。これは主枝 Log の等角性の発露の一つである。
log z の複数の枝を貼り合わせて一つの函数 log: C* → C を得ることは、二つの相異なる枝がそれらの両方が定義される点においてさえ異なる値をとり得ることにより、不可能である。例えば C setminus R≤0 上で定義され、虚部 θ が (−π, π) に入る主枝 Log z と、C setminus R≤0 上で定義され、虚部 θ が (0, 2π) に入る枝 L(z) とは、上半平面では一致するが下半平面では一致しないから、これらの枝の定義域を「上半平面のコピーに沿ってだけ」貼り合わせることには意味を持たせることができる。貼り合わせで得られる領域は連結だが下半平面のコピーは二つ持つ。これら二つのコピーを二階建ての駐車場に譬えると、Log の階の下半平面から L の階の下半平面まで、0 を反時計回りに360°周って行くことができる。それには、Log の階で初めて正の実軸をまたいだときに共有された上半平面に入り、L の階の負の実軸をまたいで L の階の下半平面に入るのである。
同様の貼り合わせを、虚部 θ が (π, 3π) に入る枝、(2π, 4π) に入る枝、…… に対して、あるいは別方向の、虚部 θ が (−2π, 0) に入る枝、(−3π, −π) に入る枝、…… とどんどん続けることができる。そうして最終的に得られる連結な曲面は、先ほどの駐車場の喩えで言えば、上にも下にも無限に伸びる無数の階が螺旋状に連なった駐車場になる。この曲面を複素対数函数 log z に付随するリーマン面 R と呼ぶ。
対数のリーマン面 R 上の点は、複素数 z とその偏角の取り得る値 θ との対 (z, θ) と考えることができる。これにより R は C × R ≈ R3 に埋め込める。
各枝の定義域はそれらの値が一致する開集合に沿ってしか貼り合わされないから、貼り合わせで一つの矛盾なく定義された函数logR: R → C が与えられるリーマン面を R と書いたり、その上の対数を logR と書くのはここだけのローカルな記号であって、一般に使用されるものではない。この函数は各点 (z, θ) ∈ R を ln z + iθ に写す。もともとの枝 Log に両立する正則函数を貼り合わせて拡張する過程は解析接続と呼ばれる。
リーマン面 R から C* への(螺旋を「平らに」押しつぶす)「射影」が存在して、(z, θ) は z に写される。任意の z ∈ C* に対して、z の「真上」にある全ての点 (z, θ) ∈ R をとって、それらの点を logR で評価すれば、z の対数がすべて得られる。
上でやったように、特定の枝を選んで貼り合わせる代わりに、log z のすべての枝をとって、枝の対 L1: U1 → C, L2: U2 → C を U1 ∪ U2 の L1 と L2 が一致する最大の開部分集合に沿って貼り合わせることを、任意の対に対して同時に行っても、前節のと同じリーマン面 R と函数 logR が得られる。このやり方は、絵に描くことはやや困難だが、特定の枝をどのように選ぶかは問わない点で、より自然である。
U′ が R の開部分集合で、その射影像 U ∈ C* と全単射ならば、logR の U′ への制限は U 上定義された log z の枝に対応する。log z の任意の枝はこの方法で得られる。
射影 R → C* は R を C* の被覆空間として実現する。実はこれは、((z, θ) を (z, θ + 2π) に写す同相写像が生成する)Z に同型なデッキ変換群を持つガロワ被覆になる。
複素多様体として R は、logR を通じて C に双正則である(逆写像は z を (ez, Im z) に写す)。これは R が単連結であることを示しており、したがって R は C* の普遍被覆となる。
複素対数函数は複素数の複素数乗を定義するのに必要である。具体的に、複素数 a, b (a ≠ 0) に対し、対数主値を用いて ab coloneqq eb⋅Log a と定義する。Log a を a の別の対数に取り換えて ab の別の値を得る。
実数のときと同様に、複素数 a, b に対して
\log_a(b) :=\frac{\log_e b}{\log_e a}
と定義することができるが、a, b において定義される log の枝の選択によって値が変わることには気を付けなければならない。例えば主値を用いれば
\log_i(e)=\frac{\operatorname{Log} e}{\operatorname{Log} i}=\frac1{\pi i/2}=-\frac{2i}{\pi}
となる。
C の連結開集合上定義された正則函数 f に対し、U 上定義された log f の枝とは、U 上の連続函数 g で eg(z) = f(z) (∀z ∈ U を満たすものを言う。そのような函数 g は g′(z) = f′(z)/f(z) (∀z ∈ U) を満たす正則函数であることが必要である。
U が C の単連結開集合で、f が U 上至る所消えていない正則函数ならば、U 上定義された log f の枝は、始点 a ∈ U と f(a) の対数 b を選んで
g(z) := b + \int_a^z \frac{f'(w)}{f(w)}\,dw\quad (\forall z\in U)
と定めることによって構成できる。