什么是矩阵? @
我们之前学过,向量是单个数字的扩展,可以表示一组相关的数。那矩阵又是什么呢?
其实矩阵是向量的扩展,它可以表示一组向量。简单来说,矩阵就是一个由数字排成的矩形表格。
举个生活中的例子:如果我们想记录三位同学的三次考试成绩,就可以用一个3×3的矩阵来表示:
| 第一次 | 第二次 | 第三次 |
|--------|--------|--------|
| 90 | 85 | 88 | # 同学1的成绩
| 78 | 82 | 85 | # 同学2的成绩
| 92 | 95 | 93 | # 同学3的成绩
特别地,如果一个矩阵的行数和列数相等,我们就称它为"方阵"。比如上面的3×3矩阵就是一个方阵。
矩阵在现实生活中有很多用途,比如在经济系统中,可以用矩阵来表示IT、电子、矿产、房产等不同行业的投入产出关系,帮助分析整个经济系统的运行情况。
矩阵的转置 @
矩阵的转置是一个简单但重要的操作,就是把矩阵的行变成列,列变成行。
比如原矩阵是:$\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$
转置后就变成了:$\begin{pmatrix} 1 & 3 \\ 2 & 4 \end{pmatrix}$
矩阵转置的性质 @
$(A^T)^T = A$
$(A + B)^T = A^T + B^T$
$(k \cdot A)^T = k \cdot A^T$
$(A \cdot B)^T = B^T \cdot A^T$
矩阵的运算 @
矩阵的加法 @
矩阵的加法很简单,就是把两个形状相同的矩阵对应位置的元素相加,比如:$\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} + \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} = \begin{pmatrix} 6 & 8 \\ 10 & 12 \end{pmatrix}$
矩阵的数量乘法 @
数量乘法也不难理解,就是用一个数字(标量)去乘矩阵的每一个元素,比如:$2 \times \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = \begin{pmatrix} 2 & 4 \\ 6 & 8 \end{pmatrix}$
矩阵的基本运算性质 @
矩阵的运算有一些基本性质,和我们熟悉的数字运算有些相似:
$(ck)A = c(kA)$
$k \cdot (A + B) = k \cdot A + k \cdot B$
$(c + k) \cdot A = c \cdot A + k \cdot A$
矩阵和向量的乘法 @
矩阵和向量相乘时,有个重要的规则:矩阵的列数必须和向量的元素个数一致。
矩阵与向量相乘的结果是一个新的向量,可以理解为矩阵把一个向量"转换"成了另一个向量。所以,矩阵有时也被看作是向量的一种"函数"。
$\begin{pmatrix} 1 & -0.2 & 0.1 & 0.5 \\ -0.5 & -1 & 0.2 & 0.1 \\ 0 & -0.4 & -1 & 0.3 \\ -0.2 & 0 & 0 & 1 \end{pmatrix}\begin{pmatrix} x_{it} \\ x_{e} \\ x_{m} \\ x_{h} \end{pmatrix} = \begin{pmatrix} 100 \\ 50 \\ 20 \\ 666 \end{pmatrix}$
$A \cdot \vec{x} = \vec{b}$
$\begin{pmatrix} 1 & -0.2 & 0.1 & 0.5 \\ -0.5 & -1 & 0.2 & 0.1 \\ 0 & -0.4 & -1 & 0.3 \\ -0.2 & 0 & 0 & 1 \end{pmatrix}\begin{pmatrix} x_{it} \\ x_{e} \\ x_{m} \\ x_{h} \end{pmatrix} = \begin{pmatrix} x_{it} - 0.2x_{e} + 0.1x_{m} + 0.5x_{h} \\ -0.5x_{it} - x_{e} + 0.2x_{m} + 0.1x_{h} \\ -0.4x_{e} - x_{m} + 0.3x_{h} \\ -0.2x_{it} + x_{h} \end{pmatrix}$
列向量与行向量相乘 @
设列向量 $\boldsymbol{a}=\begin{bmatrix}a_1\\\\a_2\\\\\vdots\\\\a_m\end{bmatrix}$,
行向量 $\boldsymbol{b} = [b_1,b_2,\cdots,b_n]$。
根据矩阵乘法规则,当列向量$\boldsymbol{a}$($m\times1$矩阵)与行向量$\boldsymbol{b}$($1\times n$矩阵)相乘时,要求前者的列数等于后者的行数,这里满足条件。
它们相乘的结果$\boldsymbol{a}\boldsymbol{b}=\begin{bmatrix}a_1b_1&a_1b_2&\cdots&a_1b_n\\\\a_2b_1&a_2b_2&\cdots&a_2b_n\\\\\vdots&\vdots&\ddots&\vdots\\\\a_mb_1&a_mb_2&\cdots&a_mb_n\end{bmatrix}$ ,是一个$m\times n$的矩阵。
而如果是行向量乘列向量,即$\boldsymbol{b}\boldsymbol{a} = [b_1,b_2,\cdots,b_n]\begin{bmatrix}a_1\\\\a_2\\\\\vdots\\\\a_m\end{bmatrix}$ ,当$m = n$时,结果是一个 $1\times1$ 的矩阵,也就是一个标量,值为$\sum_{i = 1}^{n}b_ia_i$ 。
行向量与列向量相乘 @
同样设$n$维列向量$\boldsymbol{\alpha}=\begin{bmatrix}a_1\\\\a_2\\\\\vdots\\\\a_n\end{bmatrix}$,$n$维行向量$\boldsymbol{\beta} = \begin{bmatrix}b_1&b_2&\cdots&b_n\end{bmatrix}$,此时运算要将行向量的各元素与列向量对应位置元素相乘,再把这些乘积相加,最终结果是一个标量(数值),即$\boldsymbol{\beta}\boldsymbol{\alpha} =a_1b_1 + a_2b_2 + \cdots + a_nb_n$ 。
矩阵和矩阵的乘法 @
矩阵和矩阵相乘是矩阵运算中比较复杂但也非常重要的运算。计算时,矩阵A的每一行与矩阵B的每一列进行点乘,得到结果矩阵中的对应元素。
进行矩阵乘法时,有个关键要求:矩阵A的列数必须和矩阵B的行数一致。
需要特别注意的是,矩阵的乘法不满足交换律,也就是说A×B通常不等于B×A。
$\begin{pmatrix} - & \vec{r_1} & - \\ - & \vec{r_2} & - \\ & \dots & \\ - & \vec{r_m} & - \end{pmatrix} \cdot \begin{pmatrix} | & | & & | \\ \vec{c_1} & \vec{c_2} & \dots & \vec{c_n} \\ | & | & & | \end{pmatrix} = \begin{pmatrix} \vec{r_1} \cdot \vec{c_1} & \vec{r_1} \cdot \vec{c_2} & \dots & \vec{r_1} \cdot \vec{c_n} \\ \vec{r_2} \cdot \vec{c_1} & \vec{r_2} \cdot \vec{c_2} & \dots & \vec{r_2} \cdot \vec{c_n} \\ & \dots & & \\ \vec{r_m} \cdot \vec{c_1} & \vec{r_m} \cdot \vec{c_2} & \dots & \vec{r_m} \cdot \vec{c_n} \end{pmatrix}$
矩阵A的列数必须和矩阵B的行数一致!
A是$m*k$的矩阵;B是$k*n$的矩阵,则结果矩阵为$m*n$的矩阵
$(A \cdot B) \cdot C = A \cdot (B \cdot C)$
$A \cdot (B + C) = A \cdot B + A \cdot C$
$(B + C) \cdot A = B \cdot A + C \cdot A$
对任意$r*c$的矩阵$A$,存在$c*x$的矩阵$O$,满足:$A \cdot O_{cx} = O_{rx}$
矩阵的幂 @
只有方阵(行数等于列数的矩阵)才能进行幂运算。矩阵的幂运算和数字的幂运算类似,表示同一个矩阵相乘多次。
比如,A²表示A×A,A³表示A×A×A,以此类推。
$$ \begin{align*} (A + B)^2&=(A + B)\cdot(A + B)\\ &=A\cdot(A + B)+B\cdot(A + B)\\ &=A\cdot A + A\cdot B + B\cdot A + B\cdot B\\ &=A^2 + A\cdot B + B\cdot A + B^2\quad\neq A^2 + 2AB + B^2 \end{align*} $$