[ 新着記事
| 数学・プログラミング
| 天文・暦
| シリア語・Unicode・詩
| ジョーク
| 漫画・アニメ
| 字幕
| 哲学・ファンタジー
| 全記事 ]
チラ裏コーナー(過去のチラ裏)
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 について【う】の主値は 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-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 が成り立つ保証はない。
Map
の長所、splice
より速い要素挿入法も紹介。 〔最終更新: 2016年4月10日〕bdi
要素と Unicode 6.3 の新しい双方向アルゴリズム (2012-12-04)dir
属性は落とし穴が多い。HTML5 の <bdi>
は役立つ。近い将来、「ユーザー入力欄などの語句は、このタグで隔離」が常識になるかも。 〔最終更新: 2014年4月27日〕fad()
は濁りやすい。各種の代替手段を紹介。msystem.waw.pl
/ videolan.org