矩阵乘法(英语:matrix multiplication)是一种根据两个矩阵得到第三个矩阵的二元运算,第三个矩阵即前两者的乘积,称为矩阵积(英语:matrix product)。设A是{\displaystyle n\times m}的矩阵,B是m\times p的矩阵,则它们的矩阵积AB是n\times p的矩阵。A中每一行的m个元素都与B中对应列的m个元素对应相乘,这些乘积的和就是AB中的一个元素。
矩阵可以用来表示线性映射,矩阵积则可以用来表示线性映射的复合。因此,矩阵乘法是线性代数的基础工具,不仅在数学中有大量应用,在应用数学、物理学、工程学等领域也有广泛使用。
矩阵交换律
矩阵乘法的两个重要性质: 一,矩阵乘法不满足交换律;二,矩阵乘法满足结合律。为什么矩阵乘法不满足交换律呢?这是由矩阵乘法定义决定的。因为矩阵AB=C,C的结果是由A的行与B的列相乘和的结果;而BA=D,D的结果是由B的行与A的列相乘和的结果。显然,得到的结果C和D不一定相等。同时,交换后两个矩阵有可能不能相乘。为什么它又满足结合律呢?假设你有三个矩阵A、B、C,那么(AB)C和A(BC)的结果的第i行第j列上的数都等于所有A_{ik}*B_{kl}*C_{lj}的和(枚举所有的k和l)。
矩阵乘法公式
满足结合律:
{\displaystyle A(BC)=(AB)C}
满足分配律:
{\displaystyle A(B+C)=AB+AC}
{\displaystyle (A+B)C=AC+BC}
和标量乘积相容:
{\displaystyle c(AB)=(cA)B}
{\displaystyle (Ac)B=A(cB)}
{\displaystyle (AB)c=A(Bc)}
矩阵乘法怎么算
矩阵相乘最重要的方法是一般矩阵乘积。它只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有定义。一般单指矩阵乘积时,指的便是一般矩阵乘积。若A为m\times n矩阵,B为n\times p矩阵,则他们的乘积AB(有时记做{\displaystyle A\cdot B})会是一个m\times p矩阵。其乘积矩阵的元素如下面式子得出:
以上是用矩阵单元的代数系统来说明这类乘法的抽象性质。本节以下各种运算法都是这个公式的不同角度理解,运算结果相等:
由定义直接计算
上边的图表示出要如何计算AB的(1,2)和 (3,3)元素,当A是个4\times 2矩阵和B是个2\times 3矩阵时。分别来自两个矩阵的元素都依箭头方向而两两配对,把每一对中的两个元素相乘,再把这些乘积加总起来,最后得到的值即为箭头相交位置的值。
向量方法
这种矩阵乘积亦可由稍微不同的观点来思考:把向量和各系数相乘后相加起来。设\mathbf{A}和\mathbf {B} 是两个给定如下的矩阵:
{\mathbf {A}}={\begin{bmatrix}a_{{1,1}}&a_{{1,2}}&\dots \\
a_{{2,1}}&a_{{2,2}}&\dots \\
\vdots &\vdots &\ddots \end{bmatrix}}
{\mathbf {B}}={\begin{bmatrix}
b_{{1,1}}&b_{{1,2}}&\dots \\
b_{{2,1}}&b_{{2,2}}&\dots \\\vdots &\vdots &\ddots \end{bmatrix}}
则
举个例子来说:
{\begin{bmatrix}
1&0&2\\
-1&3&1
\end{bmatrix}}
\cdot
{\begin{bmatrix}
3&1\\2&1\\1&0
\end{bmatrix}}=
{\begin{bmatrix}
1{\begin{bmatrix}3&1\end{bmatrix}}
+0{\begin{bmatrix}2&1\end{bmatrix}}
+2{\begin{bmatrix}1&0\end{bmatrix}}\\
-1{\begin{bmatrix}3&1\end{bmatrix}}
+3{\begin{bmatrix}2&1\end{bmatrix}}
+1{\begin{bmatrix}1&0\end{bmatrix}}
\end{bmatrix}}=
{\begin{bmatrix}{\begin{bmatrix}3&1\end{bmatrix}}+{\begin{bmatrix}0&0\end{bmatrix}}+{\begin{bmatrix}2&0\end{bmatrix}}\\{\begin{bmatrix}-3&-1\end{bmatrix}}+{\begin{bmatrix}6&3\end{bmatrix}}+{\begin{bmatrix}1&0\end{bmatrix}}
\end{bmatrix}}
={\begin{bmatrix}5&1\\4&2\end{bmatrix}}
左面矩阵的列为为系数表,右边矩阵为向量表。例如,第一行是[1 0 2],因此将1乘上第一个向量,0乘上第二个向量,2则乘上第三个向量。
向量表方法
一般矩阵乘积也可以想为是行向量和列向量的内积。若\mathbf{A}和\mathbf {B} 为给定如下的矩阵:
{\mathbf {A}}={\begin{bmatrix}
a_{{1,1}}&a_{{1,2}}&a_{{1,3}}&\dots \\
a_{{2,1}}&a_{{2,2}}&a_{{2,3}}&\dots \\
a_{{3,1}}&a_{{3,2}}&a_{{3,3}}&\dots \\
\vdots &\vdots &\vdots &\ddots \end{bmatrix}}={\begin{bmatrix}
A_{1}\\A_{2}\\A_{3}\\
\vdots
\end{bmatrix}}且
{\mathbf {B}}={\begin{bmatrix}b_{{1,1}}&b_{{1,2}}&b_{{1,3}}&\dots \\
b_{{2,1}}&b_{{2,2}}&b_{{2,3}}&\dots \\
b_{{3,1}}&b_{{3,2}}&b_{{3,3}}&\dots \\
\vdots &\vdots &\vdots &\ddots \end{bmatrix}}={\begin{bmatrix}B_{1}&B_{2}&B_{3}&\dots \end{bmatrix}}
其中
A_{1}是由所有{\displaystyle a_{1,x}}元素所组成的向量,A_{2}是由所有{\displaystyle a_{2,x}}元素所组成的向量,以此类推。
B_{1}是由所有{\displaystyle b_{x,1}}元素所组成的向量,B_{2}是由所有{\displaystyle b_{x,2}}元素所组成的向量,以此类推。
则