行列乗算の真のビット複雑度は


9

通常の(行-列の内積)手法を使用した行列の乗算には、乗算と加算が必要です。ただし、サイズがビットの同じサイズのエントリ(乗算される両方の行列の各エントリのビット数)を想定すると、加算演算は実際にはビットで発生します。O n 3m O n 3 n m = O n 4 m O(n3)O(n3)mO(n3nm)=O(n4m)

したがって、ビットの複雑さを介して測定された場合の行列乗算の真の複雑さはなるはずです。O(n4)

(1)これは正しいですか?

乗算と加算の合計ではなく、ビットの複雑さを削減するアルゴリズムを作成した場合、これは、CoppersmithやCohnなどの研究者が試みたもの。O n 2 + ϵO(n3+ϵ)O(n2+ϵ)

(2)これは有効な引数ですか?

回答:


31

いいえ、ビットエントリの行列乗算のビット複雑度は。ここで、は、最もよく知られている行列乗算指数です。ビット数の乗算と加算は、時間で実行できます。2つのビット数を乗算すると、ビット以下の数が得られます。それぞれビットの数を追加すると、ビット以下の数になります。(それについて考えてください:合計は最大でなので、ビット表現は以下しかかかりませんnはωログN O 1 M ログM O 1 ω < 2.4 M M ログMを2 M 2 M N M M + ログN + O 1 N 2 Mのログn 2 M+ O 1 Mnω(logn)O(1)M(logM)O(1)ω<2.4MM(logM)2M2MnMM+logn+O(1)n2Mlog(n2M)+O(1) ビット)

高速整数乗算アルゴリズムへの参照は、Web検索またはウィキペディアで見つけることができます。


私の主張には欠陥があったと思います。ありがとうございました。ありがたいです。
T ..
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.