2021年4月22日木曜日

1のべき根を計算してみる ー Julia篇

 なんで Julia かと言えば、コードがほぼ数式連想 (ド・モアブルの定理) から記述できる。

たとえば、rosettacode.org にあるコードを引用すると、

nthroots(n::Integer) = [ cospi(2k/n)+sinpi(2k/n)im  for k = 0:n-1]

println でこの定義を呼び出す。低次の例を試す。

println(nthroots(1))

...


出力は、次のようになった。

Complex{Float64}[1.0 + 0.0im]

Complex{Float64}[1.0 + 0.0im, -1.0 + 0.0im]

Complex{Float64}[1.0 + 0.0im, -0.4999999999999999 + 0.8660254037844387im, -0.5000000000000002 - 0.8660254037844385im]


ただ、64ビット浮動小数点の数値を比較してみると

最後のけたに誤差がある。

参考)   √3 = 1.7320508075688772935...





0 件のコメント:

コメントを投稿

Google chrome でエラー、再トライしてリブート

  再トライ リブート Chrome is up to date Version 117.0.5938.92 (Official Build) (64-bit)