「『アルゴリズムC 第3巻』の「41 高速フーリエ変換」をPythonで」、「FFTを使って2つの多項式の積を求めるプログラム」に引き続き、NTT(数論変換)を使って2つの多項式の積を求めるプログラムを作ってみました。
2つの多項式の積を求めるプログラム(convolution_ntt.py
)
実行結果
, のとき、を求めてみます。 実行結果は以下の通りです。当然ですが、FFTを使ったものと同じ結果となっています。
% python convolution_ntt.py 1 1 1 2 -1 1 2 1 2 0 1