はじめに 最近Qiitaでpython関係の記事を検索して読んでいるのですが、割とよくnumpyやscipyの良さを活かしきれていないコードを見かけます。おそらく私と同じくコンパイラ型言語のFortran, C, C++を使ってプログラミングを始めたために、インタープリタ型言語のPythonを使っても同じようなコードを書いてしまっているのだろうと思いますが、非常にもったいないです。そこで数値計算に特化して、どうやって速いコードを書くかを実例を示しながら説明していこうと思います。 計算を高速に実行するためのポイント forループを書かない 一番大事なことはforループを可能な限り避けることです。配列に対して計算を行うとき、Fortran, C, C++ではforループを使って各要素ごとに計算を行います。 const int n = 1000; auto v = std::vector(n);