あらきけいすけのメモ帳

あらきけいすけの雑記帳2

Pythonの組み込み関数pow()は複素数を代入できたり出力したりする

教育用の覚書。累乗根の計算をやらせていてビックリしたのでメモ。Python のドキュメント https://docs.python.org/ja/3/library/functions.html#pow のどこにも書いていないが、組み込み関数*1の指数関数 pow(), べき乗演算 ** は複素数の範囲で計算を実行できるようだ。pow(-1,0.5), (-1)**0.5 (すなわち\sqrt{-1}=i)は (6.123233995736766e-17+1j) を返す。pow(0+1j,0+1j), 0+1j**(0+1j) (すなわち\displaystyle i^i=\left(e^{\frac{\pi}{2}i}\right)^i=e^{-\frac{\pi}{2}}*2)は (0.20787957635076193+0j) を返す*3

*1:math, cmathライブラリではない。

*2:本当は \displaystyle i=e^{\frac{\pi}{2}i+2\pi n i}, n\in\mathbb{Z} なので値は無限個ある。

*3:math.exp(-math.pi/2) は 0.20787957635076193 を返す。