複素数の反転に関するメモ
反転とは
反転、というと言葉の意味から言えば逆数が思い浮かぶ。しかし、逆数は逆数であって、反転という別の言葉を使う以上、反転と逆数は全く違う概念である。
高校数学で言うところの「反転」とは主に円に対する反転の話が問題となる。
半径r、中心Oの円に対して、点Pがある。その時、点Pを半直線OP上にあり$${OP・OP' = r^2}$$を満たす点に移動することを「反転」と呼ぶ。
ここで気をつけておかねばならないことは、「半直線」であることだ。
「直線」OPであれば、その条件を満たす点は2つあることになる。
半直線OPの場合は点OからPの先まで永久に伸びる直線だが、Oより先には伸びないので、この「反転」の条件を満たすP'はただ一つしか存在しない。
つまり、全ての点Pに対して唯一の点P'が存在するわけだからこの反転という現象は「関数」と言える。
ちなみに「関数」が何であるかは東大・京大レベルを受験する人は言えるようにしておくべきだが、ここでは割愛する。
余談ではあるが、この「反転」と言う概念は円だけではなく直線に対しても使える。直線に対して反転というのは単に鏡写しにしただけだと考えれば良い。
複素数平面での反転
さて、これを複素数平面の単位円で考えると面白い現象が起きる。
わかりやすく、単位円内の複素数で考えてみよう。
複素数平面内のある複素数$${{z = ai + b}}$$(aとbは実数)について考えてみよう。
「反転」が関数である以上、一つの値について必ず一つの結果が得られる。
つまり、複素数$${{z}}$$には必ず対となる複素数$${{z'}}$$が存在し、それを$${{z' = k(ai+b)}}$$(kは0以上の実数)と定義する。
$${{z'}}$$は原点から$${{z}}$$の方向に伸ばした半直線上の点であるので、このように定義できる。
この場合、反転の定義から、$${{z}}$$と$${{z'}}$$の絶対値の積が1になるので、
$${{|z||z'|=1}}$$
と表せる。つまり
$${{|ai+b||k(ai+b)|=1}}$$
なので
$${{k|ai+b|^2 = 1}}$$
$${{k = \frac{1}{|ai+b|^2}}}$$
$${{k = \frac{1}{|z|^2}}}$$
さらに両辺をz倍すると
$${{kz = \frac{z}{|z|^2}}}$$
となる。
また、複素数の場合、$${{|z|^2 = z\bar{z}}}$$であるから
$${{kz = \frac{z}{z\bar{z}}}}$$
$${{kz = \frac{1}{\bar{z}}}}$$
つまり、
$${{z' = \frac{1}{\bar{z}}}}$$
となる。
さて、これを自力で導き出すのはなかなかに難しいが、肝要なのはここからである。これが何を意味するか、と言うことだ。
共役な複素数というのも関数である。どの複素数にも必ず共役な複素数がただ一つ決まるわけだ。
共役な複素数の図形上の意味合いは、虚数軸に対して反転する、ということである。
つまり、複素数平面で第一象限にある複素数の共役な複素数は第二象限にあるし、第三象限にある複素数の共役な複素数は第四象限にある。
さて、今度は逆数について考えよう。
$${{ai+b}}$$の逆数は$${{\frac{1}{ai+b}}}$$であるが、これは分母を実数にすると$${{\frac{ai-b}{a^2+b^2}}}$$である。つまり、複素数平面で左右の象限を移動する方法は、共役にするだけでなく、逆数にすることでも左右の象限を変えることができるということである。
ただし、共役な複素数は単に原点からの距離は保ったまま、虚数軸に鏡写しのように反転するのに対し、逆数にした複素数は、元の複素数の原点からの距離を逆数にした距離($${{\frac{1}{a^2+b^2}}}$$)になりますよー、というお話である。
結果的に第一象限にあったものを共役にすると第二象限に移り、さらにそれを逆数にすると第一象限に戻ってきて、しかもそれが単位円の反転の定義と同じ位置に戻ってきます、というお話である。
わかってしまえばそれだけの話である。
身近な例に置き換えてみると
これをより実生活に近い話に置き換えてみよう。
私の住んでいるところから蕨駅まで行くには、まず最寄りの南浦和まで歩いて、そこから京浜東北線で蕨駅まで行けば良い。
つまり「共役」を徒歩、「逆数」を京浜東北線で一駅と考えると、私という複素数は「共役」して「逆数」すると蕨駅に到着するわけである。
一方で、マンションのすぐ前にはバス停があり、そこからも蕨駅方面のバスが出ている。であればバスに乗れば2つもの工程をこなさなくとも一発で蕨駅に到着できるわけだ。つまりバスに乗る、というのがこの問題で言うと「反転」ということになる。
徒歩で駅まで歩いて電車にっても、単に目の前からバスに乗っても結果的に蕨駅に到着するのと同じく、複素数は共役にして逆数にしても、単位円に対して反転させても結果同じところにたどり着く、というお話である。
実用的な例にしてみると
話を簡単にしすぎず、これが実生活にどう応用できるかという話を考えてみよう。
一番わかりやすいのが地図である。
そもそもどうやって地球という膨大な面積を小さな紙一枚で表現できるのか、考えてみよう。
もちろん、普通に実数の面だと捉えて計算してプロットしても良い。ただしその場合、基準となる点が1万個あるとしたら、原点からそこまで直線を引いて、距離の二乗に反比例する計算を1万回やらなくてはならない。
つまり、$${{\frac{1}{\sqrt{a^2+b^2}}}}$$のような、面倒な計算を1万回やらなくてはならない。
もっと精密な地図を書きたければ、その計算が、100万回、1000万回という回数になる。
それに対して、地球を複素数平面(実際には曲面だが)のように捉えれば、1万個の基準点に対してその座標を共役にして逆数にすればいいわけだから計算がものすごく楽になる。
つまり、地球を地図で表すときに一回地図を書くのにかかる計算コストが大きく違うのである。
計算機やコンピューターを使っていても、計算にコストがかかる、という概念は専門のエンジニア以外にはピンとこないと思う。
が、わかりやすい例で言うならば、アメリカのある州の電気代の半分はGoogleが使っているらしい。
ということは、Google Mapだけで、毎日10億円くらい電気代がかかっていても不思議ではない。
それをある日、数学に明るいエンジニアがGoogleにやってきて、地図表示のプログラムを複素数平面の計算に変えたとする。結果それで1日1億円、電気代が減らせるかもしれない。
実際、javascriptで$${{\frac{1}{\sqrt{2^2+3^2}}}}$$と$${{\frac{1}{3-2}}}$$を1億回ずつ計算してみた結果、計算終了までにかかった時間は概ね10倍程度の差が出た。
たった一つの数式で1年で365億円の利益を生むのであればそのエンジニアの価値は年収365億円である。しかもたった一つの数式がお金だけでなく地球環境やエネルギー問題にすら影響を与えられるわけである。
たった一つの数式で大谷選手のような価値を生み出せる可能性があるのが数学である。
javascriptで計算した結果のコードを最後に記しておく
amount = 100000000
a=3
b=2
start_time = new Date();
for(let i = 0 ; i< amount; i++){
tmp = 1/Math.sqrt(Math.pow(a,2)+Math.pow(b,2))
}
console.log(new Date() - start_time);
start_time_2 = new Date();
for(let i = 0 ; i< amount; i++){
tmp = 1/(a - b);
}
console.log(new Date() - start_time_2);