ℯの虚数乗の値を求める
$ e^i を近似式から求める
十分小さいxで成り立つ近似式
$ e^{ix} \simeq 1 - \frac{1}{2}x^2 + ix
十分小さいxを選ぶ
絶対値
$ |e^{ix}| = e^{ix} \cdot e^{-ix} = e^{i(x-x)} = 1
$ \left| 1 - \frac{1}{2}x^2 + ix \right| = \sqrt{1 + \frac{1}{4}x^4}
$ x^4 \approx 0 になるようにxを選べば高い計算精度が望める
$ x^4 \approx 0 になるようにxを選ぶ
12桁電卓であれば1/2^10
正しい選び方?あんも.icon
(1/2^14)^4
$ log2(eps()) / -4
$ 2^{-4t} < \varepsilon
(1/2^26)^4
(1/2^63)^4
何で評価すべきかわからない
桁落ちが起きている?
2乗を繰り返して$ e^i まで前進させる
$ (A+iB)^2 = A^2 - B^2 + i2AB
精度の確認
(1/2)^(14)スタート
0.5403023053454471 + 0.8414709851429887im
ℯ^imの計算機による値
0.5403023058681398 + 0.8414709848078965im
code:jl
function approx_exp_i(step)
step_size = (1/2)^step
z = 1 - 1/2 * step_size^2 + im * step_size
function square_complex(z)
real_part = z.re^2 - z.im^2
imag_part = 2 * z.re * z.im
return real_part + im * imag_part
end
for _ in 1:step
z = square_complex(z)
end
return z
end
approx_exp_i(14)
approx_exp_i(24)
approx_exp_i(26)