Trong thuật toán Strassen, để tính tích của hai ma trận và B , các ma trận A và B được chia thành 2 × 2 ma trận khối và các thuật toán đệ quy tiền thu được tính toán 7 khối sản phẩm ma trận ma trận như trái ngược với một ngây thơ 8 matrix- khối sản phẩm ma trận, nghĩa là, nếu chúng ta muốn C = A B , trong đó
A = [ A 1 , 1 A 1 , 2 A 2 , 1 A 2 , 2MộtBMộtB2 × 27số 8C = A B
thì ta có
C 1 , 1 = A 1 , 1 B 1 , 1 + A 1
A = [ A1 , 1Một2 , 1Một1 , 2Một2 , 2] , B = [ B1 , 1B2 , 1B1 , 2B2 , 2] , C = [ C1 , 1C2 , 1C1 , 2C2 , 2]
đòi hỏi
8phép nhân. Thay vào đó trong Strassen, chúng tôi tính
M 1 :=( A 1 , 1 + A 2 , 2 )( B 1 , 1 + B 2 , 2 )C1 , 1= A1 , 1B1 , 1+ A1 , 2B2 , 1C1 , 2= A1 , 1B1 , 2+ A1 , 2B2 , 2C2 , 1= A2 , 1B1 , 1+ A2 , 2B2 , 1C2 , 2= A2 , 1B1 , 2+ A2 , 2B2 , 2
số 8
và thu được
C i , j 's sử dụng
M k ' s là
C 1 , 1 = M 1 + M 4 - M 5 + M 7M1: = ( A1 , 1+ A2 , 2) ( B1 , 1+ B2 , 2)M2: = ( A2 , 1+ A2 , 2) B1 , 1M3: = A1 , 1( B1 , 2- B2 , 2)M4: = A2 , 2( B2 , 1- B1 , 1)M5: = ( A1 , 1+ A1 , 2) B2 , 2M6: = ( A2 , 1- A1 , 1) ( B1 , 1+ B1 , 2)M7: = ( A1 , 2- A2 , 2) ( B2 , 1+ B2 , 2)
Ctôi , jMk
Tuy nhiên, việc lựa chọn ma trận
M k 's có vẻ tùy ý đối với tôi. Có một bức tranh lớn hơn về lý do tại sao chúng ta chọn các sản phẩm cụ thể này của ma trận con của
A và
B không? Ngoài ra, tôi mong muốn
M k 's liên quan đến
A i , j và
B i , j ' theo kiểu đối xứng, dường như không phải là trường hợp ở đây. Chẳng hạn, chúng ta có
M 2 :=C1 , 1= M1+ M4- M5+ M7C1 , 2= M3+ M5C2 , 1= M2+ M4C2 , 2= M1- M2+ M3+ M6
MkMộtBMkMộttôi , jBtôi , j . Tôi hy vọng đối tác của nó nói
A 1 , 1 ( B 1 , 2 + B 2 , 2 ) cũng sẽ được tính toán. Tuy nhiên, không phải vì nó có thể được lấy từ các
M k 's khác.
M2: = ( A2 , 1+ A2 , 2) B1 , 1Một1 , 1( B1 , 2+ B2 , 2)Mk
Tôi sẽ đánh giá cao nếu ai đó có thể làm sáng tỏ điều này.