P1=A(F-H) P2=(A+B)H面試
P3=(C+D)E P4=D(G-E)算法
P5=(A+D)(E+H) P6=(B-D)(G+H)編程
P7=(A-C)(E+F)讀書筆記
矩陣A和B相乘表示爲:
AB=[ P5+P4-P2+P6 P1+P2]
[P3+P4 P1+P5-P3-P7]
將A和B以及它們相乘的結果矩陣C分解:
A=[A11 A12] B=[B11 B12] C=[C11 C12]
[A21 A22] [B21 B22] [C21 C22]
咱們要求C11,C12,C21,C22:
C11=A11B11+A12B21 C12=A11B12+A12B22
C21=A21B11+A22B21 C22=A21B12+A22B22
咱們再定義7個矩陣:
M1=(A11+A22)(B11+B22) M2=(A21+A22)B11
M3=A11(B12-B22) M4=A22(B21-B11)
M5=(A11+A12)B22 M6=(A21-A11)(B11+B12)
M7=(A12-A22)(B21+B22)
所以:
C11=M1+M4-M5+M7
C12=M3+M5
C21=M2+M4
C22=M1-M2+M3+M6
本文爲《編程之法 面試和算法心得》讀書筆記。