メモ(数論2): 複素関数とか

チラ裏 > 数論 > メモ2

「チラ裏」は、きちんとまとまった記事ではなく、断片的なメモです。誤字脱字・間違いがあるかもしれません。

***

2021-01-08 「等比フィボナッチ」数列

フィボナッチ数列のある項とその直前の項の比は、黄金比 ϕ = (1 + √5)/2 = 1.61803… に近づいていく。

言い換えると、フィボナッチ数列の項は、次々に約 ϕ 倍になる。ある項の値が A なら、次の項は Aϕ に近く、その次の項は Aϕ2 に近く、そのまた次の項は Aϕ3 に近い…。面倒なので、いっそのこと A = 1 として、第1項が ϕ、第2項が ϕ2、第3項が ϕ3…という別の数列を定義してしまおう。

理由はさておき、この数列も、フィボナッチ数列同様、G1 + G2 = G3, G2 + G3 = G4, … のように「直前の2項の和がその項」という性質を持つ。一般項の公式は、定義より Gn = ϕn であり、フィボナッチ数列の一般項より分かりやすい。同様に計算を続けると:

3の倍数番目の項では、有理部と無理部が整数になる。そして、それらは(正または負の)ペル方程式 x2 − 5y2 = ±1 の整数解に対応している。それ以外の項は有理部と無理部に 1/2 の端数を持つが、これらの項も、ペル方程式の有理数解に対応している。G1 = ϕ は、ℚ(√5) における基本単数に当たる(ノルム−1)。

2021-01-10 フィボナッチ数列の一般項の公式 一番簡単な方法?

今日は何して遊ぼっか?

フィボナッチ数列の一般項の公式を作ろう!

フィボナッチ数列は、大ざっぱに見れば、各項が前の項の ϕ 倍になっていく数列。
2, 4, 8, 16, 32, …
のような等比数列 an = 2n と、そんなに違わない。そこで試しに an = ϕn という等比数列を考えると
(1 + √5)/2, (3 + √5)/2, (4 + 2√5)/2, (7 + 3√5)/2, (11 + 5√5)/2, …

面白いことに、上記の等比数列もフィボナッチ数列と同じ性質を持つ:
a1 + a2 = a3 つまり (1 + √5)/2 + (3 + √5)/2 = (4 + 2√5)/2
a2 + a3 = a4 つまり (3 + √5)/2 + (4 + 2√5)/2 = (7 + 3√5)/2
a3 + a4 = a5 つまり (4 + 2√5)/2 + (7 + 3√5)/2 = (11 + 5√5)/2
etc.

「この性質が本当に常に成り立つ」ということは、帰納的に証明できるはずだが、逆向きに考えると、次の疑問が生じる…。

疑問: an = xn の形の数列が、フィボナッチ的性質 an = an−1 + an−2 を持つとしたら、どんな場合か?

言い換えると: xn = xn−1 + xn−2 を満たす x があるとすれば、それは何か?

上の式の両辺を xn−2 で割れば x2 = x + 1 つまり2次方程式
x2 − x − 1 = 0
を得る。その解は:
x = [−(−1) ± (−1)2 − 4 × 1 × (−1)] / 2 = (1 ± √5)/2

このことから、確かに x = (1 + √5)/2 とすると「等比フィボナッチ」数列になる。ただし、上記の割り算が許されるためには、xn−2 ≠ 0 つまり x ≠ 0 でなければならない。もし x = 0 だと、その場合の数列は…
0, 0, 0, 0, 0, …
…となって、このつまらない数列も、一応フィボナッチ的性質を持つ(直前の2項の和がその項)。この可能性をいったん無視するなら、疑問の答えは、x = (1 ± √5)/2 の場合…。今回の収穫として、β = (1 − √5)/2 と書くと、数列 an = βn も「等比フィボナッチ」になる…という結論が得られた。

数値的に β = −0.61803… は負なので、1乗・2乗・3乗・4乗…すると交互に負・正・負・正…になる。絶対値が1未満なので、何乗もすると、どんどん0に近づく。そんな「変な」数列がフィボナッチ的に振る舞うのは、表面的には奇妙に思える。とはいえ、一皮むけば、β は黄金比 ϕ の共役なので、n が同じ値なら βn は ϕn の共役(ϕn については前回、第12項まで計算したが、βn は、その無理部の符号を変えたもの)。A と B の和が C なら、A の共役とBの共役の和は、Cの共役。従って ϕn がフィボナッチ的なら、自動的に βn もそうなる。

理屈はともかく、実際に計算すると、ϕn と βn は…

都合よく √5 の「係数」がフィボナッチ数列そのものになっている。この数を取り出せばいい。それには前者から後者を引き算して、適切な数で割り算すればいい。例えば n = 4 の場合、引き算の結果は
(7 + 35)/2 − (7 − 35)/2 = 35
なので、適切な数とは √5。任意の n についても同様。よってフィボナッチ数列の第n項の値は:
n − βn) / √5

…これより簡単にビネの公式を導く方法ある?

2021-01-13 トリボナッチ数列の隣り合う2項の比 (トライボナッチ数列)

1, 1, 2 から始めて、それ以降の項は「直前の3項の和」とする。

1, 1, 2, 4, 7, 13, 24, 44, 81, 149, 274, 504, 927, 1705, 3136, 5768, …

ある項と直前の項の比は 1.83928… に収束するように見える(フィボナッチの ϕ に相当)。この謎の数(3次元の黄金比?)の正体は何か。フィボナッチ数列の場合と同様に考える。

疑問: xn = xn−1 + xn−2 + xn−3 を満たす正の実数 x は?

xn−3 で割ると、x3 = x2 + x + 1 となり、次の3次方程式を得る:

x3 − x2 − x − 1 = 0

3次方程式の解の公式で a = 1, B = −1/3, C = −1/3, d = −1。変数変換 z = ax + B を行うと(つまり z = x + 1/3, x = z − 1/3 とすると)、z3 + 3Pz + q = 0 となり、その P, q の値を計算すると:
P = 1 × (−1/3) − (−1/3)2 = −4/9,
q = 12 × (−1) − 3 × 1 × (−1/3) × (−1/3) + 2 × (−1/3)3 = −38/27。

カルダノの方法を使うなら、2次方程式 X2 + qX − P3 = 0 つまり X2 − (38/27)X + 64/729 = 0 を解けばいい。その判別式は D = 44/27、解は X = 19/27 ± √11/27。従って
z = 319/27 + √11/27 + 319/27 − √11/27,
x = 319/27 + √11/27 + 319/27 − √11/27 + 1/3 = 1.839286755…

式があまり整理されてないが、一応、謎の数の正体が分かった。ビエト風の方法でも、やってみよう。

N = −P = 4/9, R = q/2 = −19/27,
ɡ = R / (√N)3 = (−19/27) / (2/3)3 = −19/8 = −2.375,
A = 2√N = 4/3,
z = (4/3) cosh [arcosh (19/8) / 3],
x = (4/3) cosh [arcosh (19/8) / 3] + 1/3 = 1.839286755…

2021-01-14 変てこ38面体 「アルキメデスの立体」13種の一つ

怪人二十面相なるものがあるが、この子は三十八面体。「ねじれ立方体」などと呼ばれるもの。

PNG画像

立方体も弾けたい!

立方体の6面がそれぞれ独立して、向きを保ったまま、中心から離れるように少し動いたとする。分離して宙に浮かぶ6面(正方形)。どれもちょっとだけ、時計回りにひねる。…うまく加減すると「もともとの立方体で一つの辺だった2辺」を2個の正三角形で連結できる状態になるので、連結しよう。各正方形の4辺のどれからも、それを底辺とする正三角形が生え、全部ピッタリはまった!

以上で正方形6、正三角形24だが、これだと、まだ正三角形の穴が残っている。それは「どの正方形とも辺を共有してないが、3個の正方形の頂点を結ぶのに必要な正三角形」。

これらの穴にも正三角形をはめ込む。穴埋めで追加された正三角形は、「天井」の正方形の各頂点に接する4カ所、「床」の正方形の各頂点に接する4カ所。「側面」には穴がないので、これで38面体(正方形6、正三角形32)の出来上がり…。

この多面体のいろいろな値(例えば体積)には、なぜかトリボナッチ(トライボナッチ)定数 1.83928… が絡んでいる。アルキメデスの立体の中で、トップクラスの複雑さ…。頂点の数は、正方形6個の頂点の総数24に等しい。辺の数は、面から考えると 6 × 4 + 32 × 3 = 120 だが、どの接合部でも2辺が一つになっているので、実際にはその半分60。頂点の数も、面から考えると120だが、各頂点で5辺が接しているので、実際には5分の1の24。…双対多面体は、「三等辺・二等辺・四等角・左右対称の五角形」から成る24面体。正五角形は黄金比を含んでいるので、五角形から成る多面体に「黄金比の3次元版」が現れる…というのは、あり得る話に思える。

ところで「ねじれ立方体」には、鏡像関係の2バージョンがある。最初の画像は「左」バージョンらしい。

JPEG画像

Image credits: Snub cube (Left) = CC-BY-4.0 by Watchduck; Snub cubes (Left/Right) = CC-BY-3.0 by Frankee 67.

補足 前回は、カルダノ版をちゃんと最後まで簡約せず、数値が出せたところで放り出してしまった。

x = 319/27 + √11/27 + 319/27 − √11/27 + 1/3 = 1.839286755…

根号内の分母を全部なくし、全体を 1/3 でくくれる。実際、√11/27 = √(11 × 27)/(27 × 27) = √11 × 3 × 9 / √27 × 27 = 3√33 / 27 なので、上記1個目の立方根は 3(19 + 3√33) / 27 = 3(19 + 3√33) / 327 = 319 + 3√33 / 3 に等しい。2個目の立方根も同様。結局:

トリボナッチ定数
[319 + 3√33 + 319 − 3√33 + 1] / 3
= 1.839286755214… (一晩サンキュー、二晩無理な、ここにいよう)

三角関数で表すと [4 triscos (19/8) + 1] / 3
…ここで triscos θ = cos [(arccos θ)/3]

103/56 はシンプルで優秀な近似分数(誤差=約100万分の1)。この分数を得るには、実際に1万以下の範囲のトリボナッチ数列を書いてみて、最後の2項の比 5768/3136 を約分すればいい。(31461/17105 はさらに優秀だが、シンプルではないし、実際の数列からも生成できない。)

2021-01-19 複素関数 arccos の分かりにくさを何とかしたい

cos(コサイン)の一つの解釈は「与えられた角度 x について、一定の三角形の底辺の長さ z を調べること」。コンセプトは難しくない。入力 x は容易に実数全体に拡張され、さらにオイラーの公式を経由して複素数全体にまで拡張される。問題はその逆算。z が与えられたとして「cos に何を入れると z になるか?」

これも意味は分かりやすいが、文献・資料に不透明な記述が多い。一例として、これを書いている時点で、ウィキペディア英語版・フランス語版・日本語版がそれぞれ独自の主張をしている。

英語版の主張 acosE(z) = −i log (z + 1 − z2) <これは間違い>

フランス語版の主張 acosF(z) = −i log (z + z2 − 1)

日本語版の主張 acosJ(z) = −i log (z − i1 − z2)

日本語版は多価関数として正しいが、平方根の符号の選択に疑問があり、書きかけの注釈のようなものが付いている。フランス語版は多価関数として最も素直で、これを主値にしたいくらいだが、現実の事実標準はこの形ではなく、次のようになる。

事実標準 arccos(z) = −i log (z + i1 − z2)

なぜかというと、単に「その方が便利だから」。具体例で検証しながら、その意味を整理してみたい。

追記: 英語版の誤りは、このメモを書いた翌月(2021年2月)に訂正された。フランス語版は、よくよく見ると、上記の形ではなく、それに加えて平方根の前に余計な i が付いていて、結局間違っている。

【1】 オイラーの公式から z = cos x = (eix)/2 + (e−ix)/2 = (eix)/2 + 1/(2eix) と書ける。当たり前の変形のようだが、厳密に言うと、−1 が整数だから e−ix = (eix)−1 = 1/(eix) が成立する

eix を A とすると z = A/2 + 1/(2A)。両辺を 2A 倍すると 2Az = A2 + 1、つまり A2 − 2zA + 1 = 0。この2次方程式を解くと:

A = (2z ± 4z2 − 4) / 2 = z ± z2 − 1

A を eix に戻すと  eix = z ± z2 − 1

両辺の対数を取ると  ix = log (z ± z2 − 1)

両辺を −i 倍すると  x = −i log (z ± z2 − 1)

…ここまでは紛れの余地はない。

【2】 z = cos x の逆算は、2パターンあることが分かった:
x = f(z) = −i log (z + z2 − 1)
x = g(z) = −i log (z − z2 − 1)

f(z) は、前記フランス語版 の acosF(z) であり、根号について「プラス・マイナス2個の値を取る多価関数」と解釈すれば、数学的にはこれで問題解決。数値計算のため、便宜上、プラス版の f とマイナス版の g に分けておく。

簡単な具体例で確かめてみよう。cos 30° = cos (π/6) = √3 / 2 = 0.866… なので、直観的には逆関数に z = 0.866… を代入すると π/6 = 0.523… に戻ってほしい。z = √3 / 2 のとき z2 = 3/4, z2 − 1 = −1/4。その平方根の主値は i/2。従って:
f(√3 / 2) = −i log (√3 / 2 + i/2) = −i log [cos (π/6) + i sin (π/6)]

上記の log は「e を何乗すると cos (π/6) + i sin (π/6) になるか?」という値だが、オイラーの公式から eiπ/6 = cos (π/6) + i sin (π/6) なので、その一つの答えは iπ/6 = 0.523… × i。この値を使うと:
f(√3 / 2) = −i × iπ/6 = π/6

めでたく π/6 に戻ってくれた! 今使った複素数 iπ/6 は、対数関数の主値。話を簡単にするため、対数関数についてはとりあえず主値だけを考える。上記と同様に:
g(√3 / 2) = −i log (√3 / 2 − i/2) = −i log [cos (−π/6) + i sin (−π/6)] = −π/6

この値も cos に入れれば同じ √3 / 2 なるので、cos の逆算としては間違っていない。しかし正でも負でもいいのなら、普通は正を主値とする。実数の範囲の arccos の常識的な定義であり、異論はないだろう。

【3】 では f(z) を arccos の主値と定義とすれば、複素数の範囲でも、全て丸く収まるのか? 問題はそこなんだよねぇ…。具体例として cos i = 1.543… を考えてみる。この値は z = cosh 1 = (e + 1/e) / 2。直観的には、これを arccos に入れると i に戻ってほしい。z がこの値のとき、簡単な計算によると:
z2 − 1 = (sinh 1)2 = 1.381…
z2 − 1 = sinh 1 = (e − 1/e) / 2 = 1.175…
z + z2 − 1 = e
f(z) = −i log e = −i × 1 = −i

何たることか、i に戻ってくれない…。一方:
z − z2 − 1 = 1/e
g(z) = −i log (1/e) = −i × (−1) = i

こっちの枝なら i に戻ってくれる…。

【4】 f(z) を主値とすると、【3】で見たように arccos (cos i) = i にならない。だからといって g(z) を主値とすると、【2】で見たように実変数・実数値の場合、符号が直観と逆になり、ますます都合が悪い。主値というのは、もともと便宜上の取り決めで、(実数の範囲では常識的に決まっているとはいえ)数学的な必然性があるわけではない。主値ばかりにこだわると、arccos の全体像を見通せなくなり、数学的にむしろ有害ですらある。応用上も「与えられた z について、z = cos x を満たす x を一つ見つければ十分」という状況では、どの値を選ぼうが(主値が何であろうが)構わない。

とはいうものの、とりあえず主値を定義しないと、数値計算ができない。数学上は f(z) で主値を定義しても差し支えないのだが、そうすると上記のように arccos (cos i) = i にならず、感覚的な問題がある。そこで…

x = arccos(z) = −i log [z + (z2 − 1)1/2] ☆☆
= −i log {z + [(−1) × (1 − z2)]1/2} ☆
= −i log [z + (−1)1/2 × (1 − z2)1/2] ★
= −i log [z + i(1 − z2)1/2] ★★

☆☆は既に得ている f(z) だが、それを★★の形に書き換えてみる。数学的には☆☆のままでいいのに、なぜそれをわざわざ少し複雑な形に書き換えるのか?

【5】 まず形式的な面をチェックしよう。☆は (z2 − 1) を (−1) × (1 − z2) と書き直しただけ(複素数の範囲でも常に成立)。★は、多価バージョンの「2分の1乗」に限って成立する変形。主値バージョンの平方根では、必ずしも成り立たない。例えば、3 = 91/2 = [(−1)(−9)]1/2 と書くまでは問題ないが、それを = (−1)1/2 × (−9)1/2 = i × 3i = −3 とすれば矛盾。上記では「2分の1乗」(平方根)を多価関数と考えることで、この変形が許される。

理屈としては ★★の i の先頭にも±が付くはずだが、その複号は (1 − z2)1/2 の「2分の1乗」によって既に含意されている(これは多価バージョンなので)。

☆☆と★★は、多価関数としては同等なので、問題は主値の選択に関わっている。【2】【3】で見たように、主値バージョンを「感覚的に好ましく」するためには f の枝と g の枝を使い分ける必要があるが、実は★★の形にすると、この使い分けが「自動化」される。つまり、主値として☆から★の変形が成立するなら、★★は f(z) と等価、成立しないなら、★★は g(z) と等価。この切り分けが、都合よく「感覚的に好ましい使い分け」と一致してくれる。(さらにボーナス特典として、★★を使って主値を選ぶと、実数の範囲の基本公式 arcsin z + arccos z = π/2 が、複素数の範囲でも維持される。)

【6】 以上のように、☆☆を★★に変形することにはメリットがあるのだが、教科書ではその辺が説明されていないことが多い。多価関数としてはどちらでも同じなのだから「変形していけない」ということはないのだが、一見しただけでは「変形しなければならない」というモチベーションも感じられない。その点が不満足であり、不透明に感じられる。再び具体的な数値例で検証してみよう。

主値として☆から★に行けるか?というのは、要するに
z2 − 1 = i 1 − z2 (♪)
が成り立つか?という問題。z が実数で絶対値が1以下なら、これが成り立つのは明白。従って最初の例【2】の z = √3 / 2 = 0.866… について、★★は f(z) と同じであり、都合がいい。一方、z が実数で絶対値が1より大きいとき、(♪)の左辺は正、右辺は負になり、この等式は成り立たない(符号が逆になる)。よって【3】の z = 1.543… の場合、★★と f(z) は符号が逆。これは★★が g(z) と同じという意味であり、【3】で見たように、その方がむしろ都合がいい。

主値の選択は便宜的なもので「証明」できるようなことではないが、このように具体例を考えることで、★★の定義が好都合であることが実感されるだろう。

2021-01-21 arccos(その2)

問題 複素数 z が与えられたとき、z = cos x を満たす x を求める。

答え D = z2 − 1 と置いて、その平方根を δ とする。x = i log (z + δ)。

符号は逆でもいい。平方根の符号を逆にした i log (z − δ) が許されるのはもちろんだが、全体の符号を逆にしても構わない。つまり ±i log (z ± δ) の符号をどう組み合わせてもOK。「どの値を主値とするか」については、ここでは考えていない。主値と断らない log については、2πi の整数倍の違いを区別しないものとする。

【例1】 arccos 3 を求める。z = 3, D = z2 − 1 = 8, δ = √8 なので、
arccos 3 = i log (3 + √8) ≈ 1.76i
符号を逆にした −i log (3 + √8) ≈ −1.76i でも構わない。

【例2】 arccos 4 を求める。z = 4, D = z2 − 1 = 15, δ = √15 なので、
arccos 4 = i log (4 + √15) ≈ 2.06i
符号を逆にした −i log (4 + √15) ≈ −2.06i でも構わない。

多価関数として、log (z + δ) を log (z − δ) に置き換えることは、log (z + δ) を −log (z + δ) に置き換えることと同じ。なぜなら (z + δ) と (z − δ) の積は z2 − δ2 = z2 − D = z2 − (z2 − 1) = 1 なので、(z − δ) = (z + δ)−1 であり、
log (z − δ) = log [(z + δ)−1] = −log (z + δ)。このことから、log の中にある複号を考える代わりに、全体の値の±を考えてもいい。もともと cos x = cos (−x) なのだから、x が題意を満たせば −x も題意を満たすことは当然だろう。

ささいなことだが、上記の考察から D = z2 − 1 のペル方程式の解が (z, 1) であることも分かる。

注意 log (A−1) = −log A は正しい変形だが、主値バージョンについて Log (A−1) = −Log A が成り立つ保証はない。実際、z = −1 なら δ = 0 だが、Log (z − δ) = Log (−1) = πi−Log (z + δ) = −Log (−1) = −πi は、等しくない。その場合でも、最終的に得られる x = ±π は、どちらも cos x = −1 を満たす。

X = arccos (19/8) = i log (19/8 + 3√33/8) ≈ 1.51i を使うと、トリボナッチ定数を次のように書くことができる。cos の性質上、X の符号は反対でも構わない。
α = [4 cos (X/3) + 1] / 3 = 1.83928675514…
α は w3 − w2 − w − 1 = 0 の実数解であり、X を X ± 2π に置き換えることで、同じ3次方程式の残りの2解が得られる。
β, γ = −0.4196433776… ± i0.6062907292…
ビエト風の解法では、この場合、実数の範囲の (ar)cosh を使って α を求めることもできるが(その方が普通かもしれない)、複素数の範囲で考えれば (arc)cos のままでも、3解を統一的に書き表せる。結果は arccos の主値の定義に依存しない。

【例3】 arccos i を求める。z = i, D = z2 − 1 = −2, δ = i√2 なので、
arccos i = i log (i + i√2) = i log [i(1 + √2)]
= i[log i + log (1 + √2)] = i[πi/2 + log (1 + √2)]
= −π/2 + i log (1 + √2) ≈ −1.57 + 0.88i

符号を逆にした π/2 − i log (1 + √2) ≈ 1.57 − 0.88i でも構わない。途中で使った log i = πi/2 は、オイラーの公式に πi/2 を入れた exp (πi/2) = i の逆算に当たる。

補足 log (iA) = log i + log A は正しい変形だが、主値バージョンについて Log (iA) = Log i + Log A が成り立つ保証はない。−π/2 の代わりに 3π/2 を使っても構わない。1 + √2 の代わりに √2 − 1 を使っても構わない。

【例4】 同様に arccos (2i) = i log (2i + i√5) = i log [i(2 + √5)]
= −π/2 + i log (2 + √5) ≈ −1.57 + 1.44i

符号を逆にした π/2 − i log (2 + √5) ≈ 1.57 − 1.44i でも構わない。

【例5】 arccos (−2) を求める。z = −2, D = z2 − 1 = 3, δ = √3 なので、
arccos (−2) = i log (−2 + √3) = i log [(−1)(2 − √3)]
= i[log (−1) + log (2 − √3)] = i[πi + log (2 − √3)]
= π + i log (2 − √3) ≈ 3.14 − 1.31i

符号を逆にした −π − i log (2 − √3) ≈ −3.14 + 1.31i でも構わない。

補足 log (−A) = log (−1) + log A は正しい変形だが、主値バージョンについて Log (−A) = Log (−1) + Log A が成り立つ保証はない。

2021-01-23 arccos(その3)

多価関数 arccos を考えるなら、
arccos z = −i log (z + z2 − 1) 【あ】
という定義が自然。全体の符号は±どちらでもいいので、簡略化して、こう書いてもいい。
arccos z = i log (z + z2 − 1) 【い】

主値にこだわるなら、やはり次の定義が妥当(理由は下記)。
arccos z = −i log (z + i 1 − z2) 【う】

【う】を整理すると次の通り。R = 1 − z2 として、その平方根を ρ とすると:
arccos z = −i log (z + iρ) 【え】
arcsin z = −i log (iz + ρ) 【お】

arccos, arcsin のこの「対称性」が【う】の重要なメリット。【え】【お】により主値を定義すると:
Arccos z + Arcsin z = π/2 【か】
実数の場合に成り立つこの基本的関係を、複素数の場合に拡張できる。

【う】を使うと、−1 ≤ z ≤ 1 のとき arccos の主値は、実数の範囲の arccos の主値と一致する。【あ】でもそうなるのだが、【あ】の定義では z = cos i について Arccos z が i に戻ってくれない。【う】は感覚的に、この点も気持ちいい:

「純虚数 iy について、虚部 y が正なら【う】の主値は Arccos (cos iy) = iy を満たす」 【き】

逆に【あ】の方がいい点は、次の通り。主値にこだわらず arccos を多価関数として見る場合、オイラーの公式から自然に導かれるのは【あ】で、【う】を導くには
D = (√−1)(√−D) 【く】
という不自然な変形を行う必要がある。変形の結果も i が1個増えて、もともとの式より少し複雑になる。このような変形をするには「なぜするか」を明確にする必要があるのに、往々にして教科書ではその説明をせず、天下り的にこれを行っている。主値として見た場合、この変形が許されるのは、z が実数なら D ≤ 0 の場合、z が実数でないなら D が複素平面の第1・第2象限にある場合に限られ、多価関数であることを明示しないまま上記のような変形を行うのは不当。一般論として「このような(一見正しそうだが間違った)変形が許される」という誤解を広める原因にもなる。

結論 arccos の「分かりにくさ」には、以下のような問題が絡んでいて、その点を意識すると、状況がかなり透明になる。
1) 主値は便宜上の定義にすぎない。「これが絶対」と押し付けるようなものではない。
2) 多価関数である arccos を多価関数のまま扱うことは大切。いきなり branch cuts の議論をするのは良くない。
3) 【う】で主値を定義する理由について、説明が必要。【え】【お】の対称性、【か】【き】の関係は、重要なモチベーションになるだろうが、それらは定理ではない(そうなるように主値の定義を選択している)。
4) 多価バージョンでないと正しくない【く】を使って主値バージョンを導くなら、それなりの注釈が必要だろう。

2021-04-02 arccos(その4)

MathWorld は arccos を次のように定義している:
  arccos z = π/2 + i log (zi + 1 − z2)  … ①

arcsin z = −i log (zi + 1 − z2) なので、①は、露骨に
  arccos z = π/2 − arcsin z
としたもの。この場合、arccos z + arcsin z = π/2 は、定理というより定義。けれど、①は、通常の定義
  arccos z = −i log (z + i 1 − z2)  … ②
と同じ意味を持つ。

以下①と②が同値であることを示す。これによって、②を arccos の定義にした場合(そして arcsin を上記のように定義した場合)、arccos z + arcsin z = π/2 が定理として成り立つ。

【証明】 log i = (π/2)i に留意すると、π/2 = −i log i なので:
  ①の右辺 = −i [log i − log (zi + 1 − z2)]
ここで雑に考えると…
  = −i log [i / (zi + 1 − z2)]  … ③
…となるのだが、複素数の範囲で log a − log b = log (a/b) が成り立つ保証はないので、この変形が許されるかどうか慎重に検討する必要がある。それを後回しにして、先に計算を済ませておく。分母に多項式の平方根があるのはうざいので、こいつを消すため、③の [] 内の分子・分母に (zi − 1 − z2) を掛けよう:
  新しい分子 = i (zi − 1 − z2) = −z − i 1 − z2
  新しい分母 = (zi + 1 − z2)(zi − 1 − z2) = −z2 − (1 − z2) = −1
  新しい分数 = 新しい分子 / 新しい分母 = z + i 1 − z2
分数をぶっ殺してやったぜ。タピオカパン! というわけで:
  ③ = −i log (z + i 1 − z2)

これは②の右辺なので、①と②は同じ意味であることが分かり、証明完了……と言いたいところだが、後回しにした細部があった。例えば log (−i) − log i = −πi と log (−i/i) = log (−1) = πi は一致しないので、一般には log a − log b =? log (a/b) は不成立であり、上記のような雑な計算は許されない。log a − log b = log (a/b) が成り立つ必要十分条件は、
  Arg a − Arg b が (−π, π] の範囲をはみ出さないこと。
③で Arg a に当たるものは Arg i = π/2 なので、
  b = zi + 1 − z2
…の偏角が −π/2 未満にならないこと――要するに b が第3象限の点ではないこと――を示せば、③が正当化され、証明が完了する。

さて、どうしましょう…。(続く)

2021-04-03 arccos(その5)

前回、2種類の定義が同等であることを確かめようとして、
  arccos z = −i log (z + i 1 − z2)
  = −i log [i / (zi + 1 − z2)] =? −i [log i − log (zi + 1 − z2)]
  = π/2 + i log (zi + 1 − z2)
という変形を行った。このうち1個目の等号は定義、2個目・4個目の等号は普通の単純計算だが、3個目の等号(疑問符付き)には、
  −π < Arg a − Arg b ≤ π  ⇔  log a − log b = log (a/b)
という形の条件が付く。ここで a = i, Arg a = π/2。だから b = zi + 1 − z2 の偏角が −π/2 未満にならないことを示せば、上の等式が任意の複素数 z に対して成り立つことになる。

まず z = 0 のとき b = 1。その偏角は −π/2 未満ではない。以下、z ≠ 0 の場合を考える。

もし仮に b の偏角が −π/2 未満になるとすれば、どこかで Arg b = −π/2 になる(枝切りの部分を除けば、b は z の連続関数だから)。そのような偏角を持つ b は「虚部が負の純虚数」だから、何らかの負の実数 q に対して、次が成り立つ:
  b = zi + 1 − z2 = qi
  1 − z2 = qi − zi
  両辺を2乗して 1 − z2 = −q2 + 2qz − z2
  z について解くと z = (q2 + 1) / (2q)

q は負の実数なので、このとき z も負の実数。けれど z が (−1, 0) の範囲の実数のとき、zi + 1 − z2 は純虚数にならない。それを除外すると、z が −1 以下の実数なら(そして、そのときに限って)、b は、虚部が負の純虚数

<例> z = −2 のとき b = zi + 1 − z2 = −2i + √(−3) = (−2 + √3)i = (−0.2679…)i。これは、虚部が負の純虚数。このとき q = −2 + √3 = −0.2679… は負の実数で、次の関係を満たす:
  z = (q2 + 1) / (2q) = (4 − 4√3 + 3 + 1) / (−4 + 2√3) = (8 − 4√3) / (2√3 − 4) = −2

つまり z の偏角が π で絶対値が 1 以上のとき、Arg b = −π/2。けれど Arg z は π より大きくなれないし、Arg z が ±π 近傍のとき Arg b がさらに小さくなることもない。だから b の偏角は、−π/2 と等しくなることはあるが、それ未満にはならない。これが示したいことだった。 □

あまり切れ味のいい証明ではなく、すっきりした気分になれないが、本質的にはこれで良さそう…。もう少し感覚的に言うと、zi と 1 − z2 は、絶対値がほぼ同じ。1 − z2 = −z2 + 1 は、平方根の主値なので、常に第1・第4象限(原点・正の実数軸・正の虚数軸を含む)にある。実部が 0 でない限り、必ず正の実部を持ち、「プラス1」がある分、その実部は Re zi より、絶対値において大きい。だから zi がどう頑張って第3象限方面から引っ張っても、zi の実部は引っ張り合いに勝てず、両者の和 b は複素平面の右半分に入る。例外として、1 − z2 の実部が 0 になることがあるが、その場合、z は(絶対値 1 以上の)実数であり、そのとき zi も実部がゼロなので、和 b は虚数軸の上にとどまり、やはり第3象限の内部に入り込むことはない。

2021-03-21 cot の逆関数 びっくり!! 君の教科書もまっ赤なうそ!

題名は古いネタのくだらないジョークだが、コタンジェントの逆関数 y = arccot x について(その意味は後述)…

大きく分けて2種類の定義があるが、そのこと自体、必ずしもよく知られていない(世間では「数学とは確定的なもの・教科書は常に正しい」と信じられている)。2種類の定義があることを知っている人でも、それを単に主値選択の問題と捉えている場合が多いのではないか。

第1の定義 三角関数の入門書を見ると、かなりの高確率で、arccot(別名 cot−1)は、こんな感じで定義されている。

PNG画像

これ自体は間違いではない。「そう定義した」だけ。問題は、これが「標準的な定義」だと述べること(それはうそ)。これが絶対であるかのように、他の可能性に触れないこと(不親切)。さらにひどいのは、同じページで、これと矛盾する複素関数 arccot を定義すること(問題外)。

規範的な文献(Abramowitz and Stegun など)、よく知られている数学ソフト(Wolfram、Mathematica、Matlab など)は、概して上記の定義を採用していない。第1の定義が駄目というわけではないが、絶対視は禁物。

第2の定義 実数の範囲での arccot については、次のように主値を選択することも考えられる。

PNG画像

わざわざ不連続に定義するのは直観に反するようだが、tan や cot はもともと不連続なのだから、逆関数が不連続だとしても、別におかしくない。

説明 arccot(アーク・コタンジェント)は、cot の逆算に当たる。ここで cot θ = 1 / tan θ。

例えば tan (π/3) = √3 だから、cot (π/3) = 1 / tan (π/3) = 1/√3 = 0.577… となり、その逆算を単純に考えれば arccot (1/√3) = π/3。実際、第1・第2どちらの定義のグラフでも、横座標 0.5 辺りを見れば、縦座標は 0.25π より少し上…0.3π くらいになっていることを確かめられる。けれど tan θ は(従ってその逆数の cot θ も)周期 π で同じ値を取るのだから、θ = −2π/3, π/3, 4π/3, 7π/3 など、無限個の θ に対して cot θ = 1/√3 となり、arccot (1/√3) は無限個の値を取り得る。数学的には
  集合 S = {…, −5π/3, −2π/3, π/3, 4π/3, 7π/3, …}
  cot (1/√3) = S
のように、arccot は「入力が実数、出力が集合」の関数。

数値計算の便宜上(それは純粋数学というより実用上の観点だが)、集合の無限個の要素の中から、一つの要素(1個の実数)を選び、それを関数の出力値として扱う(主値)。第1の定義では 0 と π の間から主値を選び、第2の定義では −π/2 と π/2 の間から主値を選んでいる。入力が正の場合、どちらでも結果は同じだが、入力が負の場合、定義によって結果が異なる。例えば cot (2π/3) = cot (−π/3) = −1/√3 なので、第1の定義では arccot (−1/√3) = 2π/3 だが、第2の定義では arccot (−1/√3) = −π/3 となる。

観察 arccot 単体を考えると、どちらの定義が良いとも言い難い。むしろ結果が連続関数になる第1の定義の方が、便利そうに思える。しかし他の関数との相互関係を考えた場合、第2の定義によると…
  x ≠ 0 なら arccot x = arctan (1/x)
  特に gd x = arccot (csch x) = arctan (sinh x)
…といった美しい対称性が現れる(第1の定義ではそうならない)。この他、arcoth との関係も問題になるだろう。

主値は便宜上の選択であり、正しい・正しくないという問題ではないが、だからこそ、一つの定義だけを絶対視することは間違いの元。gd−1 x = arcsch (cot x) なのに、arccot (csch x) = gd x にならないとすれば、何かがおかしい。原因を追究すると arccot の定義に行き当たる。arccot の第2定義を使い、必要に応じて符号を定めれば、グーデル・逆グーデル12パターンの定義は全て有効。arccot の第1定義を使うと、12パターンのうち1パターンだけが修復不能に乱れる。「6重の対称性のうち1個だけが破れる」というのは、第1定義の欠陥を強く示唆する。

主値についての混乱・不統一は、arccot のようなレアな関数に限らず、arccos のような基本的な関数でも起こり得る。けれど arccot の場合、実数の範囲で不統一が表面化するため、潜在的に大混乱の原因となる。

2021-03-26 arccot 第2定義の4種のバリエーション

cot の逆関数の主値について、大きく分けた2種類の定義の存在は、実数の範囲でも違いが現れるため、しばしば混乱の原因となってきた(ウィキペディア「反余切」は図解を交え、この問題を強調している)。第1定義は主値を (0, π) とするもの。入力が 0 の場合が連続的になるので、実数の範囲では好まれる。第2定義は主値を (−π/2, π/2] とするもの。逆双曲線関数との整合性などの理由により、複素数の範囲ではこちらが好まれる。

定義の問題であり、どれか一つが排他的に正しいわけではない。

第2定義には、4通りのバリエーションが考えられる。違いは、z が純虚数で虚部が (−1, 1) の範囲にあるとき、arccot z の実部 r に現れる。次のグラフはその一例。z の虚部が (−1, 0] のとき r = π/2 として、z の虚部が (0, 1) のとき r = −π/2 としている。

PNG画像

arccot 0 = π/2 とする理由は、恣意的。arccot 0 = −π/2 としても構わない(±π/2 のどちらかを選ぶように迫られたら慣習的にはプラスだろうけど、その選択に論理的な理由はない)。arccot 0 をどちらの枝にくっつけるか?という曖昧さは、実数の範囲の arccot の第2定義でも明白。

さらに虚部が (−1, 1) の純虚数全てについて、r = π/2 とする定義もある。そうするメリットは、z = 0 で図の青線が分断されなないことだが、それを実現する代償は大きい。まず無限個の点で
  arccot (−z) = −arccot z
が破れる。さらに arctan の主値を「普通」に定義した場合、無限個の点で
  arccot z = arctan (1/z)
も破れる。そもそも z = 0 で「不連続」にならないといっても、純虚数区間 (−i, i) 全体に(そこには 0 = 0i も含まれる)もともとスリットがあるのだから(第2定義による限り、実数の範囲でも z = 0 は不連続なのだから)、虚数軸に沿っての「連続性」は、あんまり意味がない。

虚部が (−1, 1) の全範囲で r = π/2 とするオプションが許されるなら(定義の問題なので、許されるのだが)、同じ全範囲で r = −π/2 とするオプションも許される。z = 0 の「不連続性」を取り除くのが望みなら、どちらでも構わないわけで、どちらを選ぶにせよ、無限個の点で恣意的な選択をすることになる。

式で書くと、次の通り。

バリエーション1と2は、z = 0 のときの値だけが恣意的で、その1点以外では arccot (−z) = −arccot z などが常に成り立つ(ほとんど奇関数)。とはいえ、恣意的な部分があることに変わりない。多価関数から主値を選ぶという行為は、もともと恣意的なもの。

arccot をサポートしたツールを持っている方は、まず arccot (−1) を試してみよう。3π/4 が返れば第1定義、−π/4 が返れば第2定義。

後者の場合、複素数がサポートされているなら arccot (−i/2) と arccot (i/2) を試してみよう。実部の符号がどちらもプラス、ないしどちらもマイナスになるなら、それぞれ、バリエーション3ないし4。実部の符号が、それぞれプラスとマイナスになるなら、バリエーション1または2(arctan との関係による縛りがあるため、符号がマイナスとプラスという選択肢はない)。バリエーション2は現実的に考えにくいが、arccot 0 を試せば確認できる。

2021-03-27 arccot 第2定義の4種のバリエーション(続き)

バリエーション1の場合:
z = −3i なら 1/z = i/3 で arccot (−3i) = arctan (i/3) = (i/2) log 2
z = −i/3 なら 1/z = 3i で arccot (−i/3) = arctan (3i) = π/2 + (i/2) log 2
z = i/3 なら 1/z = −3i で arccot (i/3) = arctan (−3i) = −π/2 − (i/2) log 2
z = 3i なら 1/z = −i/3 で arccot (3i) = arctan (−i/3) = −(i/2) log 2

log 2 = 0.693… の半分なので、虚部の絶対値はざっと 0.35。グラフで確認できる。バリエーション3または4の定義を使うと、2個目・3個目のどちらかで実部の符号が変わり、arctan との関係が成り立たなくなる。

同様に、バリエーション1の場合:
z = −2i なら 1/z = i/2 で arccot (−2i) = arctan (i/2) = (i/2) log 3
z = −i/2 なら 1/z = 2i で arccot (−i/2) = arctan (2i) = π/2 + (i/2) log 3
z = i/2 なら 1/z = −2i で arccot (i/2) = arctan (−2i) = −π/2 − (i/2) log 3
z = 2i なら 1/z = −i/2 で arccot (2i) = arctan (−i/2) = −(i/2) log 3

log 3 は約 1.1 なので、虚部の絶対値はざっと 0.55。これもグラフで確認できる。

ここで arctan z = [Log (1+zi) − Log (1−zi)] / (2i)
= −(i/2) [Log (1+zi) − Log (1−zi)]
= (i/2) [Log (1−zi) − Log (1+zi)]。最後の式に例えば z = i/3 を入れると zi = −1/3 なので:
  (i/2) [Log (1+1/3) − Log (1−1/3)] = (i/2) Log [(4/3) / (2/3)] = (i/2) Log 2

これと違う方法で arctan の主値を定めている資料もあるが、arctan については、上記の方法が普通だろう。一方、arccot については、どの定義が普通なのか、見解が統一されていない。

2021-03-23 arctan 大混乱

arctan, arccot の主値の選び方には、微妙な揺れがある。arccot の値域が −π/2..π/2 か 0..π かというのは、実数の範囲ではっきり目に見えることだが、その他にも少しだけ違う定義が存在している。

身近な資料でいえば、ウィキペディアのドイツ語・英語版の arctan の定義と、日本語・フランス語版の arctan の定義は、互換性がない。違いのハイライトとして、前者では arctan はもはや奇関数ではなく、z = 2i のとき arctan(−z) = −arctan(z) が不成立。後者では、これが成立する。

2021-03-30 目で見る複素関数cosh cosより考えやすいかも?

複素数を入れると複素数が出る「複素関数」。入力も出力も2次元(複素平面)なので、グラフが4次元になってしまい、なかなかイメージしにくいのだが…。画像は File:Complex Cosh.jpg の一部を取り出し加工したもの。

1 と −1 の間を振動する縦線が虚数軸 y、R の赤線が実数軸 x、平面全体で複素数 z = x + yi の入力を表す。その点に対応する場所の色合いが出力の偏角(赤が正の実数、水色が負の実数)、色の明度が出力の絶対値。出力の絶対値が大きくなると白に近づき、出力の絶対値が小さくなると暗くなる(出力が 0 だと真っ黒)。ちなみに出力の偏角について、大ざっぱに黄色は第1象限、黄緑は第2象限、青は第3象限、ピンク(マゼンタ)は第4象限だが、とりあえず「色分けによって出力のだいたいの位置を表している」と。

一応、ウィキペディアに「定義域の着色」という簡単な説明がある。カラーリングで区別されているのは出力(つまり値域)についての、複素平面上の領域。色の種類・明るさは、値域の範囲を表している。

JPEG画像

cosh z = ½(ez + e−z) なので cosh z = cosh (−z)。入力の平面の左半分(第2・第3象限)は、入力の右半分と全体として同じパターン(原点に対して180°反対側と同じ色)に。…原点はRの赤線の「1」の右側にある。

従って、この関数の逆関数 arcosh を作りたい場合(=全種類の出力が…つまり全部の色が…ちょうど1回ずつ現れるように、入力範囲を制限したい場合)、入力の第2・第3象限は無視して構わない。平方根・立方根でもそうだが、符号がどっちでもいいなら、主値を実部ゼロ以上から選んでおこう、という発想。

入力の虚部については「R以上でTより下の範囲」「Qより上でS以下の範囲」の二択でしょう(どっちでも赤~水色~赤の全部の色が1回ずつ出現)。前者の方が第1象限だけに絞れて良さそうだが、この場合、実軸 R にはさみを入れるのは良くない。それをやると、①「w がピンク方面から上昇して R の 2 や 3 に近づいた場合」と②「黄色方面から下降して R の 2 や 3 に近づいた場合」で違いが生じ、w が正の実数軸を連続的に横切れない(この定義の①の場合、主値は T のすぐ下なので)。

それをやめて、代わりに S と Q で切れば、w が −1 以下の実数のとき同じ問題が起きる。でも、そっちの方がいい。なぜなら w が 1 以上の実数のとき、f(w) = arcosh w は入出力とも実数。実関数バージョンで連続な場所は引き続き連続になるように、複素数の範囲に拡張したい。端っこの w = 1 だけは仕方ないが…

問題は、−1 ≤ w ≤ 1 の範囲をどうするか? この範囲の連続性は、虚軸でちょん切っているので、どっちにしても救いようがないのだが、主値をどこにするか…。虚軸のRS間でも、虚軸のRQ間でも、その範囲から、w = cosh z となる z を選べる。まぁ「純虚数で、虚部が正負どちらでもいい」なら、とりあえず虚部が 0 以上の側を選んでおくのが普通でしょう。

これで、任意の複素数 w に対して z = arcosh w を満たす z が一つに定まった(=任意の色が与えられた場合、その色に対応する座標を「S・虚軸・Qで区切られた領域」から選べばいい)。理屈は簡単だが、この通りにちゃんと実装することは、意外と難しい。C++ の std::acosh
arcosh (0.5) = −1.047…
を吐かせるコンパイラは大々的に実在したし、今でもあるかもしれない。上述のように、虚軸のRS間(虚部が正)の範囲から主値を選ぶなら
arcosh (0.5) = 1.047…
でなければいけない(注意: これは主値の選び方をどう約束するかという問題。数学的にどちらが正しいかという問題ではない)。…標準準拠が命の std:: にこうした問題がある現実を思えば、書き手の個性が入りやすい教科書やウィキペディアの記事に微妙な不整合があっても、驚くには当たらないだろう。

2021-03-31 z²−1 = √z+1z−1 でない √1−z² = √1+z1−z なのに…

論より証拠、z = −2 のとき:
  z2 − 1 = 3
  z + 1z − 1 = −1−3 = i (i3) = −3

z = cosh w = ½(ew + e−w) を逆算すると w = arcosh z = log (z ± z2 − 1)。

実数の範囲では、複号でプラスを選べばいいが、複素数の範囲では、その決め打ちでは不都合が生じる(「主値の実部は負にならない」という前回の選択を維持できない)。log の入力の絶対値が 1 未満だと、出力の実部が負になってしまうから。例えば z = −2 のとき:
  log (z + z2 − 1) = log (−2 + 3) = log (−0.2679…) = −1.3169… + πi

これを回避するためには、log の入力の絶対値が 1 以上になるように、複号のプラス・マイナスを選択すればいい。面白いことに、
  arcosh z = log (z ± z2 − 1)
…の代わりに
  arcosh z = log (z + z + 1z − 1)  【⁑】
と書くと、複号の選択が自動化される。大ざっぱなイメージとして、z が第2・第3象限にあるとき、平方根の主値の関係で z2 は、もともとの z の場所に戻ってこられない。
  z2 − 1
…は、根号内にマイナス1があるがだいたい同じ。z が第2・第3象限にあるとき、もともとの z とほぼ正反対のベクトルになる。ほぼ正反対のベクトル同士を足し合わせれば、打ち消し合って、和は 0 近く…。「log の入力の絶対値が 1 未満」という上述の状態に。そういう場合には、平方根の主値(第1・第4象限)ではなく、符号を逆転させた非主値を選べばいい。2次式の平方根を「因数分解」した妙な形【⁑】は、この処理に対応する。

2021-04-04 目で見る複素三角関数cos 赤いリボンもキリリッと

中央の横線(赤と水色)が実数軸(x軸)。縦のC列(赤)が虚数軸(y軸)。白い数値は、座標の「目盛り」ではなく、その場所 x + yi における cos (x + yi) の値。色の種類は、値の偏角を表す。

JPEG画像

中央の横線は −1 と 1 の間を振動するおなじみ cos x。

C列は yi の形の複素数(純虚数)の入力を表し、cos (1.32i) ≈ 2、 cos (1.76i) ≈ 3 など。図には書いてないが cos i ≈ 1.54。

E列は π + yi の形の複素数の入力を表し、cos (π + 1.32i) ≈ −2 など。A列は −π + yi 型の入力。結果はE列と同じ。周期関数なので 2π 周期で同じパターンの繰り返し…

任意の複素数 z に対して cos z = cos (−z) なので、cos (1.32i) も cos (−1.32) 同じ値…約 2。

同じ理由から cos (π + 1.32i) も cos (−π − 1.32i) も同じ値…約 −2。さらに cos (π − 1.32i) も、同じ値:
  cos (π − 1.32i) = cos π cos (−1.32i) + sin π sin (−1.32i)
  = (−1) cos (−1.32i) + (0) sin (−1.32i) = −cos (−1.32i) ≈ −2

その 1.32 って数は何? cos (yi) = 2 のとき、オイラーの公式から:
  yi = log (2 ± 22 − 1) = log (2 ± 3) = ±1.316957…

2 + √3 の対数と判明(四捨五入して小数2桁にしたもの)!

このケースでは、2 − √3 = (2 + √3)−1 なので log (2 − √3) = (−1) log (2 + √3) となり、log (a ± b) = ±c の形に。一般には、log (a + b) = c だからといって log (a − b) = −c にはならない。

同様に 1.76 は log (3 + √8) の近似値。

D列は π/2 + yi の形の入力を表す。cos (π/2 + 0.88i) ≈ −i, cos (π/2 + 1.44i) ≈ −2i, cos (π/2 − 0.88i) ≈ i, cos (π/2 − 1.44i) ≈ 2i など。コサインの値が虚数になることもあるんだね…さすがは複素関数。っていうか、全種類の色が出てるってことは、cos z は、適切な z を選択すれば、任意の複素数値を取るということ。上記と同様の計算から、0.88 や 1.44 という数は、それぞれ log (1 + √2) と log (2 + √5) に関係している。

z の範囲をC列(虚数軸)とE列の間だけに制限しても、cos z は任意の複素数値を取ることができる(その範囲だけでも、全種類の色が出現)。けれど、それだけでは、まだ1対1写像にはならない。例えば cos (1.32i) も cos (−1.32i) も約2。cos z = 2 を満たす z が複数存在している。1対1にするためには、C列については虚部0以上、E列については(対称性から)虚部0以下に制限する方法がある。

2021-04-06 1−z² = √1+z1−z はOK、√z²−1 = √z+1z−1 は駄目

何だか紛らわしいなぁ…

表面的事実だけ見ると、確かに…。考えようによっては、好奇心を刺激する面白い事実。

当たり前だが、複素数と実数は別の世界。実数の世界の指数法則が、全て自動的に、複素数の範囲で成り立つわけではない。
  (ab)c =? (ac)(bc)  【ア】
…は実数の範囲では正しいが、複素数の範囲では一般には不成立。c = ½ とすると…
  ab =? a b  【イ】
…は(成り立つこともあるが)一般には成り立たない

ということは?

a = z + 1, b = z − 1 とすると、次の形になるが、上記の原則の通り、これは一般には成り立たない。
  z2 − 1 =? z + 1 z − 1  【ウ】

その訳は?

結論から言うと、a の偏角と b の偏角の和が π を超えたり −π 以下になったりすると、等式【ア】は破綻し、その一例として【イ】や【ウ】も破綻する。【ウ】において例えば z = −3 とすると、a = z + 1 = −2, b = z − 1 = −4 は、どちらも偏角 π なので、偏角の和は 2π。制限値をオーバーしまくり。実際その場合、【ウ】の左辺は √8、右辺は √−8 で等しくない。

じゃあ何で、a = 1 + z, b = 1 − z とした次の形なら、常に成り立つの?
むしろ例外的なのは、こっち。
  1 − z2 = 1 + z 1 − z  【エ】

【エ】の場合も、もちろん同じ原則に従うので、a の偏角と b の偏角の和が π を超えたり −π 以下になったりすれば、等式は破綻する…のだが、【エ】の場合、それが起きない。なぜ? まず a = 1 + z と b = 1 − z は、もし z が実数なら、どちらも実数で、両方とも正か、または一方が正・他方が 0 以下。両方とも正なら、偏角の和は 0 なので余裕で制限値以内、一方が負・他方が正でも偏角の和は π なのでぎりぎり制限値以内、一方が 0 なら z = ±1 で【エ】の両辺は 0。いずれにしても、等号が成り立つ。

では z = x + yi が実数でなければ、どうなるか(x と y は実数)。その場合、a の虚部は y で、b の虚部は −y なので、a と b は、複素平面上で、実数軸を挟んで反対側にある。言い換えると、一方の偏角は正、他方の偏角は負。より正確に言うと、一方の偏角は (0, π) の範囲、他方の偏角は (0, −π) の範囲。この範囲から、どのように偏角を選んだとしても、偏角の和は π を超えないし −π 以下になることもない。

以上の理由から、【エ】では「偏角の和の制限値オーバー」が発生しない!

仕組みが分かってしまえば、別に大したことじゃ…。けど「偏角の和が π を超えず −π 以下にもならないならOK」という制限の意味が、まだクリアーになってない。この制限は、複素対数関数に関係している。複素数の平方根(つまり複素数の ½ 乗)とは何なのか、そして主値はどういうものなのか、それを考えないとすっきり見通せない。

見掛けより複雑だが、(特定の式【エ】に限らず)非常に一般的な【ア】、ひいては複素数の複素数乗や、いろいろな複素関数を理解するための足掛かりとなり得る。

***

2021-01-28 双曲線の計算地獄…と天国

ほんのちょっとの道筋の違いで、とんでもなく汚い計算になったり、それが簡潔な計算になったりする例。

xy-平面上で、原点を中心として、x軸上に焦点 F1, F2 を持つ双曲線を考える。F1 の座標 を (c, 0) とし、F2 の座標を (−c, 0) とする(c > 0)。

PNG画像

双曲線の一つの定義は、「F1 からの距離と F2 からの距離の差が定数であるような点 P の集まり」。ただし「距離の差」とは、2種類の距離のうち、大きい方から小さい方を引いた値。P の座標を (x, y) とすると:
距離 |F1P| = (x − c)2 + y2
距離 |F2P| = (x − (−c))2 + y2 = (x + c)2 + y2
…従って、満たすべき条件は
|F2P| − |F1P| = 絶対値が定数 【ア】

この双曲線とx軸の正の部分の交点を Q (a, 0) とすると、上記の式から、定数 = 2a となる(作図から、直接 |F2Q| = c + a から |F1Q| = c − a を引き算した方が早いが)。

a < c, a − c < 0 に留意すると:
|F1Q| = (a − c)2 + 02 = (a − c)2 = 「平方すると (a − c)2 になる 0 以上の数」 = c − a

従って【ア】の条件は:
|(x + c)2 + y2 − (x − c)2 + y2| = 2a 【イ】

【イ】は、見慣れた双曲線の式
x2/a2 − y2/b2 = 1 【ウ】
と等価のはずだが、素朴にやると、その証明は次のように泥くさい。説明を簡単にするため【イ】の2個の根号の中身をそれぞれ u, v と書く:
u = (x + c)2 + y2
v = (x − c)2 + y2
【イ】の |√u − √v| = 2a の根号を外すには…
両辺(いずれも正)を平方して u − 2√uv + v = 4a2
根号だけを分離するように移項 −2√uv = 4a2 − u − v
再び両辺(いずれも負)を平方して 4uv = (4a2 − u − v)2 【エ】

<強引な計算例>

結果からすると以下は「悪い例」だが、間違いではない。【エ】の左辺は:
4uv = 4[(x + c)2 + y2][(x − c)2 + y2]
= 4[(x + c)2(x − c)2 + (x + c)2y2 + (x − c)2y2 + y4]
= 4[(x2 − c2)2 + 2x2y2 + 2c2y2 + y4]

その4分の1(つまり角かっこ内)は:
x4 − 2c2x2 + c4 + 2x2y2 + 2c2y2 + y4 【オ】

一方、【エ】の右辺は:
{4a2 − [(x + c)2 + y2] − [(x − c)2 + y2]}2 = (4a2 − 2x2 − 2c2 − 2y2)2

その4分の1は:
(2a2 − x2 − c2 − y2)2
= 4a4 + x4 + c4 + y4 − 4a2x2 − 4a2c2 − 4a2y2 + 2c2x2 + 2x2y2 + 2c2y2 【カ】

補足 【カ】の展開では、次の性質を利用した:
(A + B + C + D)2 = (A + B + C + D)(A + B + C + D)
= AA + AB + AC + AD + BA + BB + BC + BD
+ CA + CB + CC + CD + DA + DB + DC + DD
= A2 + B2 + C2 + D2 + 2AB + 2AC + 2AD + 2BC + 2BD + 2CD

【オ】と【カ】は、どちらも【エ】の4分の1で、値が等しい。見比べると、【オ】の5項のうち第2項 −2c2x2 以外は、全く同じ項が【カ】の10項の中に含まれている。それらを相殺すると、【オ】=【カ】という等式はこうなる:
−2c2x2 = 4a4 − 4a2x2 − 4a2c2 − 4a2y2 + 2c2x2
x, y を含む項を左辺にまとめて −4c2x2 + 4a2x2 + 4a2y2 = 4a4 − 4a2c2
−4で割って c2x2 − a2x2 − a2y2 = −a4 + a2c2
整理して x2(c2 − a2) − a2y2 = a2(c2 − a2) 【キ】

c2 − a2 の正の平方根を b と定義すると(その幾何学的意味は上記画像参照)、【キ】は:
x2(b2) − a2y2 = a2(b2)
両辺を a2b2 で割ると x2/a2 − y2/b2 = 1

焦点からの距離を用いた定義は、双曲線の標準形【ウ】と同じであることが示された。

…論理的にはこれでいいのだが、いくら答えが合っていても、途中計算が無理やり過ぎる。こんな苦行のようなことをせず、もうちょっと優雅に、自然に、【イ】を【ウ】にできないものだろうか?

<別ルートから再挑戦>

b2 = c2 − a2 のとき、次の2式が同義であること。
|(x + c)2 + y2 − (x − c)2 + y2| = 2a
x2/a2 − y2/b2 = 1

前半では、力ずくでこれを証明したが、計算地獄になってしまった。
4uv = (4a2 − u − v)2 【エ】
において、直接 u, v を
u = (x + c)2 + y2 【サ】
v = (x − c)2 + y2 【シ】
に戻したのが、いけなかったようだ。

別ルートを試してみよう。u, v のままで【エ】を展開・整理すると:
4uv = 16a4 + u2 + v2 − 8a2u − 8a2v + 2uv
16a4 + u2 + v2 − 8a2u − 8a2v − 2uv = 0
16a4 + (u − v)2 − 8a2(u + v) = 0 【ス】

【サ】【シ】から u − v = 4cx, u + v = 2(x2 + y2 + c2) なので、【ス】は:
16a4 + 16c2x2 − 16a2(x2 + y2 + c2) = 0
a4 + c2x2 − a2x2 − a2y2 − a2c2 = 0 【セ】

【セ】は、前半で苦労して求めた次の式【キ】と同じこと。
x2(c2 − a2) − a2y2 = a2(c2 − a2)

あっさりと、同じ結論が得られた!

教訓 汚い計算は好ましくない。でも、きれいにできるかどうかは、やってみなければ分からない。突破可能な程度の計算地獄は、とりあえず強行突破して、振り返って考えると、もっと良い道が見つかるかもしれない。

最初のやり方では【エ】右辺の3項式2乗の展開を避け、展開を先延ばしにした。3項式2乗の直接計算が必要になる場面はめったになく、2乗する前に3項式の側を整理すれば簡単になるだろう…という無意識の期待があったのかもしれない。ところが、その方向に進むと4項式2乗が生じ、簡単になるどころか、ややこしくなってしまった…。考えを改め、3項式2乗を展開してみたら、楽に【ス】【セ】の方向に進めた。

2021-04-07 双曲線の計算地獄…と天国(その2)

1. b2 = c2 − a2 のとき、
  双曲線の定義 | (x + c)2 + y2 − (x − c)2 + y2 | = 2a  【ソ】
を標準形の表現 x2/a2 − y2/b2 = 1 に変形すること。

以前、素直にやったら計算地獄になり、「3項式の2乗」経由の奇手でリベンジした。以下の方法を使うと、普通の計算だけで済む。

【ソ】を次のように書き換える:
  (x + c)2 + y2 − (x − c)2 + y2 = ±2a
  (x + c)2 + y2 = (x − c)2 + y2 ± 2a  【タ】
両辺を2乗して:
  (x + c)2 + y2 = (x − c)2 + y2 ±4a(x − c)2 + y2 + 4a2  【チ】
  4cx − 4a2 = ±4a(x − c)2 + y2
  cx − a2 = ±a(x − c)2 + y2  【ツ】
再び両辺を2乗して:
  c2x2 − 2a2cx + a4 = a2[(x − c)2 + y2]  【テ】
  c2x2 − 2a2cx + a4 = a2x2 − 2a2cx + a2c2 + a2y2
変数 x, y を含む項を左辺に、定数項を右辺に集める:
  c2x2 − a2x2 − a2y2 = a2c2 − a4
  (c2 − a2)x2 − a2y2 = a2(c2 − a2)
b2 = c2 − a2 なので:
  b2x2 − a2y2 = a2b2
両辺を a2b2 で割って:
  x2 / a2 − y2 / b2 = 1  【ト】

「3項式の2乗」のような面白さはないが、淡々とできる。

2. 【ソ】ならば【ト】になるのは分かったが、この場合、逆に【ト】ならば【ソ】と言えるか。逆にたどる場合、【ツ】の根号には複号が付いているので、【テ】⇒【ツ】は問題ないだろう。でも【チ】の平方根は【タ】の形に限らず、結果として【ソ】に当たるものは、潜在的に
  | ±(x + c)2 + y2 ± (x − c)2 + y2 | = 2a  【ナ】
の形を持つ。複号で順に +, − または −, + を選べば、本来の【ソ】と同じ意味。一方、+, + または −, − を選んだとすると、【ナ】は「下図の |F2P| + |F1P| が 2a に等しい」という意味になってしまう――その条件を満たす点 (x, y) は存在しない(※注)。【ト】は潜在的にはより多くの点を含み得るが、実際には【ソ】と同値で、【ソ】にない点を含まない。

PNG画像

(※注) 三角不等式から |F2P| + |F1P| ≥ |F1F2| = 2c > 2a。

2021-04-08 双曲線の計算地獄…と天国(その3) 恋と楕円の a, b, c

3. 3項式の2乗を使う奇手(別解)。まず前提として…
  (A + B + C)2 = A2 + B2 + C2 + 2AB + 2BC + 2CA  【ニ】
それほど使われない恒等式だが、単純計算で確認できる。

さて、ゴチャゴチャした【ソ】
  | (x + c)2 + y2 − (x − c)2 + y2 | = 2a
を見ると、むずむず…。やはり、こういう場合、
  u = (x + c)2 + y2  【ヌ】
  v = (x − c)2 + y2  【ネ】
と置いて、すっきり
  | √ u  − √ v  | = 2a  【ノ】
と書いてみたくなる。【ヌ】【ネ】を辺々加減すると:
  u + v = 2(x2 + y2 + c2)  【ハ】
  u − v = 4cx  【ヒ】

【ソ】を直接いじらず、代わりに【ノ】の両辺を2乗してみる:
  u − 2√ uv  + v = 4a2
  つまり u + v − 4a2 = 2√ uv   【フ】
【フ】の両辺を2乗し、【ニ】を使って展開:
  (u + v − 4a2)2 = 4uv  【ヘ】
  u2 + v2 + 16a4 + 2uv − 8a2u − 8a2v = 4uv  【ホ】
u, v は x, y の式、a は定数なので、左辺と右辺に分けて整理:
  (u2 − 2uv + v2) − (8a2u + 8a2v) = −16a4
  (u − v)2 − 8a2(u + v) = −16a4
【ハ】【ヒ】を使って x, y の世界に戻る:
  (4cx)2 − 8a2[2(x2 + y2 + c2)] = −16a4
  16c2x2 − 16a2(x2 + y2 + c2) = −16a4
両辺を16で割って展開:
  c2x2 − a2x2 − a2y2 − a2c2 = −a4
  (c2 − a2)x2 − a2y2 = a2(c2 − a2)
c2 − a2 = b2 に留意しつつ、両辺を a2b2 で割ると:
  x2/a2 − y2/b2 = 1

これで目的地に到達した。

【フ】については「両辺を2乗」の一手だが、そのとき【ヘ】の左辺を展開すると、収拾がつかなくなるように思える。実際には、展開を敢行すると、上記のように u + v, u − v の式として簡約され、急激に霧が晴れる。展開をためらい、【ヘ】に直接【ヌ】【ネ】を入れると、かえって大変なことに…。

4. この計算法、楕円にも使えるのでは?

楕円とは、ある平面上において、距離 |FP| と距離 |GP| の和が一定の値(それを 2a とする)になるような、点 P の集まり(F, G は定点)。

PNG画像

点 P が A に来たとき 2a = |FP| + |GP| = |FA| + |GA|。対称性から |FA| = |CG| なので 2a = |FA| + |GA| = |CG| + |GA| = |CA| = 2 × |OA|。従って、a = |OA| = |OC| は、楕円の長半径に当たる。

点 P が B が来たとき 2a = |FP| + |GP| = |FB| + |GB|。対称性から |FB| = |GB| なので 2a = |FB| + |FB|。従って、|FB| も a に等しい(もちろん |GB| も)。

F の座標を (c, 0)、G の座標を (−c, 0)、P の座標を (x, y) とすると:
  (x + c)2 + y2 + (x − c)2 + y2 = 一定の値 2a
速記法【ヌ】【ネ】を使うと、上の式は
  √u + √v = 2a  【マ】
となり、双曲線の【ノ】と似ている。ここで左辺第1項は |GP|、第2項は |FP|。【マ】の両辺を2乗すると:
  u + 2√uv + v = 4a2
  つまり u + v − 4a2 = −2√uv  【ミ】
【ニ】を使って、【ミ】の両辺を2乗すると:
  u2 + v2 + 16a4 + 2uv − 8a2u − 8a2v = 4uv

これは 3. の【ホ】と同一の式。以下の進行は全く同じになり、
  (c2 − a2)x2 − a2y2 = a2(c2 − a2)  【ム】
に達する。けれど楕円の場合、c2 − a2 = b2 ではない ―― 短半径を b とすると
  b2 + c2 = a2 つまり c2 − a2 = −b2
と書くことができる(画像参照)。従って【ム】は:
  (−b2)x2 − a2y2 = a2(−b2)
両辺を −a2b2 で割ると…
  x2/a2 + y2/b2 = 1
…おなじみ楕円の標準形。

2. と同様の検討により、これがもともとの定義と同値であることを確認できる(等式の両辺を平方したことによる悪い副作用が、起きてない)。

3項式の2乗を使う方法は、ちょっと強引な力技だが、結果的には結構エレガント。双曲線だけじゃなく、楕円にもそのまま通用する。普通に考えると、3項式の2乗をベタで計算するような道筋には、疑問がある(もっと簡単にできるのでは…)。この場合に限っては、普通のやり方 1. より、こっちの方が小気味よい気がする。

2021-02-07 「シェルバトフの名著」とは

ソビエト時代に「万人のための数学講義」というブックレット・シリーズがあったそうで、シェルバトフは、その16巻「双曲線関数たち」(1954年)の著者。

JPEG画像(本の表紙)

これが隠れた名著。国際的に注目され、いろんな言語に翻訳された。日本語訳も出版されていたようです。ウィキペディア・ロシア語版の「双曲線関数」の項では、今でもこの古い小冊子が参考文献として挙げられてます。

「この本を読んで人生が変わった。私が数学者になった訳は、この本かもしれない」と言う人までいる。

50ページ少々のこの冊子の、どこがそんなに素晴らしいのか?

もし最初からいきなりオイラーの公式や無限級数によって三角関数が定義されてたら、具体的なイメージを持てませんよね。一方、単位円を使って cos はこの長さ…みたいに考えると、単純明快(その代わり、複素関数に拡張するとき困るわけですが…)。それと同じで、指数関数を使って双曲線関数を定義してしまうと(現在ではそれが普通でしょうが)、便利である半面、具体的なイメージが湧かない。イメージできなくても理屈を理解できるけど、やっぱりイメージできないと「分かった気」がしない。その点、シェルバトフの本は…

うわさによると、著者のシェルバトフは数学教授のような人ではなく、この本を書いたとき、まだ学生だったとか…。いろんな意味ですごい。

http://ilib.mccme.ru/plm/

2021-01-31 三角関数の加法定理 幾何学的証明 シェルバトフの名著を読む (1)

V. G. Shervatov 著 Hyperbolic Functions に基づく。

この定理の幾何学的証明は、珍しくない。以下はその一例。これ自体も簡潔で参考になるが(「加法定理で加減される2項が、幾何学的にどの部分の長さなのか」が目に見える)、最も注目すべきこととして、これと平行的な方法で「双曲線関数の加法定理」も幾何学的に証明できるのである。

【1】 原点を中心に半径1の円を描き、下図のように円周上の2点 A, P を選ぶ。∠ABO が直角になるように、OP 上に点 B を取る。AD と BE は PQ と平行、FB は OQ と平行。

PNG画像(10 KiB)

直角三角形 OBF と BOE は合同なので、∠OBF = ∠BOE = α。∠ABO は直角なので、∠ABC = 90° − α。一方、青い三角形について、内角の和は 180° なので ∠OPQ = 90° − α。従って ∠ABC = ∠OPQ であり(図の γ の角)、緑の直角三角形と青い直角三角形は相似。

相似な △ABC と △OPQ は、対応する辺の長さの比が一定なので、次が成り立つ(OP = 1 に注意…半径1の円の半径なので)。

同様に △OBE は △OPQ と相似なので:

PNG画像(7 KiB)

【2】 三角関数の定義から:

これらを①②③④と組み合わせると:

上記4つの等式と、三角関数の定義を組み合わせると、加法定理が得られる。

2021-02-01 おわび 2021-01-31のメモで、間違って「相似」を「合同」と書いていました(修正済み)。

2021-02-02 sinh, cosh の幾何学的定義 シェルバトフの名著を読む (2)

В. Г. Шерватов の Гиперболические функции(双曲線関数たち)に基づくメモ(その2)。隠れた名著らしく、何カ国語にも翻訳されている。ウェブ上で、この本の1954年版を自由に閲覧可能。
http://ilib.mccme.ru/plm/djvu/v16.djvu ← DjVu
https://math.ru/lib/book/plm/v16.djvu ← DjVu(同じ)
http://ilib.mccme.ru/plm/tiff/v16.tif ← マルチページTIFF
または https://www.mathedu.ru/text/shervatov_giperbolicheskie_funktsii_1954

「双曲線関数の加法定理」を幾何学的に証明したい。必要な概念を準備する。

このメモは、必要なことを全部丁寧に説明するものではなく、とりあえず重要な事実だけを抜粋したもの。これだけでは内容を完全に理解できないかもしれませんが、この断片的なメモのせいで、「双曲線は難しい」と誤解しないでください(単に基礎となる必要な説明が抜けてるだけです)。ここでは省略されてますが、順を追ってきちんと説明すれば、基礎となる部分はそんなに難しくない。

【1】 下図の赤い曲線は、双曲線 x2 − y2 = 1 のグラフのうち、第1・第4象限にある部分。以下では、これを単に「双曲線」と呼ぶ。黄緑の2本の直線は漸近線。V (1, 0) は双曲線の頂点。O (0, 0) は双曲線の中心。

双曲線上の任意の点 P を選び、双曲線の扇形 VOP を考えることができる(図のオレンジ色の部分)。この「扇形」の「中心角」を θ とすると、cosh θ は P の x座標(図の OQ の長さ)、sinh θ は P の y座標(図の PQ の長さ)。三角関数の cos, sin とよく似ている。

定義 sinh θ = PQ, cosh θ = OQ (この定義には、PQ以外の補助線(水色の部分など)は必要ない)

PNG画像(13 KiB)

双曲線の扇形は、双曲線の中心と、双曲線上の2点から成る図形。三角形に似ているが、双曲線上の2点間は、双曲線の「弧」で結ばれる。

双曲線の扇形(以下「扇形」と略)の「中心角」は、普通の意味での角度(∠VOPなど)ではない――考えている扇形の面積の2倍を「中心角」と定義する。奇妙な定義のようだが…。例えば半径1、中心角45°の普通の扇形(円の8分の1)を考えると、その面積は π/8、普通の意味での中心角は π/4。普通の扇形でも、中心角は面積の2倍なので、それほど奇妙な定義でもない!

θ がオレンジ色の面積の2倍だという事実は、当面の議論とは関係なく、暫定的に「そういうものだ」と軽く流していい(次回に証明する)。

【2】 面積の2倍という意味の「中心角」を双曲角と呼ぶことにしよう。オレンジの扇形の双曲角は、その面積の2倍。水色の扇形の双曲角も、その面積の2倍。以下、この二つの扇形の面積が等しいと仮定して、どちらの双曲角も θ だとする(言い換えれば、面積はどちらも θ/2)。

オレンジの扇形 VOP を使った sinh, cosh の定義について…

  1. 双曲線の中心 O を起点とする半直線を動径と名付ける。扇形 VOP のスタートラインとなる線分 OV は、動径 OV の一部。
  2. 双曲線上の2点を結ぶ線分をと呼ぶ。図の線分 AC は弦の一例。
  3. 扇形の末端となる点 P から引いた弦のうち、動径 OV によって二等分されるものがある。その弦 PR を基準弦と呼ぼう(x軸は双曲線の対称軸なので、PQ = QR)。
  4. 動径 OV と、それによって二等分される基準弦 PR の交点――言い換えれば基準弦 PR の中点 Q――を基準点として、扇形の「高さ・幅」を定義する(ここでは OV = 1):
    双曲正弦 扇形の高さ PQ と底辺 OV の比 sinh θ = PQ / OV
    双曲余弦 扇形の幅 OQ と底辺 OV の比 cosh θ = OQ / OV (☆)

この考え方を水色の扇形 UOA に類推適用すると、スタートラインとなる動径は半直線 OU、それによって二等分される基準弦は AC、基準点はそれらの交点 B となり、次が成り立つはず。
sinh θ = AB / OU, cosh θ = OB / OU (☆☆)
扇形の「高さ」を定める AB は、底辺を延長した直線と必ずしも直交しない。

【3】 この解釈の整合性について。2個の扇形(オレンジ・水色)の面積が等しいと仮定しているのだから、「水色の扇形は、オレンジの扇形を双曲回転したもの」と考えることができる。双曲回転とは、ある直交座標系において点 (x, y) を点 (x/k, ky) に対応させる変換(k は正の定数)。平面図形(例えば正方形)にこの変換を施すと、幅が 1/k 倍、高さが k 倍になるのだから、変換前後で図形の面積は変わらない。

右上に延びる漸近線(黄緑)を縦座標、それと直交する漸近線を横座標だとすると、オレンジの扇形から水色の扇形への変換について、この「黄緑」座標系において、「縦方向が一定割合で引き伸ばされ、横方向が一定割合で圧縮されたもの」と解釈できる。

PNG画像(13 KiB、拡大版27 KiB)

双曲回転の特徴として、直線は直線に変換され、変換前後で、線分内の対応する部分の比が保たれる

具体的に、双曲回転によって、点 V, P が、それぞれ点 U, A に変換されたと仮定する(点 O は点 O 自身に変換される)。Q は直線 OV 上にあるので、この双曲回転によって、直線 OU 上の点に変換される。その変換先を B としよう(これは「線分 PQ が 線分 AB に変換された」という意味にもなる)。

線分内の比が保たれることから、OQ / OV = OB / OU。従って、cosh について(☆)と(☆☆)の関係は正しい!

図のように直線 PQ が双曲線と交わる点を R、直線 AB が双曲線と交わる点を C とすると、PQ = QR は明白。従って、その変換結果として AB = BC。

双曲線の漸近線(黄緑)に平行な線分 PS, SR, AD, DC を、図のように引こう。S は動径 OV 上になり、D は動径 OU 上になる(※1)。この双曲線の漸近線は直交するので、PSR と ADC は直角三角形。直角三角形の斜辺の中点はどの頂点からも等距離なので(※2)、PQ = SQ、AB = DB。しかも、ここで考えている双曲回転によると、点 S は点 D に変換される(※3)。

従って(☆)から sinh θ = PQ / OV = SQ / OV = DB / OU = AB / OU。これで sinh についても(☆☆)が示された。

(※1) 漸近線が直交するような双曲線の任意の弦について、「弦の一端を通り、ある漸近線に平行な直線」と「弦の他方の端を通り、もう一つの漸近線に平行な直線」は、「その弦を二等分する動径」の上で交わる。この性質は、双曲回転を使って証明される(原著21–22ページ、米国版17ページ)。座標値に基づく直接計算でも証明可能だが、上記のままの座標系では複雑過ぎる(★)。

PNG画像(1 KiB)(※2) ∠Y を直角とする任意の直角三角形 XYZ について、斜辺 XZ の中点を M とすると、△XMY は二等辺三角形。なぜなら、△XYZ と「それを裏返した合同な三角形」を、図のように重ねて配置すると、∠MXY = ∠MYX。

(※3) 双曲回転は、漸近線をその漸近線自身に変換し、2本の平行線を2本の平行線に変換する。従って、点 P が点 A に変換されるとき、漸近線に平行な直線 PS は、A を通り漸近線に平行な直線(それを ℓ と呼ぼう)に変換される。同時に、点 S は直線 OV 上にあるので、直線 OU 上の点に変換される。つまり S の変換結果は、直線 ℓ 上にあり、同時に直線 OU 上にある。そのような点は D しかない。

★ (1) 双曲回転の基本的性質として考えると、何の計算も必要ない。 (2) 別の方法として、漸近線が座標軸になった座標系(45°回転した状態)で、一般論として双曲線 xy = a を考えるなら、座標値の簡単な計算に帰着される。 (3) 上記のままの座標系で計算すると、大変なことになる。参考として、その手順をメモしておく。A, C の座標をそれぞれ (p,r), (q,s) とする。ここで r = sqrt(p^2-1), s = sqrt(q^2-1)。直線 DA と 直線 DC の式を求めて交点を計算すると、D の座標は ((p+q-r+s)/2,(-p+q+r+s)/2)。そこから直線 OD と CA の交点 B のx座標を計算できる(r^2, s^2 が現れたら、それぞれ p^2-1, q^2-1 に置換)。ゴリゴリやれば B のx座標が (p+q)/2 であること、つまり B が AC の中点であることが示される。非常に面倒くさい。反面教師として、回転(変換)の考え方の便利さを実感させてくれる。

2021-02-04 面積の2倍が角度???

「扇形の面積の2倍は、扇形の中心角と同じ」ということは、通常の扇形については簡単に分かることだが、それを逆転させた定義(双曲線の扇形では「面積の2倍を角度とする」)については、引っ掛かりを感じる人もいるだろう。

この定義については、通常の単位円を複素数の範囲に拡大すると、割と自然に納得できるが、それはそれで説明に準備が必要(内容は意外に簡単だが)。

ここでは、便宜上、幾何学的アプローチを一時停止して、通常の解析的方法で「面積の2倍=双曲角」の正しさを確かめておく。これは「引っ掛かりをなくすため」の心理的サポートにすぎず、論理的には「面積の2倍が双曲角」という定義を出発点に、全てをきちんと導ける。従って…「面積の2倍が角度」という定義を素直に受け入れられる読者、あるいは「積分で説明されても、かえって分からない」という方(解析的説明には積分が必要)は、このメモを飛ばして、次の「双曲線関数の加法定理 幾何学的証明」に進んで構わない。

双曲線 x2 − y2 = 1 について、図のオレンジ色の「扇形」の「中心角」を θ とすると、点 P の座標は (cosh θ, sinh θ)。単位円を使った三角関数の定義とパラレルで心地よい。

PNG画像(13 KiB)

双曲角 θ はオレンジ色の面積の2倍…という記述は、透明でない。本当にそうなるのか確かめておこう。オレンジの面積を求める分かりやすい方法は、直角三角形 OPQ の面積から、はん弓形ゆみがた PQV の面積を引くことだろう。

前回は cosh, sinh を幾何学的に定義したが、ここでは、双曲線関数を代数的に定義する:
定義 cosh θ = (eθ + e−θ)/2 【ア】
定義 sinh θ = (eθ − e−θ)/2 【イ】

上記の定義から、簡単な計算によると
cosh2 θ − sinh2 θ = 1 【ウ】
となり、従って、双曲線 x2 − y2 = 1 について、x = cosh θ, y = sinh θ と書ける(幾何学的定義と同じ形になる)。それを P の座標とする。

【ア】【イ】の導関数は易しい:
d(cosh θ) / dθ = (eθ − e−θ)/2 = sinh θ 【エ】
d(sinh θ) / dθ = (eθ + e−θ)/2 = cosh θ 【オ】

(I) 直角三角形 OPQ の面積は:
(cosh θ sinh θ)/2 = (e − e−2θ) / 8 【カ】

(II) 半弓形 PQV の面積。赤い曲線 x2 − y2 = 1 の第1象限の部分(つまり y = x2 − 1)と x軸に挟まれた部分の面積を、V から Q までの区間で求めればいい。V は (1, 0) = (cosh 0, 0)、Q は (cosh θ, 0) なので cosh 0 から cosh θ までの
∫√x2 − 1 dx 【キ】
が求めるもの。x = cosh u と置くと、u = 0 から u = θ までの次の定積分。
∫√cosh2 u − 1 sinh u du = ∫√sinh2 u sinh u du 【ク】
…ここで使ったのは、dx / du = sinh u つまり dx = sinh u du という関係(【エ】より)と、恒等式 cosh2 θ − 1 = sinh2 θ(【ウ】より)。この定積分の範囲においては、sinh u は双曲線上を V から P まで動く点のy座標に当たり、負ではない。従って u ≥ 0。このことから
sinh2 u = sinh u
となり、【ク】は:
sinh2 u du = [(eu − e−u)/2]2 du = [(e2u − 2 + e−2u)/4] du
= [e2u/2 − 2u − e−2u/2]/4 |0θ
= (e/8 − θ/2 − e−2θ/8) − (1/8 − 0 − 1/8)
= (e − 4θ − e−2θ) / 8 【ケ】

(III) 【ケ】が半弓形の面積なので、それを【カ】から引くと:
オレンジの面積 = (e − e−2θ) / 8 − (e − 4θ − e−2θ) / 8 = θ/2

結論 オレンジの面積は θ/2。「この面積の2倍を双曲角 θ とする」という定義は、筋が通っている。面積は普通の意味での角度ではないが、双曲角 θ は、数値的に扇形の面積の2倍に等しい

別解1 計算量はほとんど同じだが、y方向に積分する方がエレガント。ビデオ講義 MIT OpenCourseWare: Hyperbolic Trig Substitution を参照。

別解2 【ケ】の代わりに次のようにすれば、双曲線関数のまま簡潔に処理できる:
sinh2 u du = [(cosh 2u − 1)/2] du (※)
= [(sinh 2u)/4 − u/2]|0θ = (sinh 2θ)/4 − θ/2
= (sinh θ cosh θ)/2 − θ/2 【コ】

倍角の公式 cosh 2u = cosh2 u + sinh2 u と、恒等式 cosh2 u = sinh2 u + 1(【ウ】より)を組み合わせると cosh 2u = 2 sinh2 u + 1。(※)では、それを sinh2 u について解いた。【オ】を使って cosh を積分し、【コ】では sinh の倍角の公式を使った。すると【カ】の右辺も不要で、△OPQ の面積は単に (cosh θ sinh θ)/2、そこから【コ】を引けば θ/2 を得る。

<コメント> 別解1と2を組み合わせて、「y方向に積分、双曲線関数のまま処理」が最善か?

2021-02-05 双曲線関数の加法定理 幾何学的証明 シェルバトフの名著を読む (3)

前編「sinh, cosh の幾何学的定義」で準備したことを基に、加法定理を導く。

幾何学的証明には、心に響くものがある。この証明自体も素敵だが、三角関数の加法定理の幾何学的証明とほぼパラレルであるところが印象深い。

【4】 図のように、隣接する二つの「双曲線の扇形」を考えよう――青灰色せいかいしょくの OVP とベージュ色の OPA。双曲角はそれぞれ α と β。ベージュ色の扇形について、OP が「底辺」、弦 AZ は動径 OP によって二等分される基準弦、両者の交点 B が扇形の「幅・高さ」を測る基準点。幾何学的定義から:
sinh α = PQ, cosh α = OQ (☆)
sinh β = AB/OP, cosh β = OB/OP (☆☆)

PNG画像(13 KiB)

青い △OPQ は △OBE と相似(∠POQ を共有する直角三角形なので)。さらに、緑の △ABC とも相似(証明は後述)。

【5】 相似な △ABC と △OPQ は、対応する辺の長さの比が一定なので:
AC / OQ = AB / OP
つまり AC = OQ × AB/OP
(☆)と(☆☆)から
AC = cosh α sinh β …… ①

同様に BC / PQ = AB / OP
BC = PQ × AB/OP
BC = sinh α sinh β …… ②

△OBE と △OPQ も相似なので:
BE / PQ = OB / OP
BE = PQ × OB/OP
BE = sinh α cosh β …… ③

同様に OE / OQ = OB / OP
OE = OQ × OB/OP
OE = cosh α cosh β …… ④

従って、幾何学的定義と作図より:
sinh (α+β) = AD = BE + AC = sinh α cosh β + cosh α sinh β (なぜなら③①)
cosh (α+β) = OD = OE + BC = cosh α cosh β + sinh α sinh β (なぜなら④②)

sinh, cosh それぞれの加法定理が得られた!

【6】 証明を完成させるため、後回しにしていた「青い △OPQ と緑の △ABC が相似であること」を示す。どちらも直角三角形なので、青い三角形の ∠POQ と緑の三角形の ∠BAC が等しいことを示せば十分。

図のように、弧 AZ の両端から、漸近線に平行な線分 AR と ZS を引く。S はこの弧を二等分する動径 OP 上にあり(前編※1参照)、△ABS は二等辺三角形(同※2)。だから
∠BSA = ∠BAS …… ⑤

PNG画像(13 KiB)

さて、漸近線は座標軸と 45° を成すから、次の角はどちらも45°:
∠RAD = ∠ARD …… ⑥

次に、△SOR を考えると:
∠SOR + ∠RSO = ∠SRQ …… ⑦
なぜなら 180° − (∠SOR + ∠RSO) = ∠ORS = 180° − ∠SRQ。
⑦より ∠SOR = ∠SRQ − ∠RSO
つまり ∠POQ = ∠ARD − ∠BSA
⑤より ∠POQ = ∠ARD − ∠BAS (*)

最後に、∠BAC = ∠RAD − ∠BAS に⑥を適用して:
∠BAC = ∠ARD − ∠BAS (**)

(*)と(**)は等しい。これが示されるべきことだった。

2021-02-09 あべこべに考えるということ/セックたん (sec, tan)

1. 「あべこべに考えるということ」

PNG画像

青い点が曲線上を (1, 0) から上に動いていくとき、扇形の面積は 0 から始まってだんだん増えていく。何だか分からないけど、とにかく面積がある。そして、その面積の2倍を双曲角と定義する。例えば、面積が 0.5 のとき、双曲角は 1。正方形のグリッドの面積は 1 なので、赤の面積は確かに 0.5 に見える(水色と同じ)。

何でそう定義するのか。2倍というのは、どこから出てきたのか?

別に決定的な理由なんてない!

普通の角度だって、直角を π/2 とする必然性はない。使い慣れてるから、感覚が麻痺して当たり前に思えてしまうが、原理的には「360° を π」と定義しても「90° を π」と定義しても構わない(もちろん、定義を変えれば、それに応じて全ての公式は少しずつ変わるが)。

「半径1の円の面積」と「半径1の正方形の面積」の比が π だ…と先に定義すると、その定義の結果、それが 3.14159… であることが後から分かる。

同様に、赤い扇形の面積が 1/2 のときの「扇形の横幅」が cosh 1 だ…と先に定義すると、その定義の結果、それが 1.54308… であることが後から分かる。

(そう考えなければいけない、という意味ではない。上記の定義が結論になるように、別のことを定義にして、そっちを出発点としてもいい。)

2. 「セックたん」

PNG画像

OV = 1 を底辺とする赤い直角三角形(∠O = θ)の斜辺は sec θ、高さは tan θ。図のように (sec θ, tan θ) の点(青)の軌跡を考えると…

cos2 θ + sin2 θ = 1
両辺を cos2 θ で割って 1 + tan2 θ = sec2 θ
移項して sec2 θ − tan2 θ = 1
従って x = sec θ, y = tan θ は双曲線 x2 − y2 = 1 の媒介変数表示。

(cosh t, sinh t) に比べると知名度が低いが、(sec θ, tan θ) でも双曲線。つまり sec と cosh には(そして tan と sinh には)、ある種の「互換性」がある。

考えてみると、sec も cosh も「値が1から始まる」という共通点を持つ(実数の範囲では 0.5 などの値にならない)。x2 − 1 の平方根を積分するような場合、よく x = sec u という置換が行われるが(めんどくさい)、x = cosh u と置換してもいい(その方が簡単)。簡単さを度外視すれば、どちらの置換でもいいのだから、やっぱり「互換性」がある。これは何かあるな…

複素数の範囲で cos と cosh が同類なのは当然として、実数の範囲で「cos の逆数 sec が cosh と似た性質を持つ」というのは、どういう現象なのか…?

2021-02-12 二項定理 ばかばかしいけど分かりやすい(?)説明

ある週の月曜から金曜までの5日間、漫画の単行本を毎日ちょうど1冊読むとする。ただし、ある二人の漫画家のどちらかの作品を読むという条件を付ける。

仮に漫画家の名前を岡田あーみんと平野耕太として(好きな漫画家の名前に適当に置き換えてください)、そのどちらかの本を読むとしよう。岡田の漫画をちょうど3回だけ読む(=平野を2回読む)ような曜日選択パターンは、何通りあるか?

例えば、「月・水・金に岡田を読んで、火・木に平野を読む」というのは、岡田を3回読むパターン。「水・木・金に岡田を読んで、月・火に平野」というパターンも考えられる。全パターンを過不足なく数えるのは、面倒くさい。そこで…

(1) 「岡田を読む曜日を予約する」と考える。「この日は岡田を読む!」という予約がちょうど3回入るパターンは何通りあるか。…単純に考えると、1個目の予約は月~金の何曜日でもいいのだから、5通りの可能性がある。2個目の予約は、まだ予約が入っていない曜日から選ぶ必要があるので、4通りの可能性がある。同様に、3個目の予約は3通りの可能性がある。5 × 4 × 3 = 60パターン。

(2) この考え方だと、例えば「月→水→金」の順序でカレンダーに予約を書き込むことと、「月→金→水」の順序で書き込むことが、別々にカウントされてしまう。どちらでも「月・水・金に岡田の漫画を読む」という結果は同じなのだから、少々まずい。「結果的に同じになるような、予約の入れ方のバリエーション」の数で割り算しないと、過剰な数になってしまう。特定の3個の曜日(仮に月・水・金とする)に予約を入れる方法のバリエーションは…。最初の予約は、月・水・金のどれを選んでもいいので3通りの可能性がある。2回目の予約は、残りのどちらかの日なので、2通りの可能性がある。3回目(最後)の予約は、1通りの可能性しかない。3 × 2 × 1 = 6種類。

60パターンのうち、「予約を入れる順序が違うだけで、結果は同じ」になるパターンが6種類ずつなので、岡田を3回(平野を2回)読む曜日選択は、60 ÷ 6 = 10通り。

ちなみに式で書くと:
{5日から選ぶ3日} = (5 × 4 × 3) / (1 × 2 × 3) = 10 パターン

(3) x を岡田、y を平野として、xx は「月曜に岡田、火曜に岡田を読む」、xy は「月曜に岡田、火曜に平野を読む」という意味だとする。yx や yy の意味も同様。

A = x + y とすると:
(x + y)2 = (x + y)A = xA + yA
= x(x + y) + y(x + y) = xx + xy + yx + yy 【★】
= x2 + 2x1y1 + y2 【ア】

【★】の4項は、最初の2日間の全ての選択肢を表している。【ア】の意味は、この2日間について、「岡田を2回読むパターンが1通り、岡田を1回・平野を1回読むパターンが2通り、平野を2回読むパターンが1通り」。こんな小難しい計算をするまでもなく、常識的に分かる結論だろう。

(4) 【★】を利用すると、次のような計算ができることはできるが…
(x + y)3 = (x + y)2A = (xx + xy + yx + yy)A
= xxA + xyA + yxA + yyA
= xxx + xxy + xyx + xyy + yxx + yxy + yyx + yyy 【★★】
= x3 + 3x2y1 + 3x1y2 + y3 【イ】

計算の意味も解釈も最初と同じだが(3日間の漫画の読み方)、この方法だと1乗増えるごとに【★★】の部分の項数が倍々ゲームで増大して、大変なことに。こんな方法で (x + y)5 を計算したくない。

(5) (x + y)5 を展開した結果の【ア】や【イ】に当たる部分において、x3y2 の係数は「5日間で岡田を3回・平野を2回読むパターンの総数」であり、最初の考察で既に10と分かっている。

対称性から、x2y3 の係数も10。このことは「5日間で岡田を2回だけ読むパターン」も「3回だけ読むパターン」も選択肢の数が同じ…という意味を持つ。「読む回数が違うのに、選択肢の数が同一なのはふに落ちない」と感じるかもしれない。でも「岡田を2回だけ読む=岡田を読まない日を3個だけ選ぶ=平野を読む日を3個だけ選ぶ」なので、「岡田を読む日を3個だけ選ぶ」と選択肢の数が同じなのは、実は当たり前(どちらも5個の日から3個の日を選ぶのだから)。

要するに「カレンダーの5日間のうち3個の日に○印を書き込むパターンの数は、2個の日に×印を書き込むパターンの数と同じ」。その○印は「岡田を読む日」の意味かもしれないし、「平野を読む日」の意味かもしれないが、どっちの解釈でも「5日から3日を選ぶパターン数」には変わりない。

同様に、x1y4 の係数は、5日間から1日を選ぶパターンの数なので、当然 5 だが、それは x4y1 の係数でもある。

最後に、x5y0 の係数と x0y5 の係数も同じ(0乗とは1のこと)。5日間から岡田の日を5個選ぶのは、1パターン(毎日読む)しかない。5日間から岡田の日を0個選ぶのも、1パターンしかない(全部平野にする)。

結局 (x + y)5 = x5 + 5x4y + 10x3y2 + 10x2y3 + 5xy4 + y5

(6) 上記 (1), (2) と同様に考えると、一般に n 個の日から k 個の日を選ぶパターンの数は、
{n選ぶk} = [n × (n−1) × (n−2) × …] / [1 × 2 × 3 × …]
という形の分数になって、分母も分子も k 個の数の積。具体例を見た方が、意味が分かりやすい:

例1 (x + y)9 を展開したときの x4y5 の係数
{9選ぶ4} = (9 × 8 × 7 × 6) / (1 × 2 × 3 × 4) = 126

例2 (x + y)14 を展開したときの x4y10 の係数
{14選ぶ4} = (14 × 13 × 12 × 11) / (1 × 2 × 3 × 4) = 1001

例3 (x + y)14 を展開したときの x5y9 の係数
{14選ぶ5} = (14 × 13 × 12 × 11 × 10) / (1 × 2 × 3 × 4 × 5) = 2002

例4 (x + y)14 を展開したときの x6y8 の係数
{14選ぶ6} = (14 × 13 × 12 × 11 × 10 × 9) / (1 × 2 × 3 × 4 × 5 × 6) = 3003

〔参考〕 この 1001, 2002, 3003 という特徴的な数の並びができる訳は、次の通り。分母に含まれる 1 × 2 × 3 × 4 = 24 = 12 × 2 により、分子に含まれる 12 は約分され消滅、14 は約分され 7 に。その結果、約分後の分子は 7 × 13 × 11 という因数を含むが、この積はこれ以上約分されない。7 × 13 = 91 なので、この積の値は 91 × 11 = 910 + 91 = 1001。

既に見たように {5選ぶ3} = {5選ぶ2} であり、同様に、例えば {9選ぶ4} = {9選ぶ5}、一般に:
{n選ぶk} = {n選ぶ(n−k)} 【☆】

なぜなら「n日中k日に岡田を読む選択パターン」は「n日中k日に平野を読む選択パターン」と同じ数。後者は「n日中(n−k)日に岡田を読む」と同じ意味。

(7) 結論として:
(x + y)n = {n選ぶn}xny0 + {n選ぶ(n−1)}xn−1y1 + {n選ぶ(n−2)}xn−2y2 + … + {n選ぶ0}x0yn

【☆】があるので、次のように書いても、全く同じ意味:
(x + y)n = {n選ぶ0}xny0 + {n選ぶ1}xn−1y1 + {n選ぶ2}xn−2y2 + … + {n選ぶn}x0yn

ただし {n選ぶ0} = {n選ぶn} = 1。

これが二項定理だが、5乗の展開は、あくまで説明のための例(そういう計算では「パスカルの三角形」を使った方が手っ取り早い)。二項定理は「何乗だか分からないけど、その展開を考えたい」とき、真価を発揮する。例えば「何かのn乗」の値が、n→∞のときどうなるか?みたいな…

2021-02-14 全生徒が満点 「対数」説明の工夫 米国ノースカロライナ州

ノースカロライナのハマック先生という人(現在はバージニア州の大学教授)と、その同僚が1990年代に編み出した小さな工夫*1

例えば log2 8 を普通に直接導入するのではなく、
2 (8) = ?
…と黒板に書いて「2を□乗したら8になりました。□は何でしょう?」というふうに話を持っていく。

この説明法は効果抜群で、理解を試す小テストで全員満点だったという。対照群として、別のクラスでは「教科書通りの普通の方法」で対数関数を教えたところ、同じ内容の小テストの結果は、普通にバラバラの点数になったという。

小さなことのようだが、示唆に富む。関数 2() は、関数 log2() のエイリアスにすぎない。定義さえ明確なら f() と書いても lg() と書いてもいい。任意の文字列で構わない。…けれど確かに、識別子の名前の付け方のせいで混乱が生じたり、可読性が向上したりすることはよくある。2 は「シンプルで分かりやすい良い名前」なのだろう。ハマック先生自身の言葉を使うと 2 は「怖くない」。2 を log2 とも書きます…と説明すると「怖くない関数の書き方を変えただけなので、怖くない」。

e (e3) = y
…「eを□乗したら e3 になりました。□は何でしょう? その答えを y とします」。確かに超簡単。
y = loge e3
と書くより、分かりやすい。

シェルバトフの「双曲線関数たち」は名著だが、いきなり「双曲線回転」の考察から始まるのは、不必要に怖い。最初は「高さの拡大縮小」「幅の拡大縮小」それを組み合わせて「面積を保った縦横比の変換」とでも言っておいて、後から「面積を保った縦横比の変換は、双曲線上の点を同じ双曲線上の点に移動させる。だから双曲線回転ともいう」みたいに話を持っていけば、内容は同じでも、あまり怖くない。

「双曲線」という言葉自体、微妙に怖いので、「逆数のグラフ」「逆数のグラフの曲線」略して「逆数曲線」あたりから始めて、「逆数曲線」は「双曲線」とも呼ばれる…とすれば怖くない。

*1 A simple way to teach logarithms
http://www.people.vcu.edu/~rhammack/reprints/MathTeacher.pdf

2021-02-16 「虚数の角度」が見えた! cos i の可視化は意外に簡単

「こういう見方もある」という参考程度に…。

【1】 単位円を使った三角関数の定義、複素数と複素平面については既知とする。それに加えて…

予備知識1 単位円を使って (cos θ, sin θ) などを考えるときの θ は、扇形の中心角ですが、それは扇形の面積の2倍と同じ。単位円の円周は 2π、単位円の面積は π なので、まあ、当たり前でしょう…。

予備知識2 x2 − y2 = 1 は xy-平面上の双曲線のグラフに当たる。

PNG画像

【2】 説明を後回しにして、結論の一部を先に紹介…。xy-平面上の普通の単位円(OA = 1 を半径とする)を考え、それと直交する座標軸が「y の虚部」を表すとした場合(画像参照)、OS の長さが約1.2のとき、θ = ∠AOP = i となり(角度が虚数)、線分 OB の長さ(約1.5)が cos θ つまり cos i に当たる。常識的な複素平面の考え方から、次のことは何となく納得できる(?)でしょう。

【3】 説明。7ステップ。

ステップ1 単位円の円周上の点 (x, y) は
  x2 + y2 = 1   ……… ①
を満たしますが、それを拡張して、複素数の範囲の「複素単位円」を考えます。つまり、何だか分からないけど、とにかく①を満たす複素数のペア (x, y) の全体を考えましょう。実数も複素数の一種なので、「普通の単位円」の円周上の点も、複素単位円の一部です。それに加えて、例えば点 (√2, i) も、何だか分からないけど「複素単位円の円周」上にあります。次のように、(√2, i) は①を満たすからです:
  (√2)2 + i2 = 2 + (−1) = 1

PNG画像

ステップ2 xy-平面と、それに直交するz軸を考え、xy-平面上の単位円を考えてください。この段階では、z軸はただの飾りで、議論とは無関係。図は、単位円を斜め上から見下ろしたイメージ。

図の点 Q は(普通の)単位円上の点で、θ = ∠AOQ とすると、Q のx-座標(つまり線分 OT の長さ)が cos θ です(T は Q からx軸に下ろした垂線の足)。ここまでは普通の話

扇形 AOQ の面積は θ/2。見方を変えれば、扇形の中心角 θ は、扇形 AOQ の面積の2倍(予備知識1参照)。

ステップ3 さて、ここで「z軸の座標は、yの虚部を表す」と思ってください(つまり yz-平面は、複素数 y を表す複素平面)。x の虚部を気にすると4次元的になって面倒なので、今はそのことを考えず、x を実数に限定しましょう。以降の図では、y軸が省略されています(心の中で思い浮かべてください)。

PNG画像

線分 OA の長さは 1 ですが、とりあえず図の OS の長さも 1 とします。すると点 A の座標は (1, 0)、点 S の座標は (0, i) になります(z軸は y の虚部なので)。点 B の座標を (√2, 0) だと思ってください。すると点 P は (√2, i) ですから、前述のように、複素単位円の「円周」上にあります。

より一般的に y を任意の純虚数、その虚部を z とすると(つまり y = zi)、①の条件は:
  x2 + (zi)2 = 1   ……… ②

②は x2 − z2 = 1 という意味なので、y が純虚数のときの「複素単位円の円周上の点」は、xz-平面上の単位双曲線になります(予備知識2参照)。

ステップ4 双曲線の扇形 AOP を思い浮かべてください。この扇形の弧は xz-平面上の双曲線ですが、それは複素単位円の円周の一部。つまり θ = ∠AOP は「複素数の範囲に拡張した単位円」から切り取った扇形の、中心角です。中心角は、面積の2倍(予備知識1参照)。ところが、xz-平面上の図形というのは、底辺(幅)が実数、高さが純虚数なので、純虚数の面積を持つはず。従って θ は純虚数の角度。…普通の cos の定義と全く同様に考えると、cos θ は、P のx座標(言い換えると、P からx軸に落ちる影の長さ、つまり線分 OB の長さ)でしょう…とりあえず、そう解釈しておくと、cos θ が OA = 1 より大きい実数であることが、鮮明にイメージできます。

一般に、cos に純虚数 θ をぶち込むと、θ の値に比例して扇形 AOP の面積が決まり、そのことから 点 P が双曲線上の決まった場所に来て、cos θ として 1 以上の実数が出てくる。

ステップ5 一方、P のy座標が sin θ ですが、y軸(図では省略されている)を思い浮かべると、P のy座標は 0 であるように思えます。事実それが y = sin θ の実部。私たちの作図には、それとは別に、y の虚部を表すz座標というもう一つの次元があります。P のz座標に当たる点は S なので、OS の長さが y = sin θ の虚部。以上をまとめると、θ が純虚数のとき、sin θ は純虚数。

ステップ6 ステップ5によって気付くこととして、ステップ4で x = cos θ を考えたとき、私たちは、xの虚部を表す第4の次元を無視しています。無視していいのでしょうか…。
  x = a + bi, y = c + di (a, b, c, d は実数)
…とすると、任意の点は (a, b, c, d) という形の4次元的座標を持っています。私たちの作図では、a が x座標、c がy座標、d がz座標。そして、4次元の一般論を避けるため、x を実数と仮定したのでした。そうすると、考えている範囲の点については、仮定より b = 0 であり、言い換えると、全ての点は (a, 0, c, d) の形の4次元的座標を持っています。点 P の「b座標」(b成分)も 0 であり、それが x = cos θ の虚部。虚部 0 なので、ステップ4の結論(cos θ は実数)は、結局正しい。

4次元がイメージしにくければ、一時的に「図で省略されているのはy軸ではなくb軸」と思って、y軸のあるべき場所にb軸を思い浮かべてください。点 P のb座標が 0 であることが、簡単に分かるはず。

PNG画像

ステップ7(結論) 最初 OS = 1, OB = √2 として点 P の位置を決めましたが、それはあくまで双曲線上の点の一例。OS = 1 のとき P のy座標は i ですが、「そのとき ∠AOP がちょうど i になる」という意味ではありません。∠AOP がちょうど i になるのは、扇形AOPの面積が i/2 になるとき(予備知識1参照)。それは、この扇形の面積が、xz-平面上の普通の図形として考えて 1/2 になるとき。P がこの条件を満たすとき、OS の長さは約1.2、OB の長さは約1.5になります。つまり:
  cos i = 約1.5(実数), sin i = 約1.2i(純虚数)

具体的にどうやって、この数値が出てくるのか? xz-平面の双曲線を「普通の平面図」として描いてみると、目分量でもだいたい分かるのですが、上の図だけだと、「cos i は OA = 1 より大きい実数」という程度しか読み取れません。他にもいろいろ疑問は残るでしょう。それでも、この方法によって、純虚数の cos は 1 以上の実数になること、純虚数の sin は純虚数になることについて、明確なイメージを持てるでしょう。

双曲線関数の幾何学的定義と組み合わせると、少なくとも純虚数 y = zi に関して cos (zi) = cosh z が成り立つことも、鮮明にイメージ可能。というより、このイメージによって「双曲線関数の幾何学的定義が自然であること」を体感できる…。(今回の本題じゃないけど、「双曲線関数の幾何学的定義」と「通常の解析的定義」の同値性は、論理的にも導出可能。)

結論そのものは、オイラーの公式を通じて簡単に分かることですが、それだけだと「計算すると、なぜかそうなる」みたいな空虚さが残る…。上記の幾何学的考察を利用すると「三角関数と双曲線関数は、実数・虚数で裏表のような関係になっている。それは必然的」ということを実感できる…少なくとも「そうなっても不思議はない」という感触が得られるでしょう。(終わり)

✽

補足1 前回紹介したハマック先生は、このような幾何学的考察をさらに徹底的に実行しています*2(角度を純虚数に限らず、一般の複素数にしている)。しかし、それは難しいので、ここでは θ を純虚数に限定し、違う道筋を使った簡略版をお伝えしました。

補足2 θ が純虚数 ti のとき、P は図の双曲線上を動き、半直線 OP は「xz-平面上の x が負でない側」を動く。t が負なら、半直線 OP は、xy-平面の“下”側(z が負の領域)を向く(「負の角度」の純虚数バージョン)。…このように解釈すると(つまり双曲線の「右側」の枝だけを考えると*3)、全てつじつまが合うようです。具体的には、t の正負に応じて sin θ の虚部の正負が決まる一方、t が正でも負でも cos θ は 1 以上の実数。

*2 A geometric view of complex trigonometric functions
http://www.people.vcu.edu/~rhammack/reprints/cmj210-217.pdf

*3 左側にあるもう一方の枝については「複素数(純虚数ではない)の角度 θ = π + ti を表す」と解釈可能。その場合、cos θ の符号が補足2と逆(常に −1 以下の実数)になることは明白だが(点 P のx座標が負なので)、点 P の位置が xy-平面の上下どちらになるかについて、要注意(cos については、上でも下でも結果は同じだが)。…双曲線の扇形の「底辺の長さ」が負なので、「扇形の面積の符号」(扇形の位置がxy-平面の上か下かによって決まる)が、右側の枝の場合と逆。従って「t の正負」と「この上下」の関係が逆になり、sin θ の符号も補足2と逆になる。

2021-02-20 面積の目の錯覚 cos i の可視化(その2)

前回「虚数の角度」という概念を考え、意外と簡単に cos i = cosh 1 = 約1.5 などがイメージできるようになった。「オイラーの公式を経由して、頭で理解する」のと違い、「感覚的に分かる」。

PNG画像

cosh 1 は、図の「赤い扇形」の面積が 1/2 になったときの、扇形の先端のx座標。図のグレーの正方形グリッドは一辺1(従って面積1)で、5×5 = 25マスの小区画に分割されている。赤が12.5マス分になるように、扇形の斜辺を引けばいい。

ところで、水色の直角二等辺三角形も(正方形の半分なので)面積が 1/2。見比べると、赤の面積は、水色の面積より大きいような気がしないだろうか?

赤の面積は、次の図の「赤+オレンジ」の面積であり、それが水色の面積と等しいということは、オレンジの面積=黄緑の面積。でも、黄緑よりオレンジの方が広く見えないか?

PNG画像

もちろん「目分量」なんて曖昧で主観的なものだし、作図自体にも0.1~0.2マス分くらいの誤差があるかもしれない。それでも、オレンジの方が黄緑より広いような…?

数学の理想としては、どんなささいなことでも、疑問やモヤモヤを残してはいけない。こうなったら徹底的に、実際に一つずつ升目を数えてみよう。まずオレンジから。aの部分とその下の2マスの部分は、合計しても1マス分よりかなり小さいように見える。bの部分は左上・右下が少し欠けているが、隣のマスのオレンジと併せれば1マス分より少し大きいだろう。cの部分も、その左・上・右斜め上のオレンジと併せると、1マス分より少し大きい。…以上を合計すると、オレンジの面積はだいたい、ちょうど3マス分だろう。

一方、黄緑の面積は…。上下2マスにまたがるpの部分は、明らかに1マス分よりだいぶ大きい。上下2マスにまたがるqの部分は、1マス分より少し小さいが、p部分とq部分を併せると、ざっと2マス相当だろう。rから下に続く黄緑部分は、大して面積がないようにも思えるが、よく見ると5マスにまたがっていて、それらをかき集めると、合計1マス分…になるかは分からないが、結構それに近そう。p+q が2マス分より少し大きいかもしれないことを考えると、p+q+r の面積も、だいたいちょうど3マス分。

オレンジと黄緑は実際、どちらもちょうど3マス分くらい。違って見えるとしたら、目の錯覚だろう。すると、初めの図の赤は水色と同じ面積 1/2 であり、cos i = cosh 1 = 約1.5となる。…解析的に考えれば簡単に同じ答えが得られるが、自分の目で確かめたかった。

目が意外と当てにならない(錯覚を起こしやすい)例として、次の図を見てほしい(図の内容は本題と無関係ですが、3次方程式の実数解の個数の説明図です)。

PNG画像34a

横座標の絶対値が増えるにつれ、青点線と赤点線が、中央の緑のグラフに接近するように見える。つまり「緑は、両側から幅寄せされている」ように見える。ところが z1 地点や z2 地点で h に相当する縦線を引いてみると、緑のカーブと上下の点線の縦方向の距離は常に一定で、「幅寄せ」などされてないことが分かる。

面積は「縦・横」の積なのに、どうも人間の目は「縦・横」だけを純粋に考えず「斜め方向の距離」に注目してしまう場合があるらしい。最初の図についても、「斜め方向」のせいで、錯覚が生じやすいのかも…。具体的に、黄緑三角形の下の辺と上の辺(=正方形の対角線)は、斜め方向で考えると「急激に接近している」ように見え、その結果、黄緑の三角形の細さが、過剰に(実際以上に細く)認識されてしまう。純粋に縦座標を考えると、上の辺と下の辺の距離は、それほど急激には減少していない。

2021-04-09 ¼↑↑∞ = ½ 有理数に収束する無限タワー

クヌースのタワーといえば「巨大な数を表す」というイメージが強い。

<例1> 3↑↑4 = 3333 = 3327 = 37625597484987 = ざっと3兆6000億桁の数

約束として a^b^c = abc のようなものは、右から(上から)計算する。a^b^c = a^(b^c) であり (a^b)^c ではない。

ここでは「タワーに小さい正の数を入れると、どうなるか?」を考えてみたい。直観的には、巨大の反対で、どんどん 0 に近づくような気もするが…

  1. z = 1/4 = 0.25
  2. z↑↑2 = z^z = zz = (1/4)¼ = 1/√2 = 0.7071…
  3. z↑↑3 = z^z^z = (1/4)1/√2 = 0.3752…
  4. z↑↑4 = z^z^z^z = z^0.3752… = 0.5944… あれ、前より増えたよ
  5. z↑↑5 = z^z^z^z^z = z^0.5944… = 0.4386… 今度は減った
  6. z↑↑6 = z^z^z^z^z^z = z^0.4386… = 0.5443… また増えた

何やら振動しつつ、振幅が小さくなって収束しそうな気配が…

ブルートフォースで数値計算してみましょう。

\\ PARI/GP
tower(z,n) = { my(ret=1); for(i=1, n, ret=z^ret); ret; }

z↑↑100 = tower(z,100) = 0.5000000000000000475058…

z↑↑200 = tower(z,200) = 0.50000000000000000000000000000000574504…

n→∞ のとき z↑↑n = 0.5 になると予想される。いったん予想できれば、証明はトリビアル:

証明 z = ¼ のとき L = z^z^z^z^… が存在するなら L = z^(z^z^z^…) = z^L つまり L = z^L。L = ½ は、これを満たす。実際 (¼)½ = √¼ = ½。 □

¼ の「無理数の無理数乗」乗…のようなものが有理数に収束するのは、面白い!

上の証明から分かるように、f(z) = z^z^z^… を求めることは、f(z) = zf(z) という「不動点」を求めることに当たる。

ある数 a が与えられたとき、xex = a の解 x を W(a) と書く(ランベルトのW関数)。

<例2> x = log 2 のとき
  xex = (log 2)(elog 2) = (log 2) × 2 = log (22) = log 4
  従って W(log 4) = log 2

上記の「不動点」は、W関数を使うと −W(−log z) / log z に当たる。z = ¼ のとき L = ½ になるという事実は、W(−log ¼) = W(log 4) = log 2 と結び付く。

<例3> ½^½^½^… = 0.6411857445…

<例4> i^i^i^… = 0.4382829367… + i0.3605924718… (A077589参照)

<例5> (1/π)^(1/π)^(1/π)^… = 0.5393434988…

<例6> (1/e)^(1/e)^(1/e)^… = 0.5671432904… = W(1)

2021-04-10 目で見る i 乗 テツコのベルギーワッフル

1. xi を純虚数とすると、e の xi 乗は、単位円上の偏角 x の点(オイラーの公式)。

e の i 乗は、x = 1 のケースなので、偏角 1(約57.3°)の点に当たる。

PNG画像

ei の実部は cos 1 = 0.5403…、虚部は sin 1 = 0.8414…
  つまり ei = cos 1 + i sin 1

絶対値 |ei| = 1 (原点からの距離※)

偏角 Arg (ei) = 1

※ なぜなら任意の θ に対して cos2 θ + sin2 θ = 1。距離はその平方根。(ここでは θ 自体も 1。)…早い話が、原点を中心とする半径 1 の円周上の点なのだから、原点からの距離はもちろん 1 である。

弧度法の角度 1 は、度数でいうと (180 / π)° = (180 / 3.14…)° = 約57.3°。

角度 π / 3 = 1.047… は 60° なので、ei の実部・虚部は、それぞれ cos 60° と sin 60° に近い:
  cos 60° = 1 / 2 = 0.5  (cos 57.3° ≈ 0.54
  sin 60° = √ 3  / 2 = 1.732… / 2 = 0.866…  (sin 57.3° ≈ 0.84

(続く)

2021-04-11 目で見る i 乗(その2) 2 の i 乗…

2. 前回は ei を考えた。今回は一歩進めて 2i や 3i などを考え、ついでに「i の i乗根」なども求めてみたい。

事実としては、下図のように、2i や 3i なども、複素平面の単位円上にある。

PNG画像

これは Yi = ei log Y という定義に基づく(この定義の意味については後述)。

まず Y = 1 とすると log Y = log 1 = 0 なので 1i = ei × 0 = e0 = 1。

次に Y = 2 とすると log Y = log 2 = 0.693… なので 2i ≈ e0.693i。前回同様、これは単位円上の偏角 0.693(約39.7°)の点に当たる:
  2i = cos (log 2) + i sin (log 2) = 0.769… + (0.638…)i
  グラフの升目からも、0.77 + 0.64i くらいであることを読み取れる。

同様に Y = 3 のとき log Y = log 3 = 1.098… なので 3i ≈ e1.098i。これは偏角 1.098(約62.9°)の点:
  3i = cos (log 3) + i sin (log 3) = 0.454… + (0.890…)i

単位円の円周上で 2i と 3i の間――どちらかというと後者に近い点――に、ei がある(これについては前回詳しく調べた)。e = 2.718… なので、そうなって当然だろう。

以下同様に:
  log 4 = 1.386… ≈ 79.4°  4i = cos (log 4) + i sin (log 4) = 0.183… + (0.983…)i
  log 5 = 1.609… ≈ 92.2°  5i = cos (log 5) + i sin (log 5) = −0.038… + (0.9992…)i
  log 6 = 1.791… ≈ 102.6°  6i = cos (log 6) + i sin (log 6) = −0.219… + (0.975…)i

3. 図からも計算からも、5i が i = 0.0 + 1.0i の近くにあることが分かる。ai = i を満たす a が 4 と 5 の間にあるはず。そのような a について:
  i乗の定義から ei log a = i
  両辺の対数を考えて i log a = log i = πi/2 (※注1)
  両辺を i で割って log a = π/2
  だから a = eπ/2 = 4.81047738…

これは、およそ 4.81i が i に等しいという意味。図を眺めると、4i と 5i の間に i がある…というだけで、別に不思議なことでもない。

ところで、x3 = i を満たす x は、i の3乗根と呼ばれ、i1/3 とも書かれる。x4 = i を満たす x は、i の4乗根と呼ばれ、i1/4 とも書かれる。上記の a は ai = i を満たすのだから、i の i 乗根と呼ばれ、i1/i と書かれたとしても、おかしくない。さて:
  a = i1/i = i−i = (ii)−1 (※注2)
だから、この a は ii の逆数。そして:
  ii = 1/a = 1 / 4.81047738… = 0.20787957…

ii が実数になるのは、ai = i を満たす a が実数だから…という一つの直観が得られた!

(※注1) 複素数 z の対数(の主値)は、実部が log |z|、虚部が Arg z。この場合 |i| = 1 なので実部は log 1 = 0、Arg i = π/2 なのでそれが虚部。

(※注2) bpq = (bp)q のような計算は、一般には成り立たないが、p Log b の虚部が (−π, π] の範囲にあれば成立。この場合 b = i, p = i, q = −1 に当たり、p Log b = i(πi/2) = −π/2 の虚部は 0。同様の計算が成り立たない例は次の通り。1i = 1 は確認済みなので (i4)i = 1 だが、i4i = (ii)4 = (0.2078…)4 ≠ 1。この場合 4 Log i = 4(πi/2) の虚部が範囲外。

4. 複素数の複素数乗の定義は、次のように考えると話が早い。

愛情を求める
「いい方(かた)に会いたいよ」

複素数 Y の i 乗(愛情)を求める。愛情を求めるのだから「いい方に会いたいよ」と願う。

会いたいよ
アイ 対(数) よ
i log Y

それを「いい方」つまり e の肩に乗せればいい。

いい方に 会いたいよ
イー 肩に
e i log Y

より一般的に、任意の複素数 Y, u について、Yu = eu log Y(いい方に優待よ)。覚え方はともかく、なぜそう定義するのだろうか。

A = e = exp □ を成り立たせる □ のことを log A と書く。
  「log A」 とは
  A = exp □ の □ に当てはまる数のこと
…だから、
  A = exp 
の □ に log A と記入すると、もちろん正しい式になる:
  A = exp (log A)
今、A = Yu とすると:
  Yu = exp (log Yu)
実数の世界の対数法則によれば log Yu = u log Y。これを機械的に、上の式に入れると:
  Yu = exp (u log Y) = eu log Y

大ざっぱに言って、それをそのまま定義にした…。実際には、複素数の世界では log Yu = u log Y は必ずしも成り立たないけど、そのことは、上記の定義との関係においては、致命的な問題ではない。定義に従ってちゃんと値(主値)を計算できる。一つの背景として、log Yu と u log Y は等しくないとしても差が 2πi の整数倍なので、e の肩に乗せると、その差が消滅してしまう…。

(続く)

2021-04-13 目で見る i 乗(その3) (−2) の i 乗、(2i) の i 乗…

5. 前回は 2i などを考えた。正の数の i 乗は絶対値が 1、つまり単位円上にあるのだった。では負の数の i 乗や、虚数の i 乗は?

Y の i 乗の定義は
  Yi = ei log Y = exp (i log Y)
なので、例えば 2i の i 乗は:
  (2i)i = exp [i log (2i)]  …… ①

まず i log (2i) を計算しよう。

w = 2i について、絶対値 |w| = 2、偏角 arg w = π/2。

log w = log |w| + i arg w なので:
  log (2i) = log 2 + i(π/2)
従って:
  i log (2i) = i log 2 − π/2
これを①に入れると:
  (2i)i = exp [i log (2i)] = exp (i log 2 − π/2)  …… ②

π/2 も log 2 も実数。これらは、i log 2 − π/2 の実部と虚部。

実部 x、虚部 y の複素数 x + yi について、exp (x + yi) = ex cis y なので:
  (2i)i = ② = eπ/2 cis (log 2)  …… ③

ここで cis φ は cos φ + i sin φ の略。

複素数 A cis φ の絶対値は A、偏角は φ なので、③の絶対値は A = eπ/2 = 0.2078…、③の偏角は φ = log 2 = 0.6931…(約39.7°)―― 下図の ∠SOT。複素平面上で、大ざっぱに、傾き 40° の線(下図の赤線)と、半径 0.2 の円の交点に当たる。

PNG画像

同様に (−2)i = exp [i log (−2)] = exp [i (log 2 + iπ)] = exp (i log 2 − π) = eπ cis (log 2) も同じ偏角を持ち、絶対値は eπ = 0.0432…

6. このように、絶対値 2 の数 ―― 例えば 2i や −2、前回見た 2 など ―― を i 乗すると、結果の偏角は log 2 になる。より一般的に、絶対値 r の数を i 乗すると、結果の偏角は log r になる。一方、偏角 θ の数を i 乗すると、結果の絶対値は e−θ になる。実際、
  複素数 A cis B は、絶対値が A で偏角が B
ということに留意すると(A は正の実数、B は実数):
  (r cis θ)i
  = exp [i log (r cis θ)]  ← i 乗の定義より
  = exp [i (log r + iθ)]  ← log の性質より
  = exp (i log r − θ)  ← i (log r + iθ) =i × log r + i × iθ
  = e−θ cis (log r)  ← exp の性質より

要するに、i 乗という操作は「絶対値と偏角の入れ替え」のようなもの。入力の絶対値だけで出力の偏角が決まり、入力の偏角だけで出力の絶対値が決まる:
  入力の絶対値 r → 出力の偏角 log r
  入力の偏角 θ → 出力の絶対値 e−θ

特に、i の i 乗が実数になる訳は、i の絶対値が 1 だから ―― log |i| = 0 という偏角は、正の実数を表す。同じ理由から、i に限らず、絶対値 1 の任意の数を i 乗すれば、正の実数になる!

<例1> 複素数 ω = (−1 + i√ 3 ) / 2 = の絶対値は 1 なので、次の数は実数:
  ωi = [(−1 + i√ 3 ) / 2]i = e−2π/3 = 0.1231…
  なぜなら ω = cos (2π/3) + i sin (2π/3) = 1 cis (2π/3)

7. では逆に、Yi が実数になるのは、|Y| = 1 の場合に限られるか?

答えはノー。実数の偏角は 0 とは限らない ―― 出力の偏角が π なら、それは負の実数。だから Y = r cis θ について、もし log r = π なら、Yi は負の実数。|Y| = r = eπ = 23.1406… ならそうなる。

<例2> (eπ)i = (eπ cis 0)i = e−0 cis (log eπ) = 1 cis π = −1
  参考: b, p が実数なら(b ≠ 0)、任意の複素数 q について (bp)q = bpq
  従って、オイラーの公式経由で (eπ)i = eπi = −1 とすることも可。

☡ 危険な曲がり角 指数の結合 (bp)q = bpq は、一般には不成立。指数の交換 (bp)q = (bq)p も、一般には不成立。

<例3> (ieπ)i = (eπ cis π/2)i = eπ/2 cis (log eπ) = e−π/2 cis π = −e−π/2 = −0.2078…
  参考: π < Arg b + Arg c ≤ π なら (bc)p = bpcp。例2と組み合わせると
  (ieπ)i = ii(eπ)i = ii × (−1) = 0.2078… × (−1) という計算も可。

☡ 危険な曲がり角 指数の分配 (bc)p = bpcp は、一般には不成立!

実数を表す偏角は 0 と π だけではない。出力の偏角 log r が 0, ±π, ±2π, ±3π, etc. なら、それは実数を表している。つまり、入力 Y の絶対値 r = |Y| が ekπ の形なら(k は整数)、出力 Yi は実数。

<例4> (e2π)i = (e2π cis 0)i = e−0 cis (log e2π) = 1 cis (2π) = 1
  例2と同様に、オイラーの公式経由の (e2π)i = e2πi = 1 も可。

2021-04-14 ω 乗

i 乗という演算の面白い性質は、z がどんな複素数でも(絶対値がどんなに小さくても大きくても)、zi の絶対値が一定範囲に限られることだろう(主値の場合)。これは zi の絶対値が exp (−arg z) であること、そして arg z の主値が (−ππ] の範囲にあることによる:
  任意の z に対して exp (−π) ≤ | zi | < exp π (主値)

一般の複素数乗の場合には、そのような値域の制限はない。

【1】 1 の複素立方根(原始立方根) ω = ½(−1 + i√ 3 ) について ωω を求める。

ω = cos (2π/3) + i sin (2π/3) = exp (2πi/3) とも書ける。この数は、絶対値 1、偏角 2π/3 = 120°。

log ω = 2πi/3 に留意すると:
  ωω = exp (ω log ω) = exp [½(−1 + i√ 3 ) × 2πi/3]
  = exp [(−π/3)i − π 3  / 3]
  = exp (−π 3  / 3) cis (−π/3) = 0.16303353… × (½ − i√ 3  / 2)
  ≈ 0.081516767 − 0.14119118i

一般に、複素数 z が絶対値 r、偏角 θ を持つとき:
  zω = (r cis θ)ω
  = exp [ω × log (r cis θ)]  ← 複素数乗の定義より
  = exp [ω × (log r + iθ)]  ← log の性質より
  = exp [½(−1 + i√ 3 ) × (log r + iθ)]  ← ω の定義より
  = exp [(−log r − √ 3  θ) / 2 + i (√ 3  log r − θ) / 2]  ← 角かっこ内を実部・虚部に整理
  = exp [(−log r − √ 3  θ) / 2] cis [(√ 3  log r − θ) / 2]  ← exp の性質より
  = [r exp (√ 3  θ)]−1/2 cis [(√ 3  log r − θ) / 2]  ← 下記(※)の変形

入力の r は任意の正の実数値を取り得るので、上記の出力の絶対値も、入力次第で、いくらでも大きくも小さくもなり得る。

(※) 正の実数 r と実数 θ について:
  exp [(−log r − √ 3  θ) / 2] = [exp (−log r − √ 3  θ)]1/2
  = [exp (−log r) exp (−√ 3  θ)]1/2 = {(exp log r−1) [exp (√ 3  θ)]−1}1/2
  = {r−1 [exp (√ 3  θ)]−1}1/2

【2】 1 のもう一つの原始立方根 Ω = ½(−1 − i√ 3 ) について ΩΩ を求める。

Ω = ω2 = cos (−2π/3) + i sin (−2π/3) = exp (−2πi/3) とも書ける。この数は、絶対値 1、偏角 −2π/3 = −120°。

log Ω = −2πi/3 に留意すると:
  ΩΩ = exp (Ω log Ω) = exp [½(−1 − i√ 3 ) × (−2πi/3)]
  = exp [(π/3)i − π 3  / 3]
  = exp (−π 3  / 3) cis (π/3) = 0.16303353… × (½ + i√ 3  / 2)
  ≈ 0.081516767 + 0.14119118i

ωω は偏角 −60°、ΩΩ は偏角 60°。ちょっと面白い!

2021-04-18 1 の √2 乗は単位円上で稠密 整数の偏角も稠密

数直線上では、整数は飛び飛びに並んでいて、稠密(ちゅうみつ=ギッシリ)ではない。なぜ単位円上では、稠密になるのか…?

恐らく宇宙が生まれてから消滅するまでの間…
  ほとんど全ての実数は、一度も、どの星でも、使われることがない。
   ランダムに選んだたった一つの実数ですら、それを表現する方法がない。
    語り得ぬ対象なので、そもそも「ランダムに選ぶ」こと自体、不可能。
  にもかかわらず、平然と「任意の実数 x」について語る奇妙さ!

【1】 0 以外の数は、相異なる2個の平方根を持ち、相異なる3個の立方根を持ち、相異なる4個の4乗根を持つ。100乗根なら100個、1000乗根なら1000個。無理数、例えば
  √2 = 1.41421356…
という指数は、大ざっぱに 141/100 乗だと思えば、1/100 乗(つまり 100 乗根 ―― それは相異なる100個の値を持つ)のそれぞれを 141 乗したものだから、100個の値を持つ。もう少し細かく 1414213/1000000 だと思えば、100万乗根のそれぞれを 141万4213 乗したものだから、100万個の値を持つ。この「近似」は無限に細かく続けられるので、「無理数乗」が多価関数として無限個の値を持ち得ること自体は、直観的には当たり前に思える。

もう少しきちんと考えてみよう。

【2】 k を任意の整数とする。多価関数として log 1 = 0 + k(2πi) なので:
  12 = exp (√2 log 1) = exp (√2 × 2kπi) = exp (2√2kπi)

k = 0 のとき、この exp は 1 で偏角は 0。もし仮に 12 が有限個の値しか持たないとするなら、何乗かすると偏角 0 に戻らなければならない。それは「ある正の整数 k に対して 2√2k が 2 の倍数になる」という意味だが、その「2 の倍数」を 2n と書くと:
  2√2k = 2n
  √2 = n/k = 有理数
これは矛盾なので、上記「もし仮に」は成り立たず、12 は無限個の値を持つ。

無限個といっても、偏角が 2√2π の整数倍の点にしかタッチできない…。こんなスカスカな「点の集合」が、本当に稠密なのだろうか。でたらめに選んだ偏角、例えば 7/9 = 0.77777… に限りなく接近できるのだろうか、mod 2π で?

別の角度から考えてみよう。もし 0 でない整数 k を次々と選択して、角度 θ = Arg exp (2√2kπi) が限りなく 0 に近づくようにできるとしたら…?

その微小な角度 θ の整数倍の偏角を持つ点には全てタッチできるのだから、単位円上の任意の点に対して、最悪でも誤差 |θ| 未満まで接近できることになる。以下で見るように、√2 の整数倍はいくらでも整数に近づくので、そのような θ を実際に構成できる。

証明は、部屋割り論法(鳩の巣原理)による。例えば、小数点以下の最初の2桁によって、次のように鳩(数値)を0号室~99号室の100個の部屋に入れると、遅くとも鳩100番が入室した時点で、鳩が2羽以上入っている部屋がある(部屋が100個しかないのに、鳩が101羽いるので、必ず衝突が起きる)。同室になる2羽の鳩は、小数第1位と第2位が等しいので、その差は整数に近い。

実際、72√2 − 2√2 = 70√2 = 98.9949… は整数に近いので、n = 70 のとき偏角 2√2nπ は 2π の整数倍に近く、0 に近い角度を表す(360° = 2π の整数倍の違いを無視)。同様の議論によって:
  任意の正の整数 N について、1 ≤ n ≤ N の範囲に、次の条件を満たす整数 n が少なくとも一つ存在する。
  条件 n√2 は、整数との差が 1/N 未満

<例1> N = 10000 のとき n = 5741 が条件を満たす。実際 5741√2 = 8119.00006158…。整数との誤差は約 1/16238。

<例2> 例1の誤差 1/16238 では満足できないとしよう。そこで N = 16239 とすると、n = 13860 が条件を満たす。実際 13860√2 = 19600.9999744…。整数との誤差は約 1/39201。

<例3> 例2の誤差 1/39201 でも満足できないとしよう。そこで N = 39202 とすると、n = 33461。実際 33461√2 = 47321.0000105661…。整数との誤差は約 1/94642。

…この方法で、どんどん 0 に近づく θ = Arg exp (2√2nπi) の列が一つ得られる。単位円上の任意の点 P の偏角を φ とすると、nθ ≤ φ < (n+1)θ を満たす整数 n が存在して、nθ と φ の差の絶対値は |θ| 未満。

<例4> 偏角 7/9 = 0.77777… の近傍に行く例。鳩の巣により、いくらでも整数に近い n√2 の存在が保証されている。具体例として、
  n = 9369319 ⇒ n√2 = 13250217.999999924529…
を使うと、
  θ = Arg exp (2√2nπi) = −0.000000474194…
の絶対値は、十分に小さい。7/9 = 0.77777… は θ の何倍くらいだろうか。(7/9) ÷ θ を計算すると、答えは約 −1640207.09。7/9 は (−1640208)θ と (−1640207)θ の間にあり、どちらの係数を使っても、誤差は θ を超えない:
  k = −1640208n = −15367631978352 ⇒ Arg exp (2√2kπi) = 0.7777782075976…
  k = −1640207n = −15367622609033 ⇒ Arg exp (2√2kπi) = 0.7777777334028…

どんな小さい正の数 ε を考えたとしても、k をうまく選べば f(k) = Arg exp (2√2kπi) は、誤差 ±ε の範囲で 7/9 に接近できる(範囲指定)。これは「k をうまく選べば f(k) = 7/9 が正確に成り立つ」という意味(ピンポイント指定)ではない。7/9 に限らず、任意の実数 x が与えられたとき、f(k) は、x といくらでも近い値を持つことができるが(2π の整数倍の違いを無視して)、x とイコールになる保証はない(ほとんどの場合、イコールにはならない)。

f(k) は、可算個の値しか取れない。どんな狭い区間を考えても、そこにある実数は、可算個より多い(対角線論法)。結果として、f(k) は、範囲指定なら「どこでもOK」(どんな狭い区間にも侵入可能)だが、ピンポイント指定だと「ほとんど、どこも駄目」。

ギッシリ詰まってるのに、穴だらけ。指定された穴にいくらでも接近できるが、到達はできない(一般には)。

数学的には、いくらでも小さい数を考えられる。「到達せずに、いくらでも接近」は意味を持つ。けれど現実の宇宙・現実の物質は、このような「純粋」な位相を持たないらしい。極めて 0 に近い距離を考えると、量子論的効果が無視できなくなり「接近」と「到達」の区別が困難になる。

【3】 √2 に限らず、任意の無理数について、同様の議論が成り立つ。特に、k を任意の整数として log を多価関数として扱うと:
  11/(2π) = exp [1/(2π) × log 1] = exp [1/(2π) × 2kπi] = exp (ki)

これらの点も、永遠に循環しそうにない ―― 0 以外のどんな整数も、2π の整数倍と等しくなることはないので。実際、n, m を 0 でない整数として n = 2πm が成り立ったとすると、π が有理数になってしまい、事実に反する。…とすると、整数の偏角を持つ点も、単位円上で稠密。なぜなら、単位円を N 個の区間に等分して、相異なる N + 1 個の k を考えると、鳩の巣原理により…以下略。

単位円の一周を表す偏角 2π と、偏角 1 は「互いに素」(用語の乱用)、というか「互いに無理」。

整数は(より一般的に、任意の有理数は)、2π との比に関する限り無理数であり、他方、例えば π/3 は(それ自身は無理数だけれど)、2π との比は有理数になる。言葉にすると、当たり前…

1/(2π) は無理数だから、1/(2π) 乗は「無理数乗」の一般的性質に従う…と言えばそれまでだが、
  0, ±1, ±2, ±3, … の偏角は単位円上で稠密。
数直線上の 0, ±1, ±2, ±3, … はスカスカなのに、その数直線を単位円にグルグル巻き付けると、「整数点」だけで円周をギッシリ覆うことができる! 「整数と有理数の濃度が等しいこと」の可視化と解釈できるかも?

参考文献: J. David Taylor: A Note on Powers of Complex Variables (PDF)

付記: 規範文法の立場からは「稠密」の「稠」の読みはチュウ。記述文法の立場からは、この漢字はチュウ・チョウの2種類の音読みを持つ。JIS規格においてチョウが採用されている例もある(稠度)。

任意の実数を表現できないこと(コンピューターが実数を扱えず、浮動小数点型が離散的なこと)は、煎じ詰めると「この宇宙の実装による制限」かもしれない。もしコンピューターのメモリー上で「アドレス 0 から実数 x の距離のアドレス」に「大きさゼロの粒子」を置くことができ、そのアドレスをいつでも正確に測定・参照できるなら、実数 x を表現できることになる。「数直線上の点の位置」を表す絵文字(このアルファベットは非可算無限個の文字から成る!)を無限精度で読み書きできれば、任意の実数を有限の長さの記号列として表現できる。

画像の出典: アンの小箱 / Annenberg Foundation

2021-04-28 「宇宙の実装」と日常生活 助からないと思っても助かっている

もしコンピューターのメモリー上で「アドレス 0 から実数 x の距離のアドレス」に「大きさゼロの粒子」を置くことができ、そのアドレスをいつでも正確に測定・参照できるなら、実数 x を表現できることになる。(前回の観察)

もしそれが可能なら、非常に小さい領域(例えば、つまようじ1本)に無限ギガバイトの情報を保存できる。保存したい情報(ビット列)を巨大な2進整数 x だと思って、ようじの根元から 1/x センチメートルの地点に印を付ければ保存完了。

同様のことを電波でやれば、1ミリ秒で無限ギガバイトを送受信でき、インターネットはモバイルでも定点でも使い放題、紙資源に関する限りリソース枯渇の心配もなかっただろう…。

もちろんそんなことはこの宇宙じゃ無理! まさに「電波」。日常生活ってのは、意外と量子力学的な縛りを受けている。当たり前だが、宇宙の中身は宇宙の実装に支配されている。

時空は離散的で、光速は有限。それは、公理(仕様)なのだろうか、それとも定理(物理学的に必然)なのだろうか? もしリソースが無限だったら、誰も物を大切にせず、何の争いもない半面、分かち合う喜びもなく、世界はつまらないゲームになってしまう。ゲームバランスがうまく調整されているとすると、あらゆることは「適度に難しい」はずだが(=ハードルはあるが、越えられないハードルはない)、そのような楽観的な信仰は妥当だろうか。それとも、この宇宙の設計はいいかげんで「Earthlings」は無理ゲーなのだろうか?

40億年以上続いて、全球凍結だの小惑星衝突だのドラマチックなイベントが起きているところをみると、クソゲーではないようだが…


メールアドレス(画像)