三角関数、双曲線関数など、指数関数を用いて表される初等関数が多いが、前項で指数関数 の逆関数である対数関数を(複素関数として) 定義したことで、それら初等関数の逆関数が対 数関数を用いて表すことが出来る。
例 4.6 (1) sinz = 0 を解け。 (2) sinz = 2 を解け。
(解答) sinz = eiz −e−iz
2i である。
(1)
sinz = 0⇔ eiz−e−iz
2i = 0⇔eiz =e−iz ⇔e2iz = 1
⇔(∃n∈Z) 2iz = log 1 +i(0 + 2nπ)
⇔(∃n∈Z) z=nπ.
ゆえにsinz = 0 の解はz =nπ (n∈Z).
(2) w:=eiz とおくと、
sinz = 2 ⇔ eiz −e−iz
2i = 2⇔eiz −e−iz = 4i⇔w− 1
w = 4i⇔w2−4iw−1 = 0
⇔w= 2i±0
(2i)2+ 1 = 2i±√ 3i=(
2±√ 3)
eiπ/2
⇔(∃n ∈Z) iz = log( 2±√
3)
+i(π/2 + 2nπ)
⇔(∃n ∈Z) z =−ilog( 2±√
3)
+π(1/2 + 2n).
ゆえにsinz = 2 の解はz = (2n+ 1/2)π−ilog5 2±√
36 .
この例を一般化して、w∈C が与えられたとき、w= sinz を z についての方程式として解 くと、
z =−ilog(
iw+√
1−w2) .
既に学んだように、三角関数や双曲線関数は、指数関数を使って表すことが出来る。従っ て、三角関数や双曲線関数の逆関数を (指数関数の逆関数である) 対数関数を使って表せるの は、比較的自然に受け入れられるであろう。詳細は省略するが、以下のようになる。
arcsinz = sin−1z :=−ilog(
iz+√
1−z2) , arccosz = cos−1z :=ilog(
z−i√
1−z2)
= π
2 +ilog(
iz+√
1−z2) , arctanz = tan−1z := i
2(log(1−iz)−log(1 +iz)). arcsinhz = sinh−1z := log(
z+√
z2+ 1) , arccoshz= cosh−1z := log(
z+√
z2−1) , arctanhz = tanh−1z := 1
2log1 +z 1−z.
(一つくらいやってみせるか?特に arcsinh は良く出てくるから38)
従って、指数関数、対数関数、それと0
(これもlog と exp で √
z=elogz/2 表せるけれ ど…)を詳しく調べれば良い、と考えられる。
問 55. 次式を確かめよ。
cosh(iz) = cosz, sinh(iz) = isinz.
問 56. 次式を確かめよ。
(arcsinz)′ = 1
√1−z2, (arccosz)′ =− 1
√1−z2, (arctanz)′ = 1 1 +z2, (arcsinhz)′ = 1
√z2+ 1, (arccoshz)′ = 1
√z2−1, (arctanhz)′ = 1 1−z2.
38
! dx
√x2+k = log%%%x+0
x2+k%%%という公式があるが、k >0のときarcsinh√xk とも表せる。Mathemaitca は ArcSinh[]を使って答える。k が負の場合や、符号が不明な場合は、log(x+√
x2+k)と答える。
この節のおわりに
複素対数関数は、ちょっとやっかいな感じがするけれども、なかなか重要そうだ、と感じて もらえただろうか。実はとてもとても重要なことが後々分かってくる。
5 線積分
(この節はまだ少し粗いです。しばらくは「工事中」と考えて下さい。)
「今日はこの講義の核心部分に触れるので真剣に聴きましょう。」
複素関数の線積分を導入する。実関数とは異なり、複素関数は連続であっても原始関数が存 在するとは限らない。どういう場合に存在するか、存在しない場合にどういうことが起こる か、それを理解するのがこの「複素関数」の核心である。
5.1 線積分の定義
いよいよ線積分を学ぶ。この後の授業では、毎回線積分が現れる。例えば、
• この講義科目において最も重要な定理は、Cauchyの積分定理であると考えられるが、こ れは線積分に関する定理である。
• 既に述べたように、この講義では、「正則関数は冪級数展開可能である」という定理を 示すことが重要な目標の一つである。この定理のどこにも「積分」という語は出てこな いが、その証明は普通「線積分」を使ってなされる39。
• 複素対数関数の多価性も、線積分 logz=
! z 1
dζ
ζ を通して理解できる。
(余談: 高木貞治の「関数論縁起」([5])にある、1頁ちょっとのガウスからベッセルへの手紙 の引用を読んでみよう。この講義の WWW サイト(http://nalab.mind.meiji.ac.jp/~mk/
complex/)に載せてある。高木先生はお亡くなりになってから、50年以上経っているので、著
作権フリーです。)
(これは蛇足?)C はR2 に近いので、重積分というものもあるが、複素関数論でそれが必要
になることは稀で、必要なのは線積分の方である (線積分がある意味で微分の逆演算となる)。
これからしばらくの話は
1. まず線積分を定義、例を見せる 2. 反省モード
3. 線積分の基本的な性質を粛々と調べる
と進める。Cauchyの積分定理の準備をすることになる。
それでは、線積分を定義しよう。2種類あるが、良く使うのは次のものである。
(次は図を描くこと。ちょろっと、始点、終点という言葉を書き込み、ちょろっと「始点と 終点が同じでも道はたくさんある」と言う。)
39「線積分」を使わない証明もあるらしいが、ずっと後になって発見されたもので、一般にはあまり知られて いないそうである。Ahlfors [18]に書いてあった話?
✓ ✏
定義 5.1 (曲線に沿う線積分) Ω は C の開集合、f: Ω → C は連続、C : z = ϕ(t) (t ∈ [α,β]) は Ω 内の区分的にC1 級の曲線とする。このとき、曲線 C に沿った f の線積分 (line integral)を次式で定める。
(31)
!
C
f(z)dz :=
! β α
f(ϕ(t))ϕ′(t)dt.
C のことを積分路せ き ぶ ん ろと呼ぶ。
✒ ✑
次の形の線積分も必要になる。
✓ ✏
定義 5.2 Ω はC の開集合、f: Ω→C は連続、C :z =ϕ(t) (t ∈[α,β])は Ω内の区分的 にC1 級の曲線とする。このとき、
(32)
!
C
f(z) |dz|=
!
C
f ds:=
! β α
f(ϕ(t))|ϕ′(t)| dt.
✒ ✑
(特にf ≡1 のとき、つまり!
C
ds は C の弧長となる。)
曲線、区分的にC1 級などの言葉については、知っている人も多いと想像するが、すぐ後で 説明する。
F(t) := f(ϕ(t))ϕ′(t) は複素数値関数である。微積分では実数値関数の積分しか出て来な かったかもしれない。U(t) := ReF(t),V(t) := ImF(t) とおいて、
! β α
F(t)dt =
! β α
(U(t) +iV(t))dt:=
! β α
U(t)dt+i
! β α
V(t)dt
で積分を定義すると考えれば良い。(これは実際には既に他の授業で普通に使ってあるはず。例 えば「画像処理とフーリエ変換」の Fourier 係数の計算など。)
問 57. F: [α,β]→C は連続とするとき、
%%
%%
! β α
F(t)dt
%%
%%≤
! β
α |F(t)|dt を示せ。
例 5.3 f(z) = z2,C は ϕ(θ) = eiθ (θ∈[0,π])とするとき
!
C
f(z)dz =
! π 0
5eiθ62
ieiθ dθ =i
! π 0
e3iθ dθ =i :e3iθ
3i
;π 0
= e3πi−e0
3 = −1−1 3 =−2
3. 注意 5.4 (細かい注意 — 授業では寝た子を起こさないかも) 任意の t に対してϕ′(t) が定義 されるわけではない(「区分的…」なので)。(31) は大丈夫なのだろうか?ϕ: [α,β]→Ωが区 分的に C1 級の曲線とは、ϕ: [α,β]→Ω は連続で、∃{tj}nj=0 s.t. α=t0 < t1 <· · ·< tn =β, ϕ を Ij := [tj−1, tj] に制限した ϕj := ϕ|Ij は Ij で C1 級、と定義される。ゆえに
! tj
tj−1
f(ϕj(t))ϕ′j(t)dt
は問題なく定義される (被積分関数は [tj−1, tj] で連続なので、積分可能であり、値が確定す る40)。(31) は
!
C
f(z)dz :=
"n j=1
! tj
tj−1
f(ϕj(t))ϕ′(t)dt.
40一方、ϕはt=tj で微分可能でないことがありうる(ϕ′j(tj)̸=ϕ′j+1(tj)であるとき、ϕは tj で微分可能で はない)。その場合、f(ϕ(t))ϕ′(t)はt=tj で定義されていない。
と定義するのが厳密であると言えるかもしれない。しかし積分は関数が定義されていなかった り、不連続であるような例外点の存在を許して考えるのが普通 (慣習)なので、上のように書 いておいた。積分可能であることを確かめるには、ここに書いたような議論が必要になる。
✓ ✏
定理 5.5 (微積分の基本定理 (のようなもの)) Ω が C の開集合、F: Ω → C は正則、C は Ω内の区分的に C1 級の曲線で、始点が a,終点が b とするとき、
!
C
F′(z)dz = [F(z)]z=bz=a=F(b)−F(a).
✒ ✑
証明 C が z =ϕ(t) (t∈[α,β]) とする。ϕ が C1 級の場合は、
!
C
F′(z)dz =
! β α
F′(ϕ(t))ϕ′(t)dt =
! β α
d
dtF(ϕ(t))ϕ(t)dt = [F(ϕ(t))]t=βt=α
=F(ϕ(β))−F(ϕ(α)) =F(b)−F(a).
ϕ が連続かつ区分的に C1 級の場合は、C1 級であるような小区間に分割して、各区間で上と 同じことをして
!
C
F′(z)dz =
"n j=1
! tj
tj−1
F′(ϕ(t))ϕ′(t)dt=
"n j=1
(F (ϕ(tj))−F (ϕ(tj−1)))
=F (ϕ(tn))−F (ϕ(t0)) =F(b)−F(a).
例 5.6 ϕ(0) = 1, ϕ(π) =−1, (
z3 3
)′
=z2 であるから、
!
C
f(z)dz = :z3
3
;z=−1 z=1
= (−1)3−13
3 =−2
3. ここまで話を聴いて、次のように思うかもしれない。
何だ、実関数のときと同じじゃないか?
確かに原始関数が分かっていればこれまでと同じだ。しかし、すぐ後の例5.7 で見るように
複素関数では、原始関数が存在するとは限らない。
この原始関数の存在問題については、時間をかけて説明することになる。
Cf. [a, b] を R の区間とするとき、f: [a, b] →R が連続ならば、f は必ず原始関数を持つ。
すなわち ∃F s.t. F′ =f. 実際、
微積分の基本定理
✓ ✏
d dx
! x a
f(t)dt=f(x)
✒ ✑
であるから、F(x) :=
! x a
f(t)dt とおけば、F は f の原始関数である。
! b a
f(x)dx= [F(x)]ba =F(b)−F(a)
#
すなわち ! b a
F′(x)Dx =F(b)−F(a)
$ も微積分の基本定理と呼ばれる。これらは要するに、
( 実関数では、つねに ) 微分と積分は互いに逆演算である
ということを言っている。
複素関数で曲線に沿う線積分が重要である理由は、(「つねに」ではないけれど) 微分の逆 演算となりうるからである。
例 5.7 (原始関数を持たない関数) f(z) = 1
z (z ∈ Ω := C \ {0}), C: z = ϕ(θ) = eiθ (θ ∈ [0,2π]) とするとき、 !
C
f(z)dz = 2πi.
もしも f の原始関数 F が存在すると仮定すると、上の定理によって
!
C
f(z)dz =F(ϕ(2π))−F(ϕ(0)) =F(1)−F(1) = 0 となり矛盾が生じる。ゆえに f は原始関数を持たない。
この辺の事情は、前節の複素対数関数の話に通じる。やや判りづらいと思われるが、説明 する。
F(z) := logz は多価関数で、関数とは認められないが、ある意味でF′(z) = f(z)を満たす。
関数f の定義域を少し小さいものに置き換えると、原始関数は存在することがある。例え ば、複素平面から実軸の正の部分を除いた領域 Ω′ :=C\ {z ∈C|z ≥0} では
F(z) = logz = logr+iθ (z =reiθ,偏角 θを (0,2π) の間に取る)
が f の原始関数になる。そこで0<ε <1 に対して、Cε: z =ϕ(θ) =eiθ (θ ∈ [ε,2π−ε]) と すると、Cε の像は Ω′ に含まれるので
!
Cε
f(z)dz =F (ϕ(2π−ε))−F (ϕ(ε)) = (log 1 +i(2π−ε))−(log 1 +iε) = (2π−2ε)i.
ここで ε→+0 とすると 2πi に収束する。これが!
C
f(z)dz に等しいのはうなずけるだろう
か(そうしてもらえることを期待している)。
n∈ Z, f(z) =zn とする。n̸=−1 であれば、F(z) := zn+1
n+ 1 とおくと、F′(z) =f(z) であ
るから、 !
C
f(z)dz =F(b)−F(a) = bn+1−an+1 n+ 1 . 関数が原始関数を持つかどうか、簡単に分かることを述べておく。
• 多項式関数は (n ≥0しか出て来ないので)必ず原始関数を持つ。
• 冪級数は収束円の内部では必ず原始関数を持つ。
• 有理関数で(実関数ならば) logが出て来るケース( 1
z−a とか、 z
z2+ 1 —もっともこち らは 1
2
# 1
z+i + 1 z−i
$
に等しいので、 1
z−a に帰着されると言って良いかもしれない) や、√ などは注意を要する。
• 実は「原始関数を持つならば正則である」ことが後で分かる。従って正則関数でない x= Rez, y= Imz, |z|, Argz などは原始関数を持たない。
余談 5.8 (授業楽屋裏) 線積分の練習問題を出す立場の楽屋裏を説明すると、原始関数が分か る場合は、定理 5.5 によって、線積分は簡単に計算できてしまい、線積分の定義に基づいて 計算することの練習にならないので、原始関数が存在しない問題を出すことが多い。その中に (x, |z| のような)正則関数でない関数を含めることがあるが、関数論で実際にそういう関数の 積分が出て来ることはあまり多くないので、「問題のための問題」になりがちである (少し複 雑な気持ちになる)。
参考 5.1 (積分の定義の反省) 実関数の積分は Riemann 和の極限として定義されるのが普通
である: ! b
a
f(x)dx= lim
|∆|→0
"n j=1
f(ξj)∆xj,
∆xj :=xj −xj−1, ξj ∈[xj−1, xj], |∆|:= max
1≤j≤n(xj −xj−1). 複素関数の曲線に沿う線積分も同様に定義すべきであろう。
!
C
f(z)dz = lim
|∆|→0
"n j=1
f(ζj)∆zj.
∆zj :=zj−zj−1, ζj ∈
#
zj−1zj, |∆|:= max
1≤j≤n|zj−zj−1|.
(ここで #
zj−1zj は、2点 zj−1,zj を端点とする弧を表す。実はこの辺は突っ込みどころなのだ けど、頬かむりする。)
zj, ζj をどう取るか。パラメーターの区間の分割
α=t0 < t1 <· · ·< tn=β と各小区間から任意の選んだ点
ξj ∈[tj−1, tj] (j = 1, . . . , n) を用いて
zj =ϕ(tj), ζj :=ϕ(ξj) とするのが自然であろう。すると
f(ζj) = f(ϕ(ξj)),
∆zj =ϕ(tj)−ϕ(tj−1)≃ϕ′(ξj)∆tj,
∆tj :=tj −tj−1 であるから、
"n j=1
f(ζj)∆zj ≃
"n j=1
f(ϕ(ξj))ϕ′(ξj)∆tj.
この右辺は、実変数の関数t5→f(ϕ(t))ϕ′(t)のRiemann和になっているので、|∆|:= max
1≤j≤n(tj− tj−1) を 0に近付けた時の右辺の極限は ! β
α
f(ϕ(t))ϕ′(t)dt になることが証明できる。複素関 数の曲線に沿う線積分の妥当性が分かる。
もう一つの方の線積分は
!
C
f(z)|dz|=
!
C
f ds= lim
|∆|→0
"n j=1
f(ζj)|∆zj|. (f ≡1の場合は、Riemann 和は折れ線の長さになっていることに注意。)