主题
Search

矩阵乘法


两个矩阵 AB 的乘积 C 定义为

 c_(ik)=a_(ij)b_(jk),
(1)

其中对 j 求和,j 的值取所有可能值,上面的符号使用了 爱因斯坦求和 约定。在没有显式求和符号的情况下,对重复索引的隐含求和称为 爱因斯坦求和,在矩阵和张量分析中都很常用。因此,为了定义矩阵乘法,矩阵的维度必须满足

 (n×m)(m×p)=(n×p),
(2)

其中 (a×b) 表示一个具有 a 行和 b 列的矩阵。显式地写出乘积,

 [c_(11) c_(12) ... c_(1p); c_(21) c_(22) ... c_(2p); | | ... |; c_(n1) c_(n2) ... c_(np)]=[a_(11) a_(12) ... a_(1m); a_(21) a_(22) ... a_(2m); | | ... |; a_(n1) a_(n2) ... a_(nm)][b_(11) b_(12) ... b_(1p); b_(21) b_(22) ... b_(2p); | | ... |; b_(m1) b_(m2) ... b_(mp)],
(3)

其中

c_(11)=a_(11)b_(11)+a_(12)b_(21)+...+a_(1m)b_(m1)
(4)
c_(12)=a_(11)b_(12)+a_(12)b_(22)+...+a_(1m)b_(m2)
(5)
c_(1p)=a_(11)b_(1p)+a_(12)b_(2p)+...+a_(1m)b_(mp)
(6)
c_(21)=a_(21)b_(11)+a_(22)b_(21)+...+a_(2m)b_(m1)
(7)
c_(22)=a_(21)b_(12)+a_(22)b_(22)+...+a_(2m)b_(m2)
(8)
c_(2p)=a_(21)b_(1p)+a_(22)b_(2p)+...+a_(2m)b_(mp)
(9)
c_(n1)=a_(n1)b_(11)+a_(n2)b_(21)+...+a_(nm)b_(m1)
(10)
c_(n2)=a_(n1)b_(12)+a_(n2)b_(22)+...+a_(nm)b_(m2)
(11)
c_(np)=a_(n1)b_(1p)+a_(n2)b_(2p)+...+a_(nm)b_(mp).
(12)

矩阵乘法是结合律的,可以通过以下方式看出

 [(ab)c]_(ij)=(ab)_(ik)c_(kj)=(a_(il)b_(lk))c_(kj),
(13)

其中再次使用了爱因斯坦求和。现在,由于 a_(il)b_(lk)c_(kj)标量,使用标量乘法结合律来写

 (a_(il)b_(lk))c_(kj)=a_(il)(b_(lk)c_(kj))=a_(il)(bc)_(lj)=[a(bc)]_(ij).
(14)

由于这对所有 ij 都成立,因此必定有

 (ab)c=a(bc).
(15)

也就是说,矩阵乘法是结合律的。因此,方程 (13) 可以写成

 [abc]_(ij)=a_(il)b_(lk)c_(kj),
(16)

没有歧义。由于结合律,矩阵在乘法下形成一个半群

矩阵乘法也是分配律的。如果 ABm×n 矩阵,并且 CDn×p 矩阵,则

A(C+D)=AC+AD
(17)
(A+B)C=AC+BC.
(18)

由于 n×n 矩阵在加法下形成一个阿贝尔群n×n 矩阵形成一个

然而,矩阵乘法通常不是交换律的(尽管如果 AB对角矩阵且维度相同,则是交换律的)。

两个分块矩阵的乘积是通过乘以每个分块给出的

 [o o    ; o o    ;   o   ;    o o o;    o o o;    o o o][x x    ; x x    ;   x   ;    x x x;    x x x;    x x x] 
 =[[o o; o o][x x; x x]  ;  [o][x] ;   [o o o; o o o; o o o][x x x; x x x; x x x]].
(19)

另请参阅

线性变换, 矩阵, 矩阵加法, 矩阵逆, Strassen 公式 在 MathWorld 课堂中探索这个主题

使用 Wolfram|Alpha 探索

参考文献

Arfken, G. Mathematical Methods for Physicists, 3rd ed. Orlando, FL: Academic Press, pp. 178-179, 1985.Fawzi, A. et al. "Discovering Faster Matrix Multiplication Algorithms With Reinforcement Learning." Nature 610, 47-53, 2022.Higham, N. "Exploiting Fast Matrix Multiplication within the Level 3 BLAS." ACM Trans. Math. Soft. 16, 352-368, 1990.

在 Wolfram|Alpha 中引用

矩阵乘法

请这样引用

Weisstein, Eric W. "矩阵乘法。" 来自 MathWorld--Wolfram Web 资源。 https://mathworld.net.cn/MatrixMultiplication.html

学科分类