質問
ん違和感があり、以下の推論がお使いいただくことによってです。
めのソフトウエア:
二つの多項式
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 )
ます。で二つのベクトル
(a_0, ..., a_n)
や(b_0, ..., b_n)
を計算することができ ベクトルv_i = \sum j = 0 ^ k ( a_j b_{k-j})
にO(n log n)
時間による埋め込みのベクトルがゼロのままにしてお)以上のこを計算できるかもしれないドットの製品
A =(a_0, ..., a_n)
やB =(b_0, ..., b_n)
であるA.B = \sum_j=0 ^ n a_j b_j
にO(n log n)
時間による前処理のベクトルと言いB
するB' = (b_n, b_{n-1}, ..., b_1, b_0)
それをコンピューティングするこ畳み込みとして2.にO(n log n)
ます。
場合は、上記の推論が正しいなら、その手段とし、マトリクス乗算の nxn
マトリックス O(n^2 log n )
時間を計算することにより、ドット製品 O(n log n)
時間 O(n)
ます。
しかし、最高の実行時のための行列積の計算まであったかを知 O(n^2.4)
このようなtrue,その手段の手順に1,2,3が間違っています。
解決
があり n^2
エントリに、 n
このアルゴリズムが O(n^2 * n * log n) = O(n^3 log n)
.
最高のアルゴリズムとしてのド製品 O(n)
, ない O(n log n)
.このような理由から、ナイーブアルゴリズムの行列積の計算 O(n^3)
.( n^2
ドットの商品です O(n)
ます。
他のヒント
なぜかで達成する手順3でを計算することのできるドットの製品をO(n log n)時間では知られているドットの製品で計算するにはO(n)時間がかかる?またステップ2のようにな線形時間ではなくO(n log n)ステップ?
また、結論にはO(n^2log n)に準拠していない論理的にいを受けることができなドットの製品にはO(n)時にABマトリクス---、私が知っている限りに履きにはO(n^2)ドット製品は、(一解析)O(n^3log n)では劣るものの標準的にはO(n^3).この不思議なO(n log n)ドット製品ます。