2021年4月27日火曜日

1のべき根を計算してみる (Root of unity) — D 言語篇

 rosettacode.org からコードをコピーして実行してみる。

 $ dmd roots_of_unity.d

$ ./roots_of_unity

#1: [1.000+0.000i]

#2: [-1.000-0.000i, 1.000+0.000i]

#3: [-0.500+0.866i, -0.500-0.866i, 1.000+0.000i]

#4: [-0.000+1.000i, -1.000-0.000i, 0.000-1.000i, 1.000+0.000i]

#5: [0.309+0.951i, -0.809+0.588i, -0.809-0.588i, 0.309-0.951i, 1.000+0.000i]

#6: [0.500+0.866i, -0.500+0.866i, -1.000-0.000i, -0.500-0.866i, 0.500-0.866i, 1.000+0.000i]

#7: [0.623+0.782i, -0.223+0.975i, -0.901+0.434i, -0.901-0.434i, -0.223-0.975i, 0.623-0.782i, 1.000+0.000i]

#8: [0.707+0.707i, -0.000+1.000i, -0.707+0.707i, -1.000-0.000i, -0.707-0.707i, 0.000-1.000i, 0.707-0.707i, 1.000+0.000i]


std.range を import して iota を利用し、

auto nthRoots(in int n)  pure nothrow {

   return n.iota.map!(k => expi(PI * 2 * (k+1)/n));

}

で計算する。

https://en.wikipedia.org/wiki/Root_of_unity  にあるは、上の #5 である。





0 件のコメント:

コメントを投稿

江戸時代の金の勘定は4進法で

 『耳嚢』巻之一の目録に「盲人かたり事致す事」と題する雑談がある。 耳嚢(上) 全3冊 黄 261-1 岩波文庫 根岸鎮衛著 長谷川強校注 1991年1月16日第1刷発行 1991年2月25日第2刷発行 この話は、江戸時代のお金で「弐百疋(ひき)」という金子(きんす)を 手紙に入...