矩阵乘法

矩阵乘法(英语:matrix multiplication)是一种根据两个矩阵得到第三个矩阵的二元运算,第三个矩阵即前两者的乘积,称为矩阵积(英语:matrix product)。设AAn×m{\displaystyle n\times m}的矩阵,BBm×pm\times p的矩阵,则它们的矩阵积ABABn×pn\times p的矩阵。AA中每一行的mm个元素都与BB中对应列的mm个元素对应相乘,这些乘积的和就是ABAB中的一个元素。

矩阵可以用来表示线性映射,矩阵积则可以用来表示线性映射的复合。因此,矩阵乘法是线性代数的基础工具,不仅在数学中有大量应用,在应用数学、物理学、工程学等领域也有广泛使用。

矩阵交换律

矩阵乘法的两个重要性质: 一,矩阵乘法不满足交换律;二,矩阵乘法满足结合律。为什么矩阵乘法不满足交换律呢?这是由矩阵乘法定义决定的。因为矩阵AB=C,C的结果是由A的行与B的列相乘和的结果;而BA=D,D的结果是由B的行与A的列相乘和的结果。显然,得到的结果C和D不一定相等。同时,交换后两个矩阵有可能不能相乘。为什么它又满足结合律呢?假设你有三个矩阵A、B、C,那么(AB)C和A(BC)的结果的第i行第j列上的数都等于所有AikBklCljA_{ik}*B_{kl}*C_{lj}的和(枚举所有的k和l)。

矩阵乘法公式

满足结合律:

A(BC)=(AB)C{\displaystyle A(BC)=(AB)C}
满足分配律:

A(B+C)=AB+AC{\displaystyle A(B+C)=AB+AC}
(A+B)C=AC+BC{\displaystyle (A+B)C=AC+BC}
和标量乘积相容:

c(AB)=(cA)B{\displaystyle c(AB)=(cA)B}
(Ac)B=A(cB){\displaystyle (Ac)B=A(cB)}
(AB)c=A(Bc){\displaystyle (AB)c=A(Bc)}

矩阵乘法怎么算

矩阵相乘最重要的方法是一般矩阵乘积。它只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有定义。一般单指矩阵乘积时,指的便是一般矩阵乘积。若AAm×nm\times n矩阵,BBn×pn\times p矩阵,则他们的乘积ABAB(有时记做AB{\displaystyle A\cdot B})会是一个m×pm\times p矩阵。其乘积矩阵的元素如下面式子得出:
矩阵乘法

以上是用矩阵单元的代数系统来说明这类乘法的抽象性质。本节以下各种运算法都是这个公式的不同角度理解,运算结果相等:

由定义直接计算

矩阵乘法
上边的图表示出要如何计算ABAB的(1,2)和 (3,3)元素,当AA是个4×24\times 2矩阵和B是个2×32\times 3矩阵时。分别来自两个矩阵的元素都依箭头方向而两两配对,把每一对中的两个元素相乘,再把这些乘积加总起来,最后得到的值即为箭头相交位置的值。
矩阵乘法
矩阵乘法

向量方法

这种矩阵乘积亦可由稍微不同的观点来思考:把向量和各系数相乘后相加起来。设A\mathbf{A}B\mathbf {B} 是两个给定如下的矩阵:

A=[a1,1a1,2a2,1a2,2]{\mathbf {A}}={\begin{bmatrix}a_{{1,1}}&a_{{1,2}}&\dots \\ a_{{2,1}}&a_{{2,2}}&\dots \\ \vdots &\vdots &\ddots \end{bmatrix}}

B=[b1,1b1,2b2,1b2,2]{\mathbf {B}}={\begin{bmatrix} b_{{1,1}}&b_{{1,2}}&\dots \\ b_{{2,1}}&b_{{2,2}}&\dots \\\vdots &\vdots &\ddots \end{bmatrix}}

矩阵乘法
举个例子来说:
[102131][312110]{\begin{bmatrix} 1&0&2\\ -1&3&1 \end{bmatrix}} \cdot {\begin{bmatrix} 3&1\\2&1\\1&0 \end{bmatrix}}=
[1[31]+0[21]+2[10]1[31]+3[21]+1[10]]{\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}}=
[[31]+[00]+[20][31]+[63]+[10]]{\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}}
=[5142]{\begin{bmatrix}5&1\\4&2\end{bmatrix}}
左面矩阵的列为为系数表,右边矩阵为向量表。例如,第一行是[1 0 2],因此将1乘上第一个向量,0乘上第二个向量,2则乘上第三个向量。

向量表方法

一般矩阵乘积也可以想为是行向量和列向量的内积。若A\mathbf{A}B\mathbf {B} 为给定如下的矩阵:

A=[a1,1a1,2a1,3a2,1a2,2a2,3a3,1a3,2a3,3]{\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}}=[A1A2A3]{\begin{bmatrix} A_{1}\\A_{2}\\A_{3}\\ \vdots \end{bmatrix}}
B=[b1,1b1,2b1,3b2,1b2,2b2,3b3,1b3,2b3,3]{\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}}=[B1B2B3]{\begin{bmatrix}B_{1}&B_{2}&B_{3}&\dots \end{bmatrix}}
其中

A1A_{1}是由所有a1,x{\displaystyle a_{1,x}}元素所组成的向量,A2A_{2}是由所有a2,x{\displaystyle a_{2,x}}元素所组成的向量,以此类推。
B1B_{1}是由所有bx,1{\displaystyle b_{x,1}}元素所组成的向量,B2B_{2}是由所有bx,2{\displaystyle b_{x,2}}元素所组成的向量,以此类推。

矩阵乘法

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程