分割統治法で行列の乗算を機能させるのに問題があります。私が理解していることから、サイズnxnの行列を象限に分割し(各象限はn / 2です)、次のようにします。
C11 = A11⋅ B11 + A12 ⋅ B21
C12 = A11⋅ B12 + A12 ⋅ B22
C21 = A21 ⋅ B11 + A22 ⋅ B21
C22 = A21 ⋅ B12 + A22 ⋅ B22
分割統治法の出力は非常に大きく、再帰があまり得意ではないため、問題を理解するのに苦労しています。
出力例:
元のマトリックスA:
4 0 4 3
5 4 0 4
4 0 4 0
4 1 1 1
A x A
クラシック:
44 3 35 15
56 20 24 35
32 0 32 12
29 5 21 17
分割統治:
992 24 632 408
1600 272 720 1232
512 0 512 384
460 17 405 497
分割統治法で私が間違っていることを誰かに教えてもらえますか?私の行列はすべてでint[][]
あり、古典的な方法は、従来の3forループ行列の乗算です。