オイラーの公式
今日はスパコンで同じ内容なのに、CのプログラムがFortranプログラムより4倍遅いとの問い合わせを受け、調べていたら、複素数の指数関数cexpが遅いことが判明した。
さらに調べ、複素数の指数関数って、オイラーの公式
exp(ix) = cos(x) + i * sin (x)
を使って、精度を考えなければ、簡単に自作できてしまうことに気づき、自作cexpを作ってリンクしたところ、Fortranと同等の性能になることが分かった。オイラーの公式はマクローリン展開を使えば、簡単に証明できてしまう。さすがは、オイラー。こんなとこで、数学が役に立つとは思わなかった。まあ、コンパイラのせいじゃなくて、よかったよ。
ああ、数学やりてえなあ。
今日はスパコンで同じ内容なのに、CのプログラムがFortranプログラムより4倍遅いとの問い合わせを受け、調べていたら、複素数の指数関数cexpが遅いことが判明した。
さらに調べ、複素数の指数関数って、オイラーの公式
exp(ix) = cos(x) + i * sin (x)
を使って、精度を考えなければ、簡単に自作できてしまうことに気づき、自作cexpを作ってリンクしたところ、Fortranと同等の性能になることが分かった。オイラーの公式はマクローリン展開を使えば、簡単に証明できてしまう。さすがは、オイラー。こんなとこで、数学が役に立つとは思わなかった。まあ、コンパイラのせいじゃなくて、よかったよ。
ああ、数学やりてえなあ。