私はAlgorithmsのテキストでこのトピックを勉強しています。実際にFFTを使用して多項式乗算を実装するにはどうすればよいですか?
結束の複雑なルーツの巧妙な使い方は、数学的に作用しているようです。しかし、私は実際にどのようにコンピュータでこれを表すことができるか分かりません。
私は2つのことを考えることができます:
- は、複素数を表現するために実数/虚数分解を使用してください。しかし、これは浮動小数点数を使用することを意味します。これは、私のアルゴリズムを数値エラーに開放することを意味し、2つの多項式に整数係数を乗算したい場合でも精度が失われます。
- exp(i 2pi/n)をnと表します。だから、私は最終的にオメガのタプルを取得し、このフォームでそれを保持しなければならないと、私は基本的に再びオメガの多項式乗算を行い、正方形に戻します。
このアルゴリズムの実装は、おなじみのプログラミング言語で見たいと思っています。
「Numerical Recipes in C」は、すべての栄光の中でFFTを実装しています。 NumPy/SciPyにはPythonのバージョンがあります。 Javaのオープンソースライブラリがあります。あなたが知っている言語を見つけ、ソースをダウンロードしてください。 – duffymo
おそらくhttps://math.stackexchange.com/questions/764727/concrete-fft-polynomial-multiplication-example? –