ในขั้นตอนวิธีการ Strassen, การคำนวณผลิตภัณฑ์สองเมทริกซ์และB , เมทริกซ์และBจะแบ่งออกเป็น2 × 2การฝึกอบรมป้องกันและขั้นตอนวิธีการดำเนินการซ้ำคอมพิวเตอร์7บล็อกผลิตภัณฑ์แมทริกซ์แมทริกซ์เมื่อเทียบกับไร้เดียงสา8 matrix- บล็อก ผลิตภัณฑ์เมทริกซ์คือถ้าเราต้องการC = A Bโดยที่
A = [ A 1 , 1 A 1 , 2 A 2 , 1 A 2 , 2ABAB2 × 278C = A B
จากนั้นเรามี
C 1 , 1 = A 1 , 1 B 1 , 1 + A 1
A = [ A1 , 1A2 , 1A1 , 2A2 , 2] , B = [ B1 , 1B2 , 1B1 , 2B2 , 2] , C = [ C1 , 1ค2 , 1ค1 , 2ค2 , 2]
ซึ่งต้องการ
8 การคูณ ใน Strassen เราคำนวณ
M 1 :=( A 1 , 1 + A 2 , 2 )( B 1 , 1 + B 2 , 2 )ค1 , 1= A1 , 1B1 , 1+ A1 , 2B2 , 1ค1 , 2= A1 , 1B1 , 2+ A1 , 2B2 , 2ค2 , 1= A2 , 1B1 , 1+ A2 , 2B2 , 1ค2 , 2= A2 , 1B1 , 2+ A2 , 2B2 , 2
8
และรับ
C i , j 's ใช้
M kเป็น
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( ข1 , 2- ข2 , 2)M4: = A2 , 2( ข2 , 1- ข1 , 1)M5: = ( A1 , 1+ A1 , 2) B2 , 2M6: = ( A2 , 1- ก1 , 1) ( B1 , 1+ B1 , 2)M7: = ( A1 , 2- ก2 , 2) ( B2 , 1+ B2 , 2)
คฉัน, JMk
อย่างไรก็ตามตัวเลือกของเมทริกซ์
M kดูเหมือนจะเป็นเรื่องที่ไม่ชอบสำหรับฉัน ทำไมเราถึงเลือกผลิตภัณฑ์เฉพาะของเมทริกซ์ย่อยของ
Aและ
B ? นอกจากนี้ฉันคาดว่า
M kจะเกี่ยวข้องกับ
A i , jและ
B i , jในแบบสมมาตรซึ่งดูเหมือนจะไม่เป็นเช่นนั้น ตัวอย่างเช่นเรามี
M 2 :=ค1 , 1= M1+ M4- M5+ M7ค1 , 2= M3+ M5ค2 , 1= M2+ M4ค2 , 2= M1- M2+ M3+M6
MkABMkAฉัน, JBฉัน, J 1
ผมจะคาดหวังคู่พูด
1 , 1 ( B 1 , 2 + B 2 , 2 )นอกจากนี้ยังจะได้รับการคำนวณ แต่ก็เป็นไม่ได้เพราะมันสามารถหาได้จากที่อื่น ๆ
M k 's
M2: = ( A2 , 1+ A2 , 2) B1 , 1A1 , 1( ข1 , 2+ B2 , 2)Mk
ฉันจะขอบคุณถ้ามีคนโยนความสว่างนี้