虚数単位を指数で表してオイラーの公式を導く
$ e^{iX}=i なる$ X ?
近似式側から求める
絶対値1の虚数に掛け算して$ i になる数$ x + iy
$ (a + ib)(x + iy) = i
$ \iff x + iy = b + ia
元の数の実部と虚部を入れ替えればよい
絶対値1の虚数にの部分を緩めるとどうなる?あんも.icon
$ |e^{ix}| = 1 であることからかかる制限
実際の手続き
$ \exp(i)
0.5403023053454471 + 0.8414709851429887im
$ \exp\left(i + \frac{i}{2}\right)
0.07073720073866646 + 0.9974949866692726im
$ \exp\left(i + \frac{i}{2} + \frac{i}{2^4}\right)
0.008296230653758382 + 0.9999655856856071im
$ \exp\left(i + \frac{i}{2} + \frac{i}{2^4} + \frac{i}{2^7}\right)
0.00048382580104173404 + 0.9999998829555967im
1/2^11までやると負の値になってうまくいかなかったあんも.icon
処理の条件がありそう?
残りの処理
十分小さいxで成り立つ近似式で定める
$ e^{ix} \simeq 1 - \frac{1}{2}x^2 + ix
code:jl
expi(x) = 1 - 1/2 * x^2 + im * x
expi(0.00048382580104173404)
$ \exp\left(i + \frac{i}{2} + \frac{i}{2^4} + \frac{i}{2^7} + 0.00048382580104173404 i\right)
3.388673890103444e-16 + 0.9999999999993133im
指数の値
$ 1 + 1/2 + 1/16 + 1/128 + 0.00048382580104173404
1.5707963258010418
想像を飛躍させる
$ π/2
1.5707963267948966
虚数単位を指数関数で表せた
$ e^{i\pi/2} = i
3.14159265_16020836
$ e^{i\pi} = -1
1後退で指数が1/2になる
code:jl
function approx_exp_i(step, backward=0)
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-backward)
z = square_complex(z)
end
return z
end
approx_exp_i.(14, collect(0:14))
approx_exp_i(14)
approx_exp_i(14) * approx_exp_i.(14, 1)
approx_exp_i(14) * approx_exp_i.(14, 1) * approx_exp_i.(14, 4)
approx_exp_i(14) * approx_exp_i.(14, 1) * approx_exp_i.(14, 4) * approx_exp_i.(14, 7)
COordinate Rotation DIgital Computer