次の推論に何か問題があることは知っていますが、それが何であるかはわかりません。
FFT:
与えられた 2 つの多項式
A = a_0 + a_1 x + a_2 x^2 + ... + a_n x^nと
B = b_0 + b_1 x + b_2 x^2 + ... + b_n x^n積の係数を計算できます
AB = \sum _k = 0 ^ 2n ( \sum _ j = 0 ^ k (a_j b_{k-j}))x^k間に合い
O(n log n )ます。したがって、2 つのベクトルが与えられた場合、時間内にベクトルを
(a_0, ..., a_n)計算(b_0, ..., b_n)できます(ベクトルをゼロに埋め込むことによって)。v_i = \sum j = 0 ^ k ( a_j b_{k-j})O(n log n)上記を考えると、ベクトルの 1 つを前処理し、時間内に 2. のように畳み込みを計算することによって、
A =(a_0, ..., a_n)との内積を計算できるはずです。B =(b_0, ..., b_n)A.B = \sum_j=0 ^ n a_j b_jO(n log n)BB' = (b_n, b_{n-1}, ..., b_1, b_0)O(n log n)
上記の推論が正しければ、時間内の内積を計算することで、2 つの行列の行列乗算を時間内に実装できることを意味しnxnます。O(n^2 log n )O(n log n)O(n)
ただし、私たちが知っている行列乗算の最適な実行時間は約でO(n^2.4)あるため、これが真実である可能性は低いと思われます。これは、おそらくステップ 1、2、または 3 の意味が正しくありません。