6 数学:矩阵

学习目标

  • 目标

    • 知道什么是矩阵和向量

    • 知道矩阵的加法,乘法

    • 知道矩阵的逆和转置

    • 应用np.matmul、np.dot实现矩阵运算


1 矩阵和向量

1.1 矩阵

矩阵,英文matrix,和array的区别矩阵必须是2维的,但是array可以是多维的。

如图:这个是 3×2 矩阵,即 3 行 2 列,如 m 为行,n 为列,那么 m×n 即 3×2

[123456]\begin{bmatrix}1 & 2\\3 & 4\\5 & 6\end{bmatrix}

​​矩阵的维数即行数×列数

矩阵元素(矩阵项):

A=[123456]A= \begin{bmatrix} 1 & 2\\ 3 & 4\\ 5 & 6 \end{bmatrix}

Aij 指第 i 行,第 j 列的元素。

1.2 向量

向量是一种特殊的矩阵,讲义中的向量一般都是列向量,下面展示的就是三维列 向量(3×1)。

A=[135]A= \begin{bmatrix} 1 \\ 3 \\ 5 \end{bmatrix}

2 加法和标量乘法

矩阵的加法:行列数相等的可以加。

例:

[123456]+[123456]=[24681012]\begin{bmatrix}1&2\\3&4\\5&6\end{bmatrix}+\begin{bmatrix}1&2\\3&4\\5&6\end{bmatrix}=\begin{bmatrix}2&4\\6&8\\10&12\end{bmatrix}

矩阵的乘法:每个元素都要乘。

例:

3[123456]=[369121518]3*\begin{bmatrix}1&2\\3&4\\5&6\end{bmatrix}=\begin{bmatrix}3&6\\9&12\\15&18\end{bmatrix}

组合算法也类似。

3 矩阵向量乘法

矩阵和向量的乘法如图:m×n 的矩阵乘以 n×1 的向量,得到的是 m×1 的向量

例:

[134021][15]=[1647]\begin{bmatrix}1&3\\4&0\\2&1\end{bmatrix}*\begin{bmatrix}1\\5\end{bmatrix}=\begin{bmatrix}16\\4\\7\end{bmatrix}

矩阵乘法遵循准则:

(M行, N列)*(N行, L列) = (M行, L列)

4 矩阵乘法

矩阵乘法:

m×n 矩阵乘以 n×o 矩阵,变成 m×o 矩阵。

举例:比如说现在有两个矩阵 A 和 B,那 么它们的乘积就可以表示为图中所示的形式。

  • 练一练

  • A=[123456780]B=[121112211]A=\begin{bmatrix}1&2&3\\4&5&6\\7&8&0\end{bmatrix}B=\begin{bmatrix}1&2&1\\1&1&2\\2&1&1\end{bmatrix}

    求矩阵AB的结果

答案:

AB=[11+21+3212+21+3111+22+3141+51+6242+51+6141+52+6171+81+0272+81+0171+82+01]=[978211920152223]AB=\begin{bmatrix}1*1+2*1+3*2&1*2+2*1+3*1&1*1+2*2+3*1\\4*1+5*1+6*2&4*2+5*1+6*1&4*1+5*2+6*1\\7*1+8*1+0*2&7*2+8*1+0*1&7*1+8*2+0*1\end{bmatrix}=\begin{bmatrix}9&7&8\\21&19&20\\15&22&23\end{bmatrix}

5 矩阵乘法的性质

矩阵的乘法不满足交换律:A×B≠B×A

矩阵的乘法满足结合律。即:A×(B×C)=(A×B)×C

单位矩阵:在矩阵的乘法中,有一种矩阵起着特殊的作用,如同数的乘法中的 1,我们称 这种矩阵为单位矩阵.它是个方阵,一般用 I 或者 E 表示,从 左上角到右下角的对角线(称为主对角线)上的元素均为 1 以外全都为 0。如:

6 逆、转置

矩阵的逆:如矩阵 A 是一个 m×m 矩阵(方阵),如果有逆矩阵,则:

AA1=A1A=1AA^{-1}=A^{-1}A=1

低阶矩阵求逆的方法:

​ 1.待定系数法

​ 2.初等变换

矩阵的转置:设 A 为 m×n 阶矩阵(即 m 行 n 列),第 i 行 j 列的元素是 a(i,j),即:

A=a(i,j)

定义 A 的转置为这样一个 n×m 阶矩阵 B,满足 B=a(j,i),即 b (i,j)=a (j,i)(B 的第 i 行第 j 列元素是 A 的第 j 行第 i 列元素),记 AT=BA^{\mathrm{T}}=\mathrm{B}

直观来看,将 A 的所有元素绕着一条从第 1 行第 1 列元素出发的右下方 45 度的射线作 镜面反转,即得到 A 的转置。

例:

[abcdef]T=[acebdf]\begin{bmatrix}a&b\\c&d\\e&f\end{bmatrix}^T=\begin{bmatrix}a&c&e\\b&d&f\end{bmatrix}

7 矩阵运算

[80868280857890908682829078809294][0.70.3]=[84.280.680.19083.287.679.493.4]\begin{bmatrix}80&86\\82&80\\85&78\\90&90\\86&82\\82&90\\78&80\\92&94\end{bmatrix}*\begin{bmatrix}0.7\\0.3\end{bmatrix}=\begin{bmatrix}84.2\\80.6\\80.1\\90\\83.2\\87.6\\79.4\\93.4\end{bmatrix}

7.1 矩阵乘法api:

  • np.matmul

  • np.dot

np.matmul和np.dot的区别:

二者都是矩阵乘法。 np.matmul中禁止矩阵与标量的乘法。 在矢量乘矢量的內积运算中,np.matmul与np.dot没有区别。

Last updated