© 2015-2020 Jacob Ström, Kalle Åström, and Tomas Akenine-Möller

正在加载并构建本章……

第 6 章:矩阵





输入矩阵。
6.1 引言


矩阵是处理数据的非常强大的工具。如 交互图 6.1 中的示例所示, 矩阵可用于以不同方式变换图像。 理论介绍完毕后,正文将回到这一示例。
交互图 6.1: 图像的每个像素(picture element 的缩写)由三个分量组成,即 红色($r$)、绿色($g$)和蓝色($b$)分量。因此,每个像素可视为 一个(列)向量 $\vc{p} = \left( \begin{smallmatrix} r \\ g \\ b \end{smallmatrix} \right)$。 标题下方有一个矩阵,记为 $\mx{M}$,它只是一个 $3\times 3$ 矩阵。 根据其中的数值,右上方图像将得到不同的结果。 矩阵 $\mx{M}$ 作用于左侧图像中每个像素的颜色分量向量 $\vc{p}$。 读者不妨尝试下列矩阵 $\left( \begin{smallmatrix} 1 & 1 & 1 \\ 0 & 0 & 0\\ 0 & 0 & 0 \end{smallmatrix} \right)$、 $\left( \begin{smallmatrix} 0.3 & 0.6 & 0.1 \\ 0.3 & 0.6 & 0.1\\ 0.3 & 0.6 & 0.1 \end{smallmatrix} \right)$ 以及 $\left( \begin{smallmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{smallmatrix} \right)$,还有自行设定的矩阵。
交互图 6.1: 图像的每个像素(picture element 的缩写)由三个分量组成,即 红色($\hid{r}$)、绿色($\hid{g}$)和蓝色($\hid{b}$)分量。因此,每个像素可视为 一个(列)向量 $\hid{\vc{p} = \left( \begin{smallmatrix} r \\ g \\ b \end{smallmatrix} \right)}$。 标题下方有一个矩阵,记为 $\hid{\mx{M}}$,它只是一个 $\hid{3\times 3}$ 矩阵。 根据其中的数值,右上方图像将得到不同的结果。 矩阵 $\hid{\mx{M}}$ 作用于左侧图像中每个像素的颜色分量向量 $\hid{\vc{p}}$。 读者不妨尝试下列矩阵 $\hid{\left( \begin{smallmatrix} 1 & 1 & 1 \\ 0 & 0 & 0\\ 0 & 0 & 0 \end{smallmatrix} \right)}$、 $\hid{\left( \begin{smallmatrix} 0.3 & 0.6 & 0.1 \\ 0.3 & 0.6 & 0.1\\ 0.3 & 0.6 & 0.1 \end{smallmatrix} \right)}$ 以及 $\hid{\left( \begin{smallmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{smallmatrix} \right)}$,还有自行设定的矩阵。
矩阵 $\mx{M}$:
6.10 节 中,我们将回到这一引言示例。 现在,先从矩阵的定义开始,再看它们如何运用。
6.2 定义


如我们在 第 5 章 中所见,典型的 线性方程组可能形如
\begin{equation} \begin{cases} \begin{array}{rrrl} 2 & \!\!\!\!\!\! x_1 + 4 &\!\!\!\!\!\!\!x_2 - 2 &\!\!\!\!\!\!x_3 = \hid{-}16, \\ - & \!\!\!\!\!\! x_1 - 7 &\!\!\!\!\!\!x_2 + 2 &\!\!\!\!\!\!x_3 = -27, \\ & 3 &\!\!\!\!\!\!x_2 - 6 &\!\!\!\!\!\!x_3 = -21. \\ \end{array} \end{cases} \end{equation} (6.1)
等号左侧有许多常数分别乘以 $x_1$、$x_2$ 或 $x_3$。所有这些常数都可以提取出来,放入称为 矩阵 的结构中。 对于 式 (6.1),这给出
\begin{equation} \left(\begin{array}{rrr} 2 & 4 & -2 \\ -1 & -7 & 2 \\ 0 & 3 & -6 \end{array}\right) . \end{equation} (6.2)
可见,数字阵列外围有大圆括号。上述矩阵的大小为 $3\times 3$,即三行三列。 不过,一般而言,矩阵可以是任意大小。 这引出如下定义。

定义 6.1: 矩阵
矩阵 $\mx{A}$ 是由标量 $a_{ij}$ 构成的二维阵列,有 $r$ 行 $c$ 列,例如
\begin{equation} \left( \begin{array}{cccc} a_{11} & a_{12} & \dots & a_{1c} \\ a_{21} & a_{22} & \dots & a_{2c} \\ \vdots & \vdots & \ddots & \vdots \\ a_{r1} & a_{r2} & \dots & a_{rc} \end{array} \right). \end{equation} (6.3)
矩阵的大小为 $r \times c$,即行数乘以列数。 若 $r=c$,则称该矩阵为方阵。 矩阵 $\mx{A}$ 中元素的简记为 $[ a_{ij} ]$,在处理矩阵运算时很方便, 我们随后将会看到。
注意,矩阵的记法为大写粗体字母,例如 $\mx{A}$; 而照例,所有标量为小写斜体字母 $a_{ij}$,其中 $i$ 为行、$j$ 为列。 有时,提取某一列标量或某一行会很方便。注意,对于 $r \times c$ 矩阵 $\mx{A}$, 共有 $r$ 个不同的 行向量 和 $c$ 个不同的 列向量。 矩阵 $\mx{A}$ 的 列向量
\begin{align} \mx{A}=& \left( \begin{array}{rrr} 2 & 4 & -2 \\ -1 & -7 & 2 \\ 0 & 3 & -6 \end{array} \right) = \left( \begin{array}{ccc} \vert & \vert & \vert \\ \vc{a}_{,1} & \vc{a}_{,2} & \vc{a}_{,3} \\ \vert & \vert & \vert \end{array} \right), \\ &\\ &\\ &\text{where } \vc{a}_{,1} = \left( \begin{array}{rrr} 2 \\ -1\\ 0 \end{array} \right), \ \ \vc{a}_{,2} = \left( \begin{array}{rrr} 4 \\ -7\\ 3 \end{array} \right), \ \ \text{and } \vc{a}_{,3} = \left( \begin{array}{rrr} -2 \\ 2\\ -6 \end{array} \right). \end{align} (6.4)
注意,竖直 直线($\vert$)用以说明 $\vc{a}_{,i}$ 是矩阵中向上和向下延伸的 列向量。 相应的 行向量
\begin{align} \mx{A}=& \left( \begin{array}{rrr} 2 & 4 & -2 \\ -1 & -7 & 2 \\ 0 & 3 & -6 \end{array} \right) = \left( \begin{array}{c} -\,\,\, \vc{a}_{1,}^\T - \\ -\,\,\, \vc{a}_{2,}^\T - \\ -\,\,\, \vc{a}_{3,}^\T - \end{array} \right), \\ &\text{where } \vc{a}_{1,} = \left( \begin{array}{rrr} 2 \\ 4\\ -2 \end{array} \right), \ \ \vc{a}_{2,} = \left( \begin{array}{rrr} -1 \\ -7\\ 2 \end{array} \right), \ \ \text{and } \vc{a}_{3,} = \left( \begin{array}{rrr} 0 \\ 3\\ -6 \end{array} \right). \end{align} (6.5)
回顾本书中向量默认为 列向量,因此我们将上述 $\vc{a}_{i,}$ 向量转置,以将其变为 行向量。 水平 直线($-$)用以说明 $\vc{a}_{i,}^\T$ 是矩阵中向左和向右延伸的 行向量。 可见,这与我们使用小写粗体字母表示向量的记法一致。 下一定义总结了这一记法。

定义 6.2: 矩阵的行向量与列向量
$r \times c$ 矩阵 $\mx{A}$ 的第 $i$ 个 行向量 记作 $\vc{a}_{i,}^\T$,其中包含 $c$ 个标量元素。
$\mx{A}$ 的第 $i$ 个 列向量 记作 $\vc{a}_{,i}$,其中包含 $r$ 个标量元素。 利用向量,矩阵可写成以下两种形式,
\begin{equation} \mx{A} = \bigl(\vc{a}_{,1} \,\,\, \vc{a}_{,2} \,\,\,\dots\,\,\, \vc{a}_{,c}\bigr) = \left( \begin{array}{c} \vc{a}_{1,}^\T\\ \vc{a}_{2,}^\T\\ \vdots \\ \vc{a}_{r,}^\T\\ \end{array} \right). \end{equation} (6.6)
在上述定义中,我们在 式 (6.6) 中省略了竖直和水平 直线(如 (6.5) (6.4) 中所用)。 注意,行向量 记为 $\vc{a}_{i,}^\T$,即它是一个 列向量($\vc{a}_{i,}$)经转置得到的 行向量

还有两个特殊的常数矩阵: 称为 单位矩阵、记为 $\mx{I}$ 的矩阵,以及称为 零矩阵、记为 $\mx{O}$ 的矩阵。 前者在普通代数中的作用类似于数 1,后者的作用类似于 0。

定义 6.3: 单位矩阵
大小为 $n \times n$ 的单位矩阵 $\mx{I}$ 除从左上到右下的对角线上为 1 外,其余位置均为 0,即
\begin{equation} \mx{I} = \left( \begin{array}{cccc} 1 & 0 & \dots & 0 \\ 0 & 1 & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \dots & 1 \end{array} \right). \end{equation} (6.7)
因此,$2 \times 2$ 单位矩阵为 $\mx{I} =\bigl( \begin{smallmatrix} 1 & 0\\ 0 & 1\end{smallmatrix} \bigr)$, $3\times 3$ 单位矩阵为 $\mx{I} =\Bigl( \begin{smallmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1\end{smallmatrix} \Bigr)$。可见,我们对这两个矩阵都使用了 $\mx{I}$。 接下来是零矩阵的定义。

定义 6.4: 零矩阵
零矩阵 $\mx{O}$ 的所有矩阵元素均为零。
在大多数情况下,$\mx{I}$ 和 $\mx{O}$ 的大小可根据使用上下文确定; 否则,我们会说明其大小。

还要注意,若矩阵 $\mx{A}$ 的列数为 1,即 $c=1$, 则我们得到一个 列向量,可改用向量记号表示,即 $\vc{a}$。 此外,若矩阵 $\mx{B}$ 的行数为 1,即 $r=1$,则我们得到一个 行向量,也可改用转置 列向量 表示,即 $\vc{b}^\T$。下面给出一个 $3\times 1$ 矩阵(列向量)和一个 $1\times 3$ 矩阵(行向量), 后者写成一个转置 列向量
\begin{equation} \underbrace{ \mx{A} }_{3\times 1} = \left( \begin{array}{c} 3 \\ 2 \\ 6 \end{array} \right) = \underbrace{\vc{a}}_{\begin{array}{c} \text{column} \\ \text{vector} \end{array}} ,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, \underbrace{ \mx{B} }_{1\times 3} = \bigl(5\,\,\, 1 \,\,\, 4\bigr) = \underbrace{ \vc{b}^\T }_{\begin{array}{c} \text{transposed} \\ \text{column} \\ \text{vector} \end{array}} \end{equation} (6.8)
需要指出,有时直接使用 行向量 作为一行,比使用转置列向量更自然。这实际上取决于读者。

如我们在 第 2 章 中已见,向量可以转置。 这意味着 列向量 变为 行向量,反之亦然。矩阵也可 按如下定义进行转置。

定义 6.5: 矩阵转置
$r\times c$ 矩阵 $\mx{A}=[a_{ij}]$ 的转置记为 $\mx{A}^\T$(大小为 $c\times r$), 由将 $\mx{A}$ 的列变为 $\mx{A}^\T$ 中的行(或将行变为列,二者等价)构成。 这也可用矩阵的简记表示为
\begin{equation} \mx{A}^\T = [a_{ji}]. \end{equation} (6.9)
注意,下标顺序已从 $ij$ 变为 $ji$。
若方阵沿主对角线(从左上到右下)反射后保持不变,则称该方阵为对称的。 下一定义对此作了总结。

定义 6.6: 对称矩阵
若 $\mx{A}=\mx{A}^\T$,则称该方阵为对称矩阵。
接下来给出矩阵转置的几个例子。

例 6.1: 矩阵转置
假设我们有下列矩阵,
\begin{equation} \mx{A}= \left( \begin{array}{rrr} 1 & 6 & 5 \\ 6 & 2 & 4 \\ 5 & 4 & 3 \end{array} \right) ,\spc\spc \mx{B}= \left( \begin{array}{rr} 1 & 4 \\ 2 & 5 \\ 3 & 6 \end{array} \right) ,\spc\spc \mx{C}=\bigl(1\,\,\, 2\,\,\, 3 \bigr). \end{equation} (6.10)
它们相应的转置为
\begin{equation} \mx{A}^\T= \left( \begin{array}{rrr} 1 & 6 & 5 \\ 6 & 2 & 4 \\ 5 & 4 & 3 \end{array} \right) ,\spc\spc \mx{B}^\T= \left( \begin{array}{rrr} 1 & 2 & 3 \\ 4 & 5 & 6 \end{array} \right) ,\spc\spc \mx{C}^\T= \left( \begin{array}{c} 1 \\ 2 \\ 3 \end{array} \right) \end{equation} (6.11)
注意 $\mx{A}=\mx{A}^\T$,这意味着 $\mx{A}$ 是对称的(定义 6.6)。 还值得指出的是,$\mx{B}$ 的大小为 $3\times 2$,而 $\mx{B}^\T$ 的大小为 $2\times 3$,这是合理的,因为转置时行变为列。最后,$\mx{C}$ 是单行,在 $\mx{C}^\T$ 中变为单列。 这与转置后的 列向量 变为 行向量 类似。
有了这些定义,现在是尝试用几何来可视化矩阵的时候了。我们见过的书中都没有这样做,然而在某些情况下这有助于加深理解。参见 交互图 6.2
交互图 6.2: 在本交互图中,我们将 $2\times 2$ 矩阵 $\mx{A}$ 可视化为其所含的两个列向量 $\vc{a}_{,1}$ 和 $\vc{a}_{,2}$,即 $\mx{A} = \bigl(\textcolor{#aa0000}{\vc{a}_{,1}}\,\, \textcolor{#00aa00}{\vc{a}_{,2}} \bigr)$。 注意,本交互图中列向量可以移动。作为练习, 请尝试构造单位矩阵 $\bigl( \begin{smallmatrix} 1 & 0\\ 0 & 1 \end{smallmatrix} \bigr)$,例如。 现在,按 下一步 查看 $3\times 3$ 矩阵可能的样子。
交互图 6.2: 此处,我们将 $\hid{3\times 3}$ 矩阵 $\hid{\mx{A}}$ 的三个列向量 $\hid{\textcolor{#aa0000}{\vc{a}_{,1}}}$、 $\hid{\textcolor{#00aa00}{\vc{a}_{,2}}}$ 和 $\hid{\textcolor{#0000aa}{\vc{a}_{,3}}}$ 可视化。 注意,灰色虚线仅在本交互图中用于帮助显示 向量的三维位置。 同样,作为练习,尝试移动向量使它们 构成单位矩阵 $\hid{\Bigl( \begin{smallmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{smallmatrix} \Bigr)}$ 可能很有用,例如。 请记住,你可以通过右键点击并按住鼠标拖动, 或在平板上双指按住并滑动来改变视角。
$\mx{A} = \left(\begin{array}{l} \hid{1} \\ \hid{1} \end{array}\right.$
$\left.\begin{array}{l} \hid{1} \\ \hid{1} \end{array}\right)$
$\textcolor{#aa0000}{\vc{a}_{,1}}$
$\textcolor{#009000}{\vc{a}_{,2}}$
$\textcolor{#0000aa}{\vc{a}_{,3}}$
$\mx{A} = \left(\begin{array}{l} \hid{1} \\ \hid{1} \\ \hid{1} \end{array}\right.$
$\left.\begin{array}{l} \hid{1} \\ \hid{1} \\ \hid{1} \end{array}\right)$
接下来介绍若干矩阵运算。
6.3 矩阵运算


矩阵有三种基本运算。它们是 下列各小节将介绍这些运算。

6.3.1 标量与矩阵的乘法



标量与矩阵的乘法与标量与向量的乘法相当类似(2.3 节),如下定义所示。

定义 6.7: 标量与矩阵的乘法
矩阵 $\mx{A}$ 可乘以标量 $k$ 得到新矩阵 $\mx{S} = k \mx{A}$,它与 $\mx{A}$ 大小相同。
\begin{equation} \mx{S}= \left( \begin{array}{cccc} s_{11} & s_{12} & \dots & s_{1c} \\ s_{21} & s_{22} & \dots & s_{2c} \\ \vdots & \vdots & \ddots & \vdots \\ s_{r1} & s_{r2} & \dots & s_{rc} \end{array} \right) = \left( \begin{array}{cccc} k a_{11} & k a_{12} & \dots & k a_{1c} \\ k a_{21} & k a_{22} & \dots & k a_{2c} \\ \vdots & \vdots & \ddots & \vdots \\ k a_{r1} & k a_{r2} & \dots & k a_{rc} \end{array} \right) \end{equation} (6.12)
更紧凑地写为: $[ s_{ij} ] = k[ a_{ij} ] = [ k a_{ij} ]$。
下面给出一个矩阵标量乘法的简短例子。

例 6.2: 标量与矩阵的乘法
$2\times 2$ 矩阵 $\mx{A}$ 为
\begin{equation} \mx{A}= \left( \begin{array}{rr} 5 & -2 \\ 3 & 8 \end{array} \right). \end{equation} (6.13)
若要将该矩阵乘以标量 $k=4$,则得到
\begin{equation} k\mx{A}=4 \left( \begin{array}{rr} 5 & -2 \\ 3 & 8 \end{array} \right) = \left( \begin{array}{rr} 4\cdot 5 & 4\cdot (-2) \\ 4\cdot 3 & 4\cdot 8 \end{array} \right) = \left( \begin{array}{rr} 20 & -8 \\ 12 & 32 \end{array} \right). \end{equation} (6.14)

6.3.2 矩阵加法



矩阵加法也与 向量加法2.2 节)类似。

定义 6.8: 矩阵加法
若两个矩阵 $\mx{A}$ 和 $\mx{B}$ 大小相同,则可将它们 相加得到大小相同的新矩阵 $\mx{S}=\mx{A} + \mx{B}$,其中 每个元素 $s_{ij}$ 是 $\mx{A}$ 和 $\mx{B}$ 中同位置元素之和,即
\begin{equation} \mx{S}= \left( \begin{array}{cccc} s_{11} & s_{12} & \dots & s_{1c} \\ s_{21} & s_{22} & \dots & s_{2c} \\ \vdots & \vdots & \ddots & \vdots \\ s_{r1} & s_{r2} & \dots & s_{rc} \end{array} \right) = \left( \begin{array}{cccc} a_{11}+b_{11} & a_{12}+b_{12} & \dots & a_{1c}+b_{1c} \\ a_{21}+b_{21} & a_{22}+b_{22} & \dots & a_{2c}+b_{2c} \\ \vdots & \vdots & \ddots & \vdots \\ a_{r1}+b_{r1} & a_{r2}+b_{r2} & \dots & a_{rc}+b_{rc} \end{array} \right). \end{equation} (6.15)
更紧凑地写为: $[ s_{ij} ] = [ a_{ij} ] + [ b_{ij} ] = [ a_{ij} + b_{ij} ]$。
借助 定义 6.7(标量与矩阵的乘法), 以及矩阵加法的定义,我们可以容易地对两个矩阵作差。$\mx{A}$ 与 $\mx{B}$ 的差 $\mx{D}$ 为
\begin{gather} \mx{D} = \mx{A} + (-1)\mx{B} = \mx{A} - \mx{B} \\ \Longleftrightarrow \\ [d_{ij}] = [a_{ij}]+ (-1)[b_{ij}] = [a_{ij}]+ [-b_{ij}] = [a_{ij} - b_{ij}], \end{gather} (6.16)
其中第一行我们使用了标量乘法(乘以 $-1$)和矩阵加法。

下面给出一个矩阵加法的简短例子。

例 6.3: 矩阵加法
假设我们有两个 $2\times 2$ 矩阵 $\mx{A}$ 和 $\mx{B}$,设为
\begin{equation} \mx{A}= \left( \begin{array}{rr} 5 & -2 \\ 3 & 8 \end{array} \right) \,\,\,\,\,\,\text{and}\,\,\,\,\,\, \mx{B}= \left( \begin{array}{rr} -1 & 2 \\ 4 & -6 \end{array} \right). \end{equation} (6.17)
矩阵加法 $\mx{S}=\mx{A}+\mx{B}$ 为
\begin{equation} \mx{S}=\mx{A}+\mx{B}= \left( \begin{array}{rr} 5 & -2 \\ 3 & 8 \end{array} \right) + \left( \begin{array}{rr} -1 & 2 \\ 4 & -6 \end{array} \right) = \left( \begin{array}{rr} 5-1 & -2+2 \\ 3+4 & 8-6 \end{array} \right) = \left( \begin{array}{rr} 4 & 0 \\ 7 & 2 \end{array} \right). \end{equation} (6.18)

6.3.3 矩阵-矩阵乘法



标量与矩阵的乘法以及矩阵加法都相当直接, 矩阵-矩阵乘法起初可能并非如此。然而,正如我们将看到的,它是 极其强大的工具。定义如下。

定义 6.9: 矩阵-矩阵乘法
若 $\mx{A}$ 是 $r \times s$ 矩阵,$\mx{B}$ 是 $s\times t$ 矩阵,则 乘积矩阵 $\mx{P}=\mx{A}\mx{B}$($r \times t$ 矩阵)定义为
\begin{align} \mx{P} =& \mx{A}\mx{B} = \left( \begin{array}{ccc} a_{11} & \dots & a_{1s} \\ \vdots & \ddots & \vdots \\ a_{r1} & \dots & a_{rs} \end{array} \right) \left( \begin{array}{ccc} b_{11} & \dots & b_{1t} \\ \vdots & \ddots & \vdots \\ b_{s1} & \dots & b_{st} \end{array} \right)\\ &\\ =& \left( \begin{array}{ccc} \sum_{k=1}^s a_{1k} b_{k1} & \dots & \sum_{k=1}^s a_{1k} b_{kt} \\ \vdots & \ddots & \vdots \\ \sum_{k=1}^s a_{rk} b_{k1} & \dots & \sum_{k=1}^s a_{sk} b_{kt} \end{array} \right) = \left( \begin{array}{ccc} p_{11} & \dots & p_{1t} \\ \vdots & \ddots & \vdots \\ p_{r1} & \dots & p_{rt} \end{array} \right). \end{align} (6.19)
注意,$\mx{A}$ 的列数必须等于 $\mx{B}$ 的行数,否则 矩阵-矩阵乘法未定义。 矩阵-矩阵乘法更紧凑地写为 $\bigl[p_{ij}\bigr] = \Bigl[\sum_{k=1}^s a_{ik} b_{kj}\Bigr]$。
乘积的大小可用下列规则更容易地记住,
\begin{equation} (r \times \bcancel{s})\, (\bcancel{s} \times t) \longrightarrow (r \times t), \end{equation} (6.20)
即,结果矩阵的行数为第一个操作数的行数($r$),列数为第二个操作数的列数($t$); 而第一个操作数的列数($s$)必须与第二个操作数的行数($s$) 相等。

注意,乘积中的求和 $\sum_{k=1}^s a_{ik} b_{kj}$ 使我们联想到 点积标准正交 中(定义 3.4)。因此,利用 定义 6.2,我们可以用 $\mx{A}$ 的 行向量 和 $\mx{B}$ 的 列向量 来表达矩阵-矩阵乘法,即
\begin{align} \mx{P} = \mx{A}\mx{B} &= \left( \begin{array}{c} -\,\,\, \vc{a}_{1,}^\T - \\ \textcolor{#cc0000}{-}\,\,\, \textcolor{#cc0000}{\vc{a}_{2,}^\T} \textcolor{#cc0000}{-} \\ \vdots \\ -\,\,\, \vc{a}_{r,}^\T - \end{array} \right) \left( \begin{array}{ccccc} \vert & \vert & \textcolor{#cc0000}{\vert} & & \vert \\ \vc{b}_{,1} & \vc{b}_{,2} & \textcolor{#cc0000}{\vc{b}_{,3}} & \dots & \vc{b}_{,t} \\ \vert & \vert & \textcolor{#cc0000}{\vert} & & \vert \end{array} \right) \\ &\\ &= \left( \begin{array}{ccccc} \vc{a}_{1,}\cdot \vc{b}_{,1} & \vc{a}_{1,}\cdot \vc{b}_{,2} & \vc{a}_{1,}\cdot \vc{b}_{,3} & \dots & \vc{a}_{1,}\cdot \vc{b}_{,t} \\ \vc{a}_{2,}\cdot \vc{b}_{,1} & \vc{a}_{2,}\cdot \vc{b}_{,2} & \textcolor{#cc0000}{\vc{a}_{2,}\cdot \vc{b}_{,3}} & \dots & \vc{a}_{2,}\cdot \vc{b}_{,t} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ \vc{a}_{r,}\cdot \vc{b}_{,1} & \vc{a}_{r,}\cdot \vc{b}_{,2} & \vc{a}_{r,}\cdot \vc{b}_{,3} & \dots & \vc{a}_{r,}\cdot \vc{b}_{,t} \\ \end{array} \right). \end{align} (6.21)
如上红色向量所示,取 $\mx{A}$ 中第 $i$ 个 行向量 与 $\mx{B}$ 中第 $j$ 个 列向量点积,即可得到 $\mx{P}$ 中第 $i$ 行第 $j$ 列的矩阵元素,即
\begin{equation} [p_{ij}] = \Biggl[\sum_{k=1}^s a_{ik} b_{kj}\Biggr] = \bigl[ \vc{a}_{i,} \cdot \vc{b}_{,j} \bigr], \end{equation} (6.22)
简记法下。注意,若放宽矩阵的概念,使 $\vc{a}_{i,}^\T$ 视为 $1\times s$ 矩阵,$\vc{b}_{,j}$ 为 $s\times 1$ 矩阵,则可将 式 (6.22) 改写为 矩阵-矩阵乘法,即
\begin{equation} [p_{ij}] = \Biggl[ \sum_{k=1}^s a_{ik} b_{kj} \Biggr] = \biggl[ \vc{a}_{i,}^\T \vc{b}_{,j} \biggr] = \Biggl[ \Bigl(a_1\spc a_2 \dots a_s \Bigr) \left( \begin{array}{c} b_1\\ b_2\\ \vdots\\ b_s \end{array} \right) \Biggr]. \end{equation} (6.23)

例 6.4: 矩阵-矩阵乘法
本例中,我们将 $3 \times 2$ 矩阵 $\mx{M}$ 乘以 $2\times 3$ 矩阵 $\mx{N}$,即
\begin{gather} \mx{M} = \left( \begin{array}{rr} 4 & 2 \\ 3 & -2 \\ 0 & -1 \end{array} \right) ,\,\,\,\,\,\, \mx{N} = \left( \begin{array}{rrr} 2 & 1 & 3 \\ -1 & 5 & 8 \\ \end{array} \right) \\ \, \\ \mx{M}\vc{N} = \left( \begin{array}{rr} \textcolor{#00aaaa}{4} & \textcolor{#00aaaa}{2} \\ \textcolor{#aaaa00}{3} & \textcolor{#aaaa00}{-2} \\ \textcolor{#aa00aa}{0} & \textcolor{#aa00aa}{-1} \end{array} \right) \left( \begin{array}{rrr} \textcolor{#cc0000}{2} & \textcolor{#00cc00}{1} & \textcolor{#0000cc}{3} \\ \textcolor{#cc0000}{-1} & \textcolor{#00cc00}{5} & \textcolor{#0000cc}{8} \\ \end{array} \right) = \\ \, \\ \left( \begin{array}{rrr} \textcolor{#00aaaa}{4} \cdot \textcolor{#cc0000}{2} + \textcolor{#00aaaa}{2}\cdot (\textcolor{#cc0000}{-1}) & \textcolor{#00aaaa}{4} \cdot \textcolor{#00cc00}{1} + \textcolor{#00aaaa}{2}\cdot \textcolor{#00cc00}{5} & \textcolor{#00aaaa}{4} \cdot \textcolor{#0000cc}{3} + \textcolor{#00aaaa}{2}\cdot \textcolor{#0000cc}{8} \\ \textcolor{#aaaa00}{3} \cdot \textcolor{#cc0000}{2} \textcolor{#aaaa00}{-2}\cdot (\textcolor{#cc0000}{-1}) & \textcolor{#aaaa00}{3} \cdot \textcolor{#00cc00}{1} \textcolor{#aaaa00}{-2}\cdot \textcolor{#00cc00}{5} & \textcolor{#aaaa00}{3} \cdot \textcolor{#0000cc}{3} \textcolor{#aaaa00}{-2}\cdot \textcolor{#0000cc}{8} \\ \textcolor{#aa00aa}{0} \cdot \textcolor{#cc0000}{2} \textcolor{#aa00aa}{-1}\cdot (\textcolor{#cc0000}{-1}) & \textcolor{#aa00aa}{0} \cdot \textcolor{#00cc00}{1} \textcolor{#aa00aa}{-1}\cdot \textcolor{#00cc00}{5} & \textcolor{#aa00aa}{0} \cdot \textcolor{#0000cc}{3} \textcolor{#aa00aa}{-1}\cdot \textcolor{#0000cc}{8} \end{array} \right) = \\ \, \\ \left( \begin{array}{rrr} 6 & 14 & 28 \\ 8 & -7 & -7 \\ 1 & -5 & -8 \end{array} \right). \end{gather} (6.24)
注意,此处 $\mx{M}$ 中的行和 $\vc{N}$ 中的列已用颜色编码,以便更容易 看清运算过程。 乘积的大小(见 规则 (6.20))为 $(3 \times \bcancel{2})\, (\bcancel{2} \times 3) \longrightarrow (3 \times 3)$,即 结果为 $3\times 3$ 矩阵。
根据 定义 6.9,我们知道矩阵-矩阵 乘法 $\mx{M}\mx{N}$ 仅当 $\mx{M}$ 为 $r \times s$ 且 $\mx{N}$ 为 $s\times t$ 时有定义。 这意味着 $\mx{M}$ 中的列数($s$)必须等于 $\mx{N}$ 中的行数($s$)。 因此,只要 $r$ 和 $t$ 满足 $\geq 1$,它们可以是任意值。 若 $t=1$,则 $\mx{N}$ 只有一列,我们实际上没有矩阵,而有一个 列向量, 正如 (6.8) 所示。这意味着矩阵-向量乘法 是矩阵-矩阵乘法的特例。下面给出一个例子。

例 6.5: 矩阵-向量乘法
本例中,$3\times 3$ 矩阵 $\mx{M}$ 将乘以 三维向量 $\vc{v}$,即
\begin{gather} \mx{M} = \left( \begin{array}{rrr} 1 & 0 & 2 \\ 2 & -1 & 3 \\ 4 & -2 & -3 \end{array} \right) ,\,\,\,\,\,\, \vc{v} = \left( \begin{array}{r} -4\\ 5 \\ 6 \end{array} \right) \\ \, \\ \mx{M}\vc{v} = \left( \begin{array}{rrr} \textcolor{#00aaaa}{1} & \textcolor{#00aaaa}{0} & \textcolor{#00aaaa}{2} \\ \textcolor{#aaaa00}{2} & \textcolor{#aaaa00}{-1} & \textcolor{#aaaa00}{3} \\ \textcolor{#aa00aa}{4} & \textcolor{#aa00aa}{-2} & \textcolor{#aa00aa}{-3} \end{array} \right) \left( \begin{array}{r} \textcolor{#cc0000}{-4}\\ \textcolor{#00cc00}{5} \\ \textcolor{#0000cc}{6} \end{array} \right) = \left( \begin{array}{r} \textcolor{#00aaaa}{1} \cdot (\textcolor{#cc0000}{-4}) + \textcolor{#00aaaa}{0}\cdot \textcolor{#00cc00}{5} + \textcolor{#00aaaa}{2} \cdot \textcolor{#0000cc}{6}\\ \textcolor{#aaaa00}{2} \cdot (\textcolor{#cc0000}{-4}) \textcolor{#aaaa00}{- 1}\cdot \textcolor{#00cc00}{5} + \textcolor{#aaaa00}{3} \cdot \textcolor{#0000cc}{6}\\ \textcolor{#0000cc}{4} \cdot (\textcolor{#cc0000}{-4}) \textcolor{#0000cc}{- 2}\cdot \textcolor{#00cc00}{5} \textcolor{#0000cc}{- 3} \cdot \textcolor{#0000cc}{6} \end{array} \right) = \left( \begin{array}{r} 8 \\ 5 \\ -44 \end{array} \right). \end{gather} (6.25)
注意,此处 $\mx{M}$ 和 $\vc{v}$ 中的行已用颜色编码,以便更容易看清运算过程。 矩阵-向量乘法的行为与矩阵-矩阵乘法完全相同,只是 此处第二个操作数 $(\vc{v})$ 只有一列。 乘积的大小(见 规则 (6.20))为 $(3 \times \bcancel{3})\, (\bcancel{3} \times 1) \longrightarrow (3 \times 1)$,即 结果为 $3\times 1$ 矩阵,即三维 列向量
注意, (6.1) 中的例子是一个线性 方程组,可用 一个矩阵和两个向量表示,即
\begin{gather} \begin{cases} \begin{array}{rrrl} 2 & \!\!\!\!\!\! x_1 + 4 &\!\!\!\!\!\!\!x_2 - 2 &\!\!\!\!\!\!x_3 = \hid{-}16 \\ - & \!\!\!\!\!\! x_1 - 7 &\!\!\!\!\!\!x_2 + 2 &\!\!\!\!\!\!x_3 = -27 \\ & 3 &\!\!\!\!\!\!x_2 - 6 &\!\!\!\!\!\!x_3 = -21 \\ \end{array} \end{cases} \\ \Longleftrightarrow \\ \underbrace{ \left( \begin{array}{rrr} -2 & 4 & -2 \\ -1 & -7 & 2 \\ 0 & 3 & -6 \end{array} \right) }_{\mx{A}} \, \underbrace{ \left( \begin{array}{c} x_1\\ x_2\\ x_3 \end{array} \right) }_{\vc{x}} = \underbrace{ \left( \begin{array}{r} 16\\ -27\\ -21 \end{array} \right) }_{\vc{b}} \\ \Longleftrightarrow \\ \mx{A} \vc{x} = \vc{b}. \end{gather} (6.26)
既然我们已了解这些,就可以揭开矩阵-矩阵乘法 (定义 6.9)定义的真正来源。假设我们有两个 线性方程组
\begin{gather} \begin{cases} \begin{array}{r} z_1 = a_{11} y_1 + a_{12} y_2 \\ z_2 = a_{21} y_1 + a_{22} y_2 \end{array} \end{cases} \,\,\,\,\,\,\,\,\text{and}\,\,\,\,\,\,\,\, \begin{cases} \begin{array}{r} y_1 = b_{11} x_1 + b_{12} x_2 \\ y_2 = b_{21} x_1 + b_{22} x_2 \end{array} \end{cases}. \end{gather} (6.27)
现在,若我们要用 $x_1$ 和 $x_2$ 而非 $y_1$ 和 $y_2$ 来表示 $z_1$ 和 $z_2$,结果会是什么?下面给出
\begin{gather} \begin{cases} \begin{array}{r} z_1 = a_{11} (b_{11} x_1 + b_{12} x_2) + a_{12} (b_{21} x_1 + b_{22} x_2) \\ z_2 = a_{21} (b_{11} x_1 + b_{12} x_2) + a_{22} (b_{21} x_1 + b_{22} x_2) \end{array} \end{cases} \\ \Longleftrightarrow \\ \begin{cases} \begin{array}{r} z_1 = (a_{11} b_{11} + a_{12} b_{21}) x_1 + (a_{11} b_{12} + a_{12} b_{22}) x_2) \\ z_2 = (a_{21} b_{11} + a_{22} b_{21}) x_1 + (a_{21} b_{12} + a_{22} b_{22}) x_2) \end{array} \end{cases}. \end{gather} (6.28)
可见,$x_1$ 和 $x_2$ 前的项正是我们将矩阵 $\mx{A}$ 和 $\mx{B}$ 相乘时会得到的项。式 (6.27) (6.28) 均可写成矩阵/向量形式,即
\begin{gather} \vc{z}=\mx{A}\vc{y} \spc\spc\text{and}\spc\spc \vc{y}=\mx{B}\vc{x} \\ \Longleftrightarrow \\ \vc{z}=\mx{A}\mx{B}\vc{x}, \end{gather} (6.29)
这就说明了矩阵-矩阵乘法为何如此定义。

正如我们在 式 (6.21) 中所见,矩阵-矩阵 乘法中第一个操作数 $\mx{A}\mx{B}$ 可视为一组 行向量,而第二个操作数 可视为一组 列向量。现在,我们刚看到矩阵乘以向量 得到向量(若大小匹配)。因此,我们可以将 第二个操作数 $(\mx{B})$ 视为一组由第一个操作数 $\mx{A}$ 变换的 列向量。 这可表示为
\begin{align} \mx{P} = \mx{A}\mx{B} = \mx{A} \left( \begin{array}{ccc} \vert & & \vert \\ \vc{b}_{,1} & \dots & \vc{b}_{,t} \\ \vert & & \vert \end{array} \right) = \left( \begin{array}{ccc} \vert & & \vert \\ \mx{A}\vc{b}_{,1} & \dots & \mx{A}\vc{b}_{,t} \\ \vert & & \vert \end{array} \right). \end{align} (6.30)
也就是说,我们可以这样理解矩阵-矩阵乘法:从 $t$ 个 列向量(本例中为 $\vc{b}_{,1}\dots \vc{b}_{,t}$) 出发,它们各自经 $\mx{A}$ 变换后,作为 列向量 插入乘积矩阵。

接下来给出一个将 点积 表示为矩阵-矩阵乘法的简单例子。

例 6.6: 点积的矩阵-矩阵乘法表示
注意,由于(列)向量 $\vc{v}$ 可写为单列矩阵 $\mx{V}=(\vc{v})$, 因此也可用两个 列向量/矩阵之间的矩阵-矩阵乘法来表示向量 $\vc{u}$ 和 $\vc{v}$ 的 点积,即
\begin{gather} \vc{u} \cdot \vc{v} = \vc{u}^\T \vc{v} = \begin{pmatrix} u_1 & u_2 & \dots & u_n \end{pmatrix} \begin{pmatrix} v_1 \\ v_2 \\ \vdots \\ u_n \end{pmatrix} = \sum_{i=1}^n u_i v_i. \end{gather} (6.31)

例 6.7: 两千年前的中国问题
经典中国古籍《九章算术》中曾研究线性方程组。 该书成书于公元前两个世纪。书中第 8 章名为 《方程》。 其中包含若干线性方程组问题。其中之一(第 17 题)为:

「今有羊五、犬四、鸡三、兔二,共价 1496 钱;羊四、犬二、鸡六、兔三,共价 1175 钱;羊三、犬一、鸡七、兔五,共价 958 钱;羊二、犬三、鸡五、兔一,共价 861 钱。问:各几何?」

为每种动物的价格引入变量,使每只羊的价格为 $x_1$ 钱,每只狗的价格为 $x_2$,每只鸡的价格为 $x_3$,每只兔的价格为 $x_4$ 钱。则这四条陈述可写为
\begin{equation} \begin{cases} \begin{array}{rrrrrrrl} 5 x_1 & \bfm + & \bfm 4 x_2 & \bfm + & \bfm 3 x_3 & \bfm + & \bfm 2 x_4 & \bfm = 1496, \\ 4 x_1 & \bfm + & \bfm 2 x_2 & \bfm + & \bfm 6 x_3 & \bfm + & \bfm 3 x_4 & \bfm = 1175, \\ 3 x_1 & \bfm + & \bfm x_2 & \bfm + & \bfm 7 x_3 & \bfm + & \bfm 5 x_4 & \bfm = 958, \\ 2 x_1 & \bfm + & \bfm 3 x_2 & \bfm + & \bfm 5 x_3 & \bfm + & \bfm x_4 & \bfm = 861. \\ \end{array} \end{cases} \end{equation} (6.32)
注意,这可以改写为矩阵-向量形式
\begin{gather} \underbrace{ \begin{pmatrix} 5 & 4 & 3 & 2 \\ 4 & 2 & 6 & 3 \\ 3 & 1 & 7 & 5 \\ 2 & 3 & 5 & 1 \\ \end{pmatrix} }_{\mx{A}} \underbrace{ \begin{pmatrix} x_1 \\ x_2 \\ x_3 \\ x_4 \end{pmatrix} }_{\vc{x}} = \underbrace{ \begin{pmatrix} 1496 \\ 1175 \\ 958 \\ 861 \end{pmatrix} }_{\vc{y}} \\ \Longleftrightarrow \\ \mx{A}\vc{x} = \vc{y}. \end{gather} (6.33)
由此可解出 $x_1$、$x_2$、$x_3$ 和 $x_4$。求解这类方程组第 5 章 的主题,该章介绍高斯消元法。 求解这类方程组也是中国古书第 8 章的主题。

接下来,我们也将用高斯消元法求解该方程组。不过,为节省篇幅, 我们不写出未知量,而将左右两边写在一个大圆括号内,中间以一条竖直 直线分隔。这得到
\begin{align} \left( \begin{array}{rrrr|r} 5 & 4 & 3 & 2 & 1496 \\ 4 & 2 & 6 & 3 & 1175 \\ 3 & 1 & 7 & 5 & 958 \\ 2 & 3 & 5 & 1 & 861 \\ \end{array} \right). \end{align} (6.34)
这种记法也用于例 6.11高斯消元法的法则(定理 5.2)仍然适用,因为我们只是 改变了记法。 例如,我们可以将第 2 行乘以 5,减去第 1 行的 4 倍,并将结果放入第 2 行。这给出
\begin{align} \left( \begin{array}{rrrr|r} 5 & 4 & 3 & 2 & 1496 \\ 0 & -6 & 18 & 7 & -109 \\ 3 & 1 & 7 & 5 & 958 \\ 2 & 3 & 5 & 1 & 861 \\ \end{array} \right). \end{align} (6.35)
接下来,我们要消去左列的 3 和 2。我们将第 3 行乘以 2,减去第 4 行的 3 倍,并将 结果放入第 4 行。同时,我们将第 1 行乘以 3,减去第 3 行的 5 倍,并将所得行放入第 3 行, 这给出
\begin{align} \left( \begin{array}{rrrr|r} 5 & 4 & 3 & 2 & 1496 \\ 0 & -6 & 18 & 7 & -109 \\ 0 & 7 & -26 & -19 & -302 \\ 0 & -7 & -1 & 7 & -667 \\ \end{array} \right). \end{align} (6.36)
下一步是消去第 2 列的 7 和 -7。首先,我们将第 3 行与第 4 行相加,并将结果放入第 4 行。 其次,我们将第 2 行乘以 7,加上第 3 行的 6 倍,并将所得行放入第 3 行,这给出
\begin{align} \left( \begin{array}{rrrr|r} 5 & 4 & 3 & 2 & 1496 \\ 0 & -6 & 18 & 7 & -109 \\ 0 & 0 & -30 & -65 & -2575 \\ 0 & 0 & -27 & -12 & -969 \\ \end{array} \right). \end{align} (6.37)
最后,我们将第 3 行乘以 27,减去第 4 行的 30 倍。这得到
\begin{align} \left( \begin{array}{rrrr|r} 5 & 4 & 3 & 2 & 1496 \\ 0 & -6 & 18 & 7 & -109 \\ 0 & 0 & -30 & -65 & -2575 \\ 0 & 0 & 0 & -1395 & -40455 \\ \end{array} \right), \end{align} (6.38)
这意味着最后一行表示 $-1395 x_4 = -40455$,即每只兔子 $x_4 = 29$ 钱。 我们可以由此求出每只鸡 $x_3 = 23$ 钱,再由此求出每只狗 $x_2 = 121$ 钱,最后求出每只羊 $x_1=177$ 钱。
6.4 一些有用的二维和三维矩阵


本节将介绍若干有用的矩阵,包括二维和三维的旋转、缩放和剪切矩阵。需要注意的是,这些矩阵也可推广到更高维。

6.4.1 二维



在许多情况下需要应用旋转。人们可能希望将一个向量与另一个向量对齐,或仅为制作动画而旋转物体。二维旋转矩阵的推导很简单。 点 $\vc{p}=(p_x,p_y)$ 可用半径 $r$ 和角度 $\theta$ 参数化为 $\vc{p}=(p_x,p_y)=(r\cos\theta, r\sin\theta)$。将 $\vc{p}$ 旋转 $\phi$ 弧度将得到新向量 $\vc{q}=(r\cos(\theta+\phi), r\sin(\theta+\phi))$,可改写为
\begin{align} \vc{q}=& \begin{pmatrix} r\cos(\theta+\phi) \\ r\sin(\theta+\phi) \end{pmatrix} = \begin{pmatrix} r (\cos\theta \cos\phi - \sin\theta \sin\phi) \\ r (\sin\theta \cos\phi + \cos\theta \sin\phi) \end{pmatrix} \\ =& \underbrace{ \left(\begin{array}{rr} \cos\phi & -\sin\phi \\ \sin\phi & \cos\phi \end{array}\right) }_{\mx{R}(\phi)} \underbrace{ \begin{pmatrix} r\cos\theta \\ r\sin\theta \end{pmatrix} }_{\vc{p}}, \end{align} (6.39)
其中我们使用了角的和差公式 $cos(\theta+\phi)=\cos\theta \cos\phi - \sin\theta \sin\phi$ 和 $\sin(\theta+\phi) = \sin\theta \cos\phi + \cos\theta \sin\phi$。注意我们将 $2\times 2$ 矩阵 $\mx{R}(\phi)$ 分离出来,旋转后的向量 $\vc{q}$ 即该矩阵乘以向量 $\vc{p}$, 即
\begin{align} \vc{q} = \mx{R}(\phi) \vc{p}. \end{align} (6.40)
这引出如下定义。

定义 6.10: 二维旋转矩阵
$2\times 2$ 旋转矩阵定义为
\begin{align} \mx{R}(\phi) = & \left(\begin{array}{rr} \cos \phi & -\sin \phi \\ \sin \phi & \cos \phi \end{array}\right), \end{align} (6.41)
其中 $\phi$ 为该矩阵逆时针旋转的弧度值。
交互图 6.3 中,旋转矩阵作用于矩形的顶点, 读者可以改变旋转矩阵 $\mx{R}(\phi)$ 的角度 $\phi$。
$\phi=$
交互图 6.3: 拖动上方滑块,可应用二维旋转矩阵 $\mx{R}(\phi)$, 其中角度 $\phi$ 由滑块取得。滑块最左端时角度为 $-\pi$ 弧度, 最右端时为 $+\pi$ 弧度。注意,旋转矩阵作用于矩形的 顶点(彩色圆点),得到旋转后的顶点。 更具体地说,从原点(位于带箭头的直线相交处)到 矩形各角点构成向量,矩阵实际上作用于这些向量。 原始矩形 及其顶点显示为灰色矩形和颜色较浅的圆点。
交互图 6.3: 拖动上方滑块,可应用二维旋转矩阵 $\hid{\mx{R}(\phi)}$, 其中角度 $\hid{\phi}$ 由滑块取得。滑块最左端时角度为 $\hid{-\pi}$ 弧度, 最右端时为 $\hid{+\pi}$ 弧度。注意,旋转矩阵作用于矩形的 顶点(彩色圆点),得到旋转后的顶点。 更具体地说,从原点(位于带箭头的直线相交处)到 矩形各角点构成向量,矩阵实际上作用于这些向量。 原始矩形 及其顶点显示为灰色矩形和颜色较浅的圆点。
缩放矩阵非常简单:除对角元素外其余位置均为零。 因此,每个对角元素作为乘性因子作用于对应维度。

定义 6.11: 二维缩放矩阵
缩放矩阵定义为
\begin{align} \mx{S}(f_x, f_y) = & \begin{pmatrix} f_x & 0 \\ 0 & f_y \end{pmatrix}, \end{align} (6.42)
其中 $f_x$ 为作用于 $x$ 维的因子,$f_y$ 为作用于 $y$ 维的因子。
缩放矩阵作用于矩形的示例见 交互图 6.4
$f_x=$
$f_y=$
交互图 6.4: 上方两个滑块分别控制 $x$ 方向和 $y$ 方向的缩放因子 $f_x$ 和 $f_y$。
交互图 6.4: 上方两个滑块分别控制 $\hid{x}$ 方向和 $\hid{y}$ 方向的缩放因子 $\hid{f_x}$ 和 $\hid{f_y}$。
剪切矩阵的效果最好在详细描述之前先观察,因此我们建议 读者先探索交互图 6.5, 然后再给出形式定义。
$s=$
交互图 6.5: 上方滑块控制剪切变换的剪切因子 $s$。可以看出, $y$ 坐标保持不变,而 $x$ 坐标的变化随 $y$ 绝对值的增大而增大。
交互图 6.5: 上方滑块控制剪切变换的剪切因子 $\hid{s}$。可以看出, $\hid{y}$ 坐标保持不变,而 $\hid{x}$ 坐标的变化随 $\hid{y}$ 绝对值的增大而增大。
由上图可以得出, 剪切可通过对单位矩阵将其中的一个零元素替换为非零因子 $s$ 来实现。

定义 6.12: 二维剪切矩阵
二维剪切矩阵由下列之一定义:
\begin{align} \mx{H}_{xy}(s) = \begin{pmatrix} 1 & s \\ 0 & 1 \end{pmatrix} \ \ \ \mathrm{or} \ \ \ \mx{H}_{yx}(s) = \begin{pmatrix} 1 & 0 \\ s & 1 \end{pmatrix}. \end{align} (6.43)
注意 $\mx{H}$ 的第一个下标表示被改变的坐标,第二个下标表示用来乘以 $s$ 并加到第一个坐标上的那个坐标。
例如,$\mx{H}_{xy}(s)$ 表示 $x$ 坐标将按 $s$ 乘以 $y$ 坐标的方式被剪切。 这正是交互图 6.5 所示的内容。

6.4.2 三维



在三维中,旋转、缩放和剪切的行为与二维中大致相同。 不过,每种操作的方式更多。例如,二维旋转发生在 平面内,而在三维中,可以绕各轴旋转。 我们从旋转矩阵开始。

定义 6.13: 三维旋转矩阵
绕三个主轴的旋转由下列三个旋转矩阵实现。
\begin{gather} \mx{R}_x(\phi) = \begin{pmatrix} 1 & 0 & 0 \\ 0 & \cos \phi & -\sin \phi \\ 0 & \sin \phi & \hid{-}\cos \phi \end{pmatrix}, \ \ \ \mx{R}_y(\phi) = \begin{pmatrix} \hid{-}\cos \phi & 0 & \sin \phi \\ 0 & 1 & 0 \\ -\sin \phi & 0 & \cos \phi \end{pmatrix}, \\ \mx{R}_z(\phi) = \begin{pmatrix} \cos \phi & -\sin \phi & 0 \\ \sin \phi & \hid{-}\cos \phi & 0 \\ 0 & 0 & 1 \end{pmatrix}, \end{gather} (6.44)
其中 $\phi$ 为该矩阵逆时针旋转的弧度值。
注意,绕轴 $i$(即使用 $\mx{R}_i(\phi)$)的旋转矩阵使 $i$ 坐标保持不变,而其余两个坐标绕轴 $i$ 旋转。 需要指出,也可以构造绕任意轴的旋转矩阵。

回忆一下,若无特别说明,我们使用右手坐标系。 值得注意的是, $\mx{R}_x$ 和 $\mx{R}_z$ 与二维旋转矩阵(定义 6.10)类似, 但 $\mx{R}_y$ 中 $\sin\phi$ 项的符号被翻转。这是因为我们希望三个旋转矩阵的 $\phi$ 都取正定向。例如,对于 $\mx{R}_x$,想象你沿负 $x$ 轴方向俯视,这意味着你会看到 $y$ 轴和 $z$ 轴呈正定向。对于 $\mx{R}_y$,沿负 $y$ 轴方向俯视时,$x$ 轴和 $z$ 轴则不然。注意,由于 $\cos(-\phi)=\cos\phi$ 和 $\sin(-\phi)=-\sin\phi$, 沿负方向旋转只会翻转 $\sin\phi$ 项的符号。

与二维缩放矩阵相比,三维缩放矩阵更简单,因为它只是沿 $z$ 轴增加了缩放。 这引出如下定义。

定义 6.14: 三维缩放矩阵
三维缩放矩阵定义为
\begin{align} \mx{S}(f_x, f_y,f_z) = & \begin{pmatrix} f_x & 0 & 0\\ 0 & f_y & 0 \\ 0 & 0 & f_z \end{pmatrix}, \end{align} (6.45)
其中 $f_x$、$f_y$ 和 $f_z$ 分别为作用于 $x$、$y$ 和 $z$ 维的因子。
与三维缩放不同,剪切可以有多种不同方式。 不过,矩阵形式仍然相当相似,如下定义所示。

定义 6.15: 单参数三维剪切矩阵
例如,三维剪切矩阵定义为
\begin{align} \mx{H}_{xy}(s) = \begin{pmatrix} 1 & s & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{pmatrix}, \ \ \ \mx{H}_{yx}(s) = \begin{pmatrix} 1 & 0 & 0 \\ s & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}, \ \ \ \mx{H}_{zy}(s) = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & s & 1 \end{pmatrix}. \end{align} (6.46)
与二维剪切(定义 6.12)类似, $\mx{H}$ 的第一个下标表示被改变的坐标,第二个 下标表示用于乘以 $s$ 并加到第一个坐标上的坐标。 下列组合也是可能的:$\mx{H}_{xz}(s)$、$\mx{H}_{yz}(s)$ 和 $\mx{H}_{zx}(s)$。
有时,使用具有两个参数的剪切矩阵很有用,这是 单参数剪切矩阵的简单推广。

定义 6.16: 双参数三维剪切矩阵
具有两个参数 $s$ 和 $t$ 的三维剪切矩阵定义为
\begin{align} \mx{H}_{x}(s,t) = \begin{pmatrix} 1 & s & t \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{pmatrix}, \ \ \ \mx{H}_{y}(s,t) = \begin{pmatrix} 1 & 0 & 0 \\ s & 1 & t \\ 0 & 0 & 1 \end{pmatrix}, \ \ \ \mx{H}_{z}(s,t) = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ s & t & 1 \end{pmatrix}. \end{align} (6.47)
本章中的一些矩阵将用于说明矩阵 运算的若干性质,这是下一节的主题。例如,我们将说明先旋转再剪切 与先剪切再旋转并不相同。因此,矩阵乘法不可交换
6.5 矩阵运算的性质


定理 6.1: 矩阵运算性质
以下我们假设各矩阵的大小使得 相应运算有定义。
\begin{equation} \begin{array}{llr} (i) & k(l\mx{A}) = (kl)\mx{A} & \spc\text{(associativity)} \\ (ii) & (k+l)\mx{A} = k\mx{A} +l\mx{A} & \spc\text{(distributivity)} \\ (iii) & k(\mx{A}+\mx{B}) = k\mx{A} +k\mx{B} & \spc\text{(distributivity)} \\ (iv) & \mx{A} + \mx{B} = \mx{B} + \mx{A} & \spc\text{(commutativity)} \\ (v) & \mx{A}+(\mx{B}+\mx{C})=(\mx{A}+\mx{B})+\mx{C} & \spc\text{(associativity)} \\ (vi) & \mx{A}+ (-1)\mx{A} = \mx{O} & \spc\text{(additive inverse)} \\ (vii) & \mx{A}(\mx{B}+\mx{C})=\mx{A}\mx{B}+\mx{A}\mx{C} & \spc\text{(distributivity)} \\ (viii) & (\mx{A}+\mx{B})\mx{C}=\mx{A}\mx{C}+\mx{B}\mx{C} & \spc\text{(distributivity)} \\ (ix) & (\mx{A}\mx{B})\mx{C}=\mx{A}(\mx{B}\mx{C}) & \spc\text{(associativity)} \\ (x) & \mx{I}\mx{A}=\mx{A}\mx{I}=\mx{A} & \spc\text{(multiplicative one)} \\ (xi) & (k\mx{A})^\T=k\mx{A}^\T & \spc\text{(transpose rule 1)} \\ (xii) & (\mx{A}+\mx{B})^\T=\mx{A}^\T+\mx{B}^\T & \spc\text{(transpose rule 2)} \\ (xiii) & (\mx{A}^\T)^\T=\mx{A} & \spc\text{(transpose rule 3)} \\ (xiv) & (\mx{A}\mx{B})^\T=\mx{B}^\T\mx{A}^\T & \spc\text{(transpose rule 4)} \\ \end{array} \end{equation} (6.48)
此外,我们还有下列显然的法则:$1\mx{A}=\mx{A}$、$0\mx{A}=\mx{O}$、 $k\mx{O}=\mx{O}$ 以及 $\mx{A}+\mx{O}=\mx{A}$。

这些性质都相当容易证明:先求出等号左侧位于 $ij$ 处的矩阵元素表达式,再验证 等号右侧出现相同表达式即可。法则 $(i)-(viii)$ 和 $(x)-(xiii)$ 显然易证,留给读者作为习题。 以下我们将用到 乘积中元素 $\mx{P}=\mx{A}\mx{B}$ 可用点积 表示这一事实(见 式 (6.22)), 即 $[p_{ij}] = \bigl[ \vc{a}_{i,} \cdot \vc{b}_{,j} \bigr]$。
$(vii)$ 等号左侧的矩阵元素变为: $\bigl[ \vc{a}_{i,} \cdot (\vc{b}_{,j}+\vc{c}_{,j}) \bigr]$,而右侧变为: $\bigl[ \vc{a}_{i,} \cdot \vc{b}_{,j} \bigr] + \bigl[ \vc{a}_{i,} \cdot \vc{c}_{,j} \bigr]=$ $\bigl[ \vc{a}_{i,} \cdot (\vc{b}_{,j}+\vc{c}_{,j}) \bigr]$,其中我们使用了点积的 分配律定理 3.1)。这表明等号左右两侧的矩阵元素相同。
$(viii)$ 由于矩阵-矩阵乘法不可交换(即一般情况下 $\mx{A}\mx{B}\neq\mx{B}\mx{A}$ ——见 例 6.9),我们还需证明这一条。 等号左侧的矩阵元素变为: $\bigl[ (\vc{a}_{i,}+\vc{b}_{i,}) \cdot \vc{c}_{,j} \bigr]$,而右侧变为: $\bigl[ \vc{a}_{i,} \cdot \vc{c}_{,j} \bigr] + \bigl[ \vc{b}_{i,} \cdot \vc{c}_{,j} \bigr]=$ $\bigl[ (\vc{a}_{i,} + \vc{b}_{,j}) \cdot \vc{c}_{,j} \bigr]$。证明完毕。
$(ix)$ 我们从左侧出发,经过一些推导可得 位置 $ij$ 处的矩阵元素可表示为:$\sum_k (\vc{a}_{i,}\cdot \vc{b}_{,k})c_{kj}$。 类似地,右侧变为: $\sum_k a_{ik}(\vc{b}_{k,}\cdot \vc{c}_{,j})$;将这两个表达式(左、右两侧) 展开后,可见它们完全相同。这留给读者作为习题。
$(xiv)$ 左侧为: $(\mx{A}\mx{B})^\T=$ $\bigl[ \vc{a}_{i,}^\T \vc{b}_{,j} \bigr]^\T=$ $\bigl[ \vc{a}_{j,}^\T \vc{b}_{,i} \bigr]$,其中第一步我们对矩阵乘法使用了 式 (6.23),第二步则进行了转置(将 $i$ 换为 $j$,将 $j$ 换为 $i$)。 对于右侧,我们采用类似策略: $\mx{B}^\T \mx{A}^\T=$ $\bigl[ b_{ij} \bigr]^\T \bigl[ a_{ij} \bigr]^\T=$ $\bigl[ b_{ji} \bigr] \bigl[ a_{ji} \bigr]=$ $\bigl[ \vc{b}_{,i} \vc{a}_{j,}^\T \bigr]$。 在最后一个表达式中,我们可以改变向量的顺序,正如 $\vc{a}\cdot \vc{b} = \vc{b} \cdot \vc{a}$ 那样,从而使左右两侧相等, 证明完毕。
$\square$


注意 $(v)$ 和 $(ix)$ 特别方便,因为我们可以 同时写出 $\mx{A}+\mx{B}+\mx{C}$ 和 $\mx{A}\mx{B}\mx{C}$(即无需任何括号),因为 顺序无关紧要。这与 $1+2+3$ 和 $5\cdot 3 \cdot 2$ 无需 任何括号的情形类似。

接下来,我们给出一个涉及 $\mx{A}\mx{B}=\mx{O}$(零矩阵定义见 定义 6.4)的示例,其中 $\mx{A}$ 和 $\mx{B}$ 均不是 $\mx{O}$。

例 6.8: 矩阵-矩阵乘法等于零矩阵
设我们有如下矩阵 $\mx{A}$ 和 $\mx{B}$,且需 计算 $\mx{A}\mx{B}$。
\begin{align} \mx{A}= \left( \begin{array}{rr} 2 & 1 \\ 6 & 3 \end{array} \right) \spc\spc\text{and}\spc\spc \mx{B}= \left( \begin{array}{rr} -2 & 3 \\ 4 & -6 \end{array} \right) \\ \mx{A}\mx{B}= \left( \begin{array}{rr} 2\cdot(-2) + 1\cdot 4 & 2\cdot 3 + 1\cdot (-6) \\ 6\cdot(-2) + 3\cdot 4 & 6\cdot 3 + 3\cdot (-6) \end{array} \right) = \left( \begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array} \right) =\mx{O}. \end{align} (6.49)
可以看出,我们有 $\mx{A}\mx{B}=\mx{O}$,然而 $\mx{A}$ 和 $\mx{B}$ 均不是 $\mx{0}$。 注意,这会产生一些并非总是直观的后果。 例如,设
\begin{gather} \mx{A}\mx{B} = \mx{A}\mx{C} \\ \Longleftrightarrow \\ \mx{A}\mx{B} - \mx{A}\mx{C} = \mx{O} \\ \Longleftrightarrow \\ \mx{A}(\mx{B} -\mx{C}) = \mx{O}, \end{gather} (6.50)
并且我们还知道 $\mx{A}$ 不等于 $\mx{O}$。 通常,当我们看到诸如 (6.50) 第一行那样的表达式时,会用来推出 $\mx{B}=\mx{C}$。这当然是可能的,然而, 如我们在 (6.49) 中所见,矩阵-矩阵乘法的两个因子都不必 是零矩阵 $\mx{O}$,乘积仍可为零矩阵。在本例中,这意味着 $\mx{B} -\mx{C}$ 不必 是零矩阵。
还值得注意的是,定理 6.1 并不 包含法则 $\mx{A}\mx{B}=\mx{B}\mx{A}$,原因是这在大多数情况下不成立。 下面的示例说明了这一点。

例 6.9: 矩阵-矩阵乘法不可交换
设我们有两个矩阵
\begin{equation} \mx{A} = \left( \begin{array}{rr} 1 & 2 \\ 3 & -1 \\ \bstwo -2 & 0 \\ 0 & 4 \end{array} \right) \spc\spc\text{and}\spc\spc \mx{B} = \left( \begin{array}{rrrr} 5 & -3 & 0 & 1 \\ 3 & -1 & 2 & 6 \end{array} \right). \end{equation} (6.51)
可以看出,$\mx{A}$ 的大小为 $4\times 2$,$\mx{B}$ 的大小为 $2\times 4$。 有趣的是,$\mx{A}\mx{B}$ 和 $\mx{B}\mx{A}$ 均有定义。二者如下所示。
\begin{align} \mx{A}\mx{B} &= \left( \begin{array}{rr} 1 & 2 \\ 3 & -1 \\ \bstwo -2 & 0 \\ 0 & 4 \end{array} \right) \left( \begin{array}{rrrr} 5 & -3 & 0 & -2 \\ 3 & 1 & 2 & 6 \end{array} \right) \\ &= \left( \begin{array}{rrrr} 1\cdot 5 + 2\cdot 3 & 1\cdot(-3) + 2\cdot 1 & 1\cdot 0 + 2\cdot 2 & 1\cdot (-2) + 2\cdot 6\\ 3\cdot 5 - 1\cdot 3 & 3\cdot (-3) - 1\cdot 1 & 3\cdot 0 - 1\cdot 2 & 3\cdot (-2) - 1\cdot 6\\ -2\cdot 5 + 0\cdot 3 & -2\cdot (-3) + 0\cdot 1 & -2\cdot 0 + 0\cdot 2 & -2\cdot (-2) + 0\cdot 6\\ 0\cdot 5 + 4\cdot 3 & 0\cdot (-3) + 4\cdot 1 & 0\cdot 0 + 4\cdot 2 & 0\cdot (-2) + 4\cdot 6 \end{array} \right) \\ &= \left( \begin{array}{rrrr} 11 & -1 & 4 & 10 \\ 12 & -10 & -2 & -12 \\ \bstwo -10 & 6 & 0 & 4 \\ 12 & 4 & 8 & 24 \end{array} \right) \end{align} (6.52)
利用 规则 (6.20) 求 乘积 $\mx{A}\mx{B}$ 的大小,我们得到: $(4 \times \bcancel{2})\, (\bcancel{2} \times 4) \longrightarrow (4 \times 4)$,即大小 为 $4\times 4$。接下来,我们计算 $\mx{B}\mx{A}$,即
\begin{align} \mx{B}\mx{A} &= \left( \begin{array}{rrrr} 5 & -3 & 0 & -2 \\ 3 & 1 & 2 & 6 \end{array} \right) \left( \begin{array}{rr} 1 & 2 \\ 3 & -1 \\ \bstwo -2 & 0 \\ 0 & 4 \end{array} \right) \\ &= \left( \begin{array}{rr} 5 \cdot 1 - 3 \cdot 3 + 0 \cdot (-2) - 2 \cdot 0 & 5 \cdot 2 - 3 \cdot (-1) + 0 \cdot 0 - 2 \cdot 4 \\ 3 \cdot 1 + 1 \cdot 3 + 2 \cdot (-2) + 6 \cdot 0 & 3 \cdot 2 + 1 \cdot (-1) + 2 \cdot 0 + 6 \cdot 4 \end{array} \right) \\ &= \left( \begin{array}{rr} -4 & 5 \\ 2 & 29 \end{array} \right) \end{align} (6.53)
$\mx{B}\mx{A}$ 的大小为: $(2 \times \bcancel{4})\, (\bcancel{4} \times 2) \longrightarrow (2 \times 2)$,即大小 为 $2\times 2$。 因此,一般情况下 $\mx{A}\mx{B} \neq \mx{B}\mx{A}$ 很清楚,即矩阵-矩阵 乘法不可交换
交互图 6.6 中,我们展示了一个示例,说明矩阵乘法中两个 矩阵的顺序如何影响一个矩形——当其顶点被解释为 向量并用矩阵相乘时,
$\mx{S}$
$\mx{R}$
$\mx{SR}$
$\mx{RS}$
交互图 6.6: 左上:展示一个矩形,对其顶点施加剪切矩阵 $\mx{S}$。 顶点被解释为从中心指向矩形各角的向量 $\vc{v}_i$,矩阵从右侧相乘,例如 $\mx{S}\vc{v}_i$。 左下:同上,但使用旋转矩阵 $\mx{R}$。 右上:此处使用 $\mx{S}\mx{R}$。右下:此处使用 $\mx{R}\mx{S}$。 也可尝试移动滑块以观察效果。可以看出,右上和右下 两图中的矩形并不相同,这意味着 $\mx{S}\mx{R}\neq \mx{R}\mx{S}$,即矩阵乘法 不可交换。
交互图 6.6: 左上:展示一个矩形,对其顶点施加剪切矩阵 $\hid{\mx{S}}$。 顶点被解释为从中心指向矩形各角的向量 $\hid{\vc{v}_i}$,矩阵从右侧相乘,例如 $\hid{\mx{S}\vc{v}_i}$。 左下:同上,但使用旋转矩阵 $\hid{\mx{R}}$。 右上:此处使用 $\hid{\mx{S}\mx{R}}$。右下:此处使用 $\hid{\mx{R}\mx{S}}$。 也可尝试移动滑块以观察效果。可以看出,右上和右下 两图中的矩形并不相同,这意味着 $\hid{\mx{S}\mx{R}\neq \mx{R}\mx{S}}$,即矩阵乘法 不可交换。
6.6 逆矩阵


既然我们已经看到矩阵加法、标量乘矩阵以及矩阵-矩阵乘法 均存在,自然可以问是否也存在类似除法的运算。 也就是说,我们如何在下式中求解 $\mx{X}$:
\begin{equation} \mx{A}\mx{X} = \mx{B}. \end{equation} (6.54)
现在,让我们退一步,从只用标量的 更简单表达式出发,即
\begin{equation} ax = b. \end{equation} (6.55)
由代数可知,解显然是
\begin{equation} x = \frac{b}{a} = a^{-1}b, \end{equation} (6.56)
注意右侧,其中 $a^{-1}$ 作为算子用于求解 式 (6.55), 仅当 $a \neq 0$ 时成立。 这正是后续逆矩阵所用的记号,我们将会看到。 然而,若 $a=0$,则当 $b=0$ 时,$x$ 的所有值都满足该方程。

我们只关注方阵的逆,即若 $\mx{A}$ 为方阵,求 式 (6.54) 的 解,使得
\begin{equation} \mx{X} = \mx{A}^{-1}\mx{B}. \end{equation} (6.57)
只有方阵才能有逆。非方阵可以有一种称为伪逆的、类似逆的对象,但它们往往用处较小;若 未作特别说明,讨论逆矩阵时我们指的是方阵。 逆矩阵的定义如下。

定义 6.17: 逆矩阵
方阵 $\mx{A}$ 称为可逆的,若存在矩阵 $\mx{A}^{-1}$(称为 $\mx{A}$ 的逆),使得
\begin{equation} \mx{A}\mx{A}^{-1} = \mx{A}^{-1}\mx{A} = \mx{I}. \end{equation} (6.58)
对于 $\mx{A}\mx{A}^{-1} = \mx{I}$,称 $\mx{A}^{-1}$ 为右逆;若 $\mx{A}^{-1}\mx{A} = \mx{I}$,则称 $\mx{A}^{-1}$ 为左逆。
以下我们将给出一个定理,说明若矩阵可逆,则 这样的矩阵只有一个,且同时作为左逆和右逆。

定理 6.2: 逆矩阵的存在性
设左逆为 $\mx{A}_l^{-1}$,右逆为 $\mx{A}_r^{-1}$,即 $\mx{A}_l^{-1} \mx{A} = \mx{I}$ 与 $\mx{A}\mx{A}_r^{-1} = \mx{I}$。则下列结论成立:
$(i)$ 若 $\mx{A}_l^{-1} \mx{A} = \mx{A}\mx{A}_r^{-1} = \mx{I}$,则 $\mx{A}_l^{-1} =\mx{A}_r^{-1}$。
$(ii)$ 矩阵 $\mx{A}$ 的逆矩阵 $\mx{A}^{-1}$ 唯一,即 $\mx{A}^{-1}= \mx{A}_l^{-1} =\mx{A}_r^{-1}$。

$(i)$ 假设 $\mx{A}_l^{-1} \mx{A} = \mx{I}$ 和 $\mx{A}\mx{A}_r^{-1} = \mx{I}$ 均成立。 则可推出
\begin{equation} \mx{A}_l^{-1} = \mx{A}_l^{-1} \mx{I} =\mx{A}_l^{-1} (\mx{A}\mx{A}_r^{-1}) = (\mx{A}_l^{-1} \mx{A})\mx{A}_r^{-1} = \mx{I}\mx{A}_r^{-1} = \mx{A}_r^{-1}. \end{equation} (6.59)

$(ii)$ 假设存在两个不同的逆矩阵 $\mx{R}$ 和 $\mx{L}$, 它们均可替代 式 (6.58) 中的 $\mx{A}^{-1}$,即我们有 $\mx{L}\mx{A}=\mx{I}$ 和 $\mx{A}\mx{R}=\mx{I}$。然而,由上面的 $(i)$ 可推出 $\mx{L}=\mx{R}$,因此不可能存在两个不同的逆矩阵。
$\square$


既然该定理已证,我们可以省略左逆和右逆的记号,简记 逆矩阵为 $\mx{A}^{-1}$。 接下来是一个逆矩阵的示例。

例 6.10: 逆矩阵 1
对于二维旋转矩阵 $\mx{R}(\phi)$(见 定义 6.10), 有理由认为其逆旋转矩阵为 $\mx{R}(-\phi)$,即沿 相反方向的旋转。若果真如此,则按 定义 6.17 应有 $\mx{R}(\phi)\mx{R}(-\phi)=\mx{I}$。 因此,让我们将这两个矩阵相乘, 看看结果是否为单位矩阵。计算如下。
\begin{align} \mx{R}(\phi)\mx{R}(-\phi) = & \mx{R}(\phi)\mx{R}(-\phi) = \begin{pmatrix} \cos \phi & -\sin \phi \\ \sin \phi & \hid{-}\cos \phi \end{pmatrix} \begin{pmatrix} \cos (-\phi) & -\sin(-\phi) \\ \sin (-\phi) & \hid{-}\cos(-\phi) \end{pmatrix} \\ =& \begin{pmatrix} \cos \phi & -\sin \phi \\ \sin \phi & \hid{-}\cos \phi \end{pmatrix} \begin{pmatrix} \hid{-}\cos (\phi) & \sin(\phi) \\ -\sin (\phi) & \cos(\phi) \end{pmatrix} \\ =& \begin{pmatrix} \cos^2 \phi + \sin^2\phi & \cos\phi \sin \phi - \sin \phi\cos\phi\\ \sin \phi\cos\phi - \cos\phi \sin \phi & \sin^2\phi + \cos^2 \phi \end{pmatrix} \\ =& \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} = \mx{I}. \end{align} (6.60)
此处我们使用了 $\cos(-\phi) = \cos\phi$、$\sin(-\phi) = -\sin\phi$ 和 $\cos^2 \phi + \sin^2\phi=1$。

同样,可以证明 $\mx{H}^{-1}_{xy}(s) = \mx{H}_{xy}(-s)$,例如对于剪切矩阵。 对于缩放矩阵,$\mx{S}^{-1}(f_x,f_y) = \mx{S}(1/f_x, 1/f_y)$。后两种情况留给读者作为习题。 在 交互图 6.7 中,展示了这些矩阵及其逆。
交互图 6.7: 在本交互图中,我们将 $2\times 2$ 矩阵 $\mx{A}$ 可视化为其所含的两个列向量 $\vc{a}_{,1}$ 和 $\vc{a}_{,2}$,即 $\mx{A} = \bigl(\textcolor{#aa0000}{\vc{a}_{,1}}\,\, \textcolor{#00aa00}{\vc{a}_{,2}} \bigr)$。 本交互图中 $\textcolor{#aa0000}{\vc{a}_{,1}}$ 和 $\textcolor{#00aa00}{\vc{a}_{,2}}$ 均可 移动。 此外,右侧显示了逆矩阵 $\mx{A}^{-1}$,其 两个列向量在图中分别为蓝色和黄色。 首先展示 $\mx{A}$ 为旋转矩阵的示例,使用 $\phi=\pi/6$,即 30 度。 可以看到红色向量此时变为 $(\cos(\pi/6),\sin(\pi/6)=(\sqrt{3}/2,0.5)$。 还显示了这对向量构成的平行四边形。对于旋转矩阵,这些 图形变为面积为 1.0 的正方形。这将在 第 7 章 中进一步说明,届时将会清楚 面积与相应矩阵的行列式有关。 点击/按 下一步 继续下一种矩阵。若您移动了向量并希望恢复原始矩阵,请记住点击/按 重置
交互图 6.7: 在本交互图中,我们将 $\hid{2\times 2}$ 矩阵 $\hid{\mx{A}}$ 可视化为其所含的两个列向量 $\hid{\vc{a}_{,1}}$ 和 $\hid{\vc{a}_{,2}}$,即 $\hid{\mx{A} = \bigl(\textcolor{#aa0000}{\vc{a}_{,1}}\,\, \textcolor{#00aa00}{\vc{a}_{,2}} \bigr)}$。 本交互图中 $\hid{\textcolor{#aa0000}{\vc{a}_{,1}}}$ 和 $\hid{\textcolor{#00aa00}{\vc{a}_{,2}}}$ 均可 移动。 此外,右侧显示了逆矩阵 $\hid{\mx{A}^{-1}}$,其 两个列向量在图中分别为蓝色和黄色。 首先展示 $\hid{\mx{A}}$ 为旋转矩阵的示例,使用 $\hid{\phi=\pi/6}$,即 30 度。 可以看到红色向量此时变为 $\hid{(\cos(\pi/6),\sin(\pi/6)=(\sqrt{3}/2,0.5)}$。 还显示了这对向量构成的平行四边形。对于旋转矩阵,这些 图形变为面积为 1.0 的正方形。这将在 第 7 章 中进一步说明,届时将会清楚 面积与相应矩阵的行列式有关。 点击/按 下一步 继续下一种矩阵。若您移动了向量并希望恢复原始矩阵,请记住点击/按 重置
$\mx{A} = \left(\begin{array}{l} \hid{1} \\ \hid{1} \end{array}\right.$
$\left.\begin{array}{l} \hid{1} \\ \hid{1} \end{array}\right)$
$\textcolor{#aa0000}{\vc{a}_{,1}}$
$\textcolor{#009000}{\vc{a}_{,2}}$
$\mx{A}^{-1} = \left(\begin{array}{l} \hid{1} \\ \hid{1} \end{array}\right.$
$\left.\begin{array}{l} \hid{1} \\ \hid{1} \end{array}\right)$
例 6.10 中,我们看到对于旋转、缩放和剪切矩阵, 求对应的逆矩阵是直接的。然而,到目前为止尚未说明如何 对一般矩阵求逆。有多种不同方法。对于二维 矩阵,尤其简单,如下列定理所示。

定理 6.3: 二维矩阵的逆
对于 $2\times 2$ 矩阵 $\mx{A}$,其逆为
\begin{equation} \mx{A}^{-1} = \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix}^{-1} = \frac{1}{a_{11}a_{22} - a_{12}a_{21}} \begin{pmatrix} \hid{-}a_{22} & -a_{12} \\ -a_{21} & \hid{-}a_{11} \end{pmatrix}, \end{equation} (6.61)
若 $a_{11}a_{22} - a_{12}a_{21} \neq 0$;否则,逆不存在。

让我们检验 $\mx{A}^{-1}$ 与 $\mx{A}$ 相乘的结果,即
\begin{align} \mx{A}^{-1}\mx{A} &= \frac{1}{a_{11}a_{22} - a_{12}a_{21}} \begin{pmatrix} \hid{-}a_{22} & -a_{12} \\ -a_{21} & \hid{-}a_{11} \end{pmatrix} \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix} \\ &= \frac{1}{a_{11}a_{22} - a_{12}a_{21}} \begin{pmatrix} a_{22}a_{11} - a_{12}a_{21} & a_{22}a_{12}-a_{12}a_{22} \\ -a_{21}a_{11} + a_{11}a_{21} & -a_{21}a_{12}+a_{11}a_{22} \end{pmatrix} \\ &= \frac{1}{a_{11}a_{22} - a_{12}a_{21}} \begin{pmatrix} a_{11}a_{22} - a_{12}a_{21} & 0 \\ 0 & a_{11}a_{22} - a_{12}a_{21} \end{pmatrix} = \mx{I}, \end{align} (6.62)
在最后一步中,我们直接使用了标量-矩阵乘法的定义(定义 6.7)。 同样清楚的是,若 $a_{11}a_{22} - a_{12}a_{21}=0$,则会出现除以零,因此 逆不存在。
$\square$


第 7 章(关于行列式)中将会说明,定理 6.3 中的分母事实上就是 $2\times 2$ 矩阵的行列式。

接下来,我们将说明如何用 高斯消元法第 5 章)计算逆。

例 6.11:
该矩阵的逆矩阵
\begin{align} \mx{A} &= \left( \begin{array}{rrr} 5 & 3 & 1\\ 1 & 0 & -2 \\ 1 & 2 & 5 \end{array} \right) \end{align} (6.63)
是我们所求的。现在,让我们建立如下方程组,
\begin{gather} \mx{A}\vc{x} = \vc{y} \\ \Longleftrightarrow \\ \mx{A}\vc{x} = \mx{I}\vc{y}, \end{gather} (6.64)
其中 $\mx{A}\vc{x}$ 和 $\mx{I}\vc{y}$ 是含有三个元素的 列向量。若我们从左用 $\mx{A}$ 的逆乘以两边,则得到
\begin{gather} \mx{A}^{-1}\mx{A}\vc{x}=\mx{A}^{-1}\mx{I}\vc{y} \\ \Longleftrightarrow \\ \mx{I}\vc{x}=\mx{A}^{-1}\vc{y}, \end{gather} (6.65)
也就是说,我们已将 式 (6.64) 中的单位矩阵从右侧「移」到左侧,同时逆矩阵单独出现在 右侧。因此,若我们能在左侧得到单位矩阵,则另一侧就会得到 矩阵的逆。写出完整的矩阵结构,我们得到
\begin{align} \left( \begin{array}{rrr} 5 & 3 & 1\\ 1 & 0 & -2 \\ 1 & 2 & 5 \end{array} \right) \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix} = \begin{pmatrix} 1 & 0 & 0\\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} y_1 \\ y_2 \\ y_3 \end{pmatrix}. \end{align} (6.66)
如我们在 式 (6.26) 中所见,线性方程组 可以用矩阵形式表示。这实际上相当方便,因为我们不必 每次都写出 $x_1$、$x_2$ 和 $x_3$。注意,等号右侧不再是常数 向量,而是单位矩阵乘以 $\vc{y}$。不过,根据 定理 5.2 中的规则,这里仍可进行 高斯消元法。为节省篇幅,我们甚至可以假定 $x_1$、$x_2$、$x_3$、$y_1$、$y_2$ 和 $y_3$ 隐含存在,而不把它们写出来。上面方程组的简写形式 则写为
\begin{align} \left( \begin{array}{rrr|rrr} 5 & 3 & 1 & 1 & 0 & 0\\ 1 & 0 & -2 & 0 & 1 & 0\\ 1 & 2 & 5 & 0 & 0 & 1 \end{array} \right). \end{align} (6.67)
我们现在可以进行与 高斯消元法 相同的通常操作。例如,我们可以从中行减去 底行并将结果放入底行,这将得到
\begin{align} \left( \begin{array}{rrr|rrr} 5 & 3 & 1 & 1 & 0 & 0\\ 1 & 0 & -2 & 0 & 1 & 0\\ 0 & 2 & 7 & 0 & -1 & 1 \end{array} \right). \end{align} (6.68)
接下来,将中行乘以 $5$,从第一行减去所得结果,并将结果放入中行, 得到
\begin{align} \left( \begin{array}{rrr|rrr} 5 & 3 & 1 & 1 & 0 & 0\\ 0 & -3 & -11 & -1 & 5 & 0\\ 0 & 2 & 7 & 0 & -1 & 1 \end{array} \right). \end{align} (6.69)
注意,这些操作同样应用于右侧。 最后,我们将中行乘以 $2$、底行乘以 $3$,相加后将结果 放入底行,即
\begin{align} \left( \begin{array}{rrr|rrr} 5 & 3 & 1 & 1 & 0 & 0\\ 0 & -3 & -11 & -1 & 5 & 0\\ 0 & 0 & -1 & -2 & 7 & 3 \end{array} \right). \end{align} (6.70)
在下一步中,我们同时执行若干操作:将底行加到第一行, 将底行乘以 $-11$ 后加到中行,将底行 乘以 $-1$ 后直接存入底行,得到
\begin{align} \left( \begin{array}{rrr|rrr} 5 & 3 & 0 & -1 & 7 & 3\\ 0 & -3 & 0 & 21 & -72 & -33\\ 0 & 0 & 1 & 2 & -7 & -3 \end{array} \right). \end{align} (6.71)
接下来,我们将中行加到顶行,然后将顶行除以 $5$、中行除以 $-3$, 得到
\begin{align} \left( \begin{array}{rrr|rrr} 1 & 0 & 0 & 4 & -13 & -6\\ 0 & 1 & 0 & -7 & 24 & 11\\ 0 & 0 & 1 & 2 & -7 & -3 \end{array} \right). \end{align} (6.72)
因此,逆矩阵 $\mx{A}^{-1}$ 为
\begin{align} \mx{A}^{-1} &= \left( \begin{array}{rrr} 4 & -13 & -6\\ -7 & 24 & 11\\ 2 & -7 & -3 \end{array} \right). \end{align} (6.73)
在实践中,为进一步节省篇幅,可以将上述某些步骤合并。注意,该 方法适用于任意大小的方阵。最后,若方程组无解,则 该矩阵不可逆。读者可尝试将 $\mx{A}$ 与 $\mx{A}^{-1}$ 相乘,验证 结果是否为单位矩阵 $\mx{I}$。
注意,第 7 章 还将介绍计算逆的其他方法。

定理 6.4: 逆矩阵的性质
在下列各式中,若矩阵 $\mx{A}$ 和 $\mx{B}$ 可逆,则 $\mx{A}^{\T}$、 $\mx{A}^{-1}$、$\mx{B}^{-1}$ 和 $\mx{A}\mx{B}$ 也可逆,且
\begin{equation} \begin{array}{llr} (i) & (\mx{A}^{-1})^{-1} = \mx{A} & \spc\text{(inverse inverse)}, \\ (ii) & (\mx{A}\mx{B})^{-1} = \mx{B}^{-1}\mx{A}^{-1} & \spc\text{(product inverse)}, \\ (iii) & (\mx{A}^{-1})^{\T} = (\mx{A}^{\T})^{-1} & \spc\text{(inverse transpose)}. \\ \end{array} \end{equation} (6.74)
注意 $(ii)$ 的顺序,也就是说,与左侧相比,$\mx{A}$ 和 $\mx{B}$ 的顺序在右侧被颠倒。

$(i)$ 由 定义 6.17 $\mx{A}\mx{A}^{-1}=\mx{A}^{-1}\mx{A}=\mx{I}$,这意味着 $\mx{A}^{-1}$ 的逆为 $\mx{A}$,因此 $\mx{A}^{-1}$ 可逆。
$(ii)$ 若一个矩阵与其逆矩阵相乘得到 $\mx{I}$,则我们得知得到了该矩阵的逆。假设我们猜测 $(\mx{A}\mx{B})$ 的逆为 $\invmx{B}\invmx{A}$,并想 验证是否正确。我们现在可以将 $\mx{A}\mx{B}$ 与 $\invmx{B}\invmx{A}$ 相乘,观察结果: $(\mx{A}\mx{B})(\invmx{B}\invmx{A}) =$ $\mx{A}(\mx{B}\invmx{B})\invmx{A} = $ $\mx{A}\mx{I}\invmx{A} = $ $\mx{A}\invmx{A} = \mx{I}$。因此我们的猜测正确,$(\mx{A}\mx{B})$ 的逆确实是 $\invmx{B}\invmx{A}$。
$(iii)$ 注意 $\mx{I}=\mx{I}^{\T}$,然后我们用 定理 6.1 中的 $(xiv)$ 得到 $(\underbrace{\mx{A}\mx{A}^{-1}}_{\mx{I}})^{\T} = $ $(\mx{A}^{-1})^{\T} \mx{A}^{\T} = \mx{I}$,这意味着 $(\mx{A}^{-1})^{\T}$ 是 $\mx{A}^{\T}$ 的左逆。类似地, $(\underbrace{\mx{A}^{-1}\mx{A}}_{\mx{I}})^{\T} = $ $\mx{A}^{\T}(\mx{A}^{-1})^{\T} = \mx{I}$,二者合起来表明该规则成立, 且 $\mx{A}^{\T}$ 可逆。
$\square$


例 6.12: 矩阵乘积的逆(错误示范)
如我们刚才在上面 定理 6.4 中所见,矩阵-矩阵乘积(例如 $\mx{R}(\phi)\mx{H}_{xy}(s)$)的逆为 $(\mx{R}(\phi)\mx{H}_{xy}(s))^{-1}=$ $\mx{H}^{-1}_{xy}(s)\mx{R}^{-1}(\phi)$。 此处,我们将探讨若不遵守交换 矩阵顺序的规则会发生什么。判断所计算的是否为真正的逆, 可将矩阵与其逆相乘,结果应为 单位矩阵 $\mx{I}$,即
\begin{align} \bigl(\mx{R}(\phi)\mx{H}_{xy}(s)\bigr) \bigl(\mx{R}(\phi)\mx{H}_{xy}(s)\bigr)^{-1} = \mx{I}, \end{align} (6.75)
延续我们的示例, 假如我们有些马虎,实际上忘记了应当交换两个矩阵的顺序呢? 那么我们会得到一个矩阵 $\mx{M}$,为
\begin{align} \mx{M} = \bigl(\mx{R}(\phi)\mx{H}_{xy}(s)\bigr) \bigl(\mx{R}^{-1}(\phi)\mx{H}^{-1}_{xy}(s)\bigr). \end{align} (6.76)
如我们在 例 6.10 中所见,旋转矩阵和剪切矩阵的逆 相当简单,即 $\mx{R}^{-1}(\phi) = \mx{R}(-\phi)$ 和 $\mx{H}^{-1}_{xy}(s) = \mx{H}_{xy}(-s)$。 这意味着
\begin{align} \mx{M} = \mx{R}(\phi)\mx{H}_{xy}(s) \mx{R}(-\phi) \mx{H}_{xy}(-s). \end{align} (6.77)
将矩阵 $\mx{M}$ 作用于单位正方形各顶点(视为 列向量)的结果 如 交互图 6.8 所示。
$\phi=$
$s=$
交互图 6.8: 上方两个滑块分别控制旋转角 $\phi$ 和剪切因子 $s$。 单位正方形由下列矩阵 $\mx{M} = \mx{R}(\phi)\mx{H}_{xy}(s) \mx{R}(-\phi) \mx{H}_{xy}(-s)$ 变形, 由于矩阵的乘积顺序不正确,结果并不完全是单位矩阵。 但请注意,当其中一个变量设为 0 时会发生什么。
交互图 6.8: 上方两个滑块分别控制旋转角 $\hid{\phi}$ 和剪切因子 $\hid{s}$。 单位正方形由下列矩阵 $\hid{\mx{M} = \mx{R}(\phi)\mx{H}_{xy}(s) \mx{R}(-\phi) \mx{H}_{xy}(-s)}$ 变形, 由于矩阵顺序不正确,结果并不完全是单位矩阵。 但请注意,当其中一个变量设为 0 时会发生什么。
本例表明,在矩阵乘法中保持正确的矩阵顺序非常重要。 否则,可能得到如上图所示的结果,也就是说,并不能真正得到单位矩阵。虽然结果相当 接近,但完全不可用。
6.7 逆矩阵、线性无关与张成


我们在 第 5 章 中看到,要检验一组向量 $\{\vc{u}_1, \vc{u}_2, \ldots, \vc{u}_q\}$ 是否 线性无关或是否张成 $\R^p$,我们必须研究 $p$ 个方程、$q$ 个未知数的方程组。 在本章中,我们看到矩阵可以方便地表示线性方程组。

定理 6.5: 矩阵与线性无关
下列两个陈述等价。
  1. 矩阵 $\mx{A}$ 的 列向量 线性无关
  2. 方程 $\mx{A} \vc{x} = \vc{0}$ 只有解 $\vc{x}=\vc{0}$。

根据 定义 5.2列向量 $\vc{a}_1, \vc{a}_1, \ldots, \vc{a}_q$ 线性无关 当且仅当 $\sum_{i=1}^q x_i \vc{a}_i = \vc{0}$。若 $\mx{A}$ 是以 $\vc{a}_1, \vc{a}_1, \ldots, \vc{a}_q$ 为列的 $p \times q$ 矩阵, 则 $\mx{A}\vc{x}=\vc{0} \Leftrightarrow \sum_{i=1}^q x_i \vc{a}_i = \vc{0}$。这意味着上述两个陈述等价。
$\square$


定理 6.6: 矩阵与线性无关
若矩阵 $\mx{A}$ 存在左逆 $\mx{A}_l^{-1}$,则 $\mx{A}$ 的列 线性无关

假设矩阵 $\mx{A}$ 至少存在一个左逆 $\mx{A}_l^{-1}$。则我们可以从左用 $\mx{A}_l^{-1}$ 乘以矩阵方程 $\mx{A} \vc{x} = \vc{0}$,得到 $\mx{A}_l^{-1} \mx{A} \vc{x} = \mx{A}_l^{-1} \vc{0}$ 或 $ \mx{I} \vc{x} = \vc{x} = \vc{0}$。这就证明了该定理。
$\square$


定理 6.7: 矩阵与张成
下列两个陈述等价。
  1. 矩阵 $\mx{A}$ 的 列向量 张成 $\R^p$。
  2. 方程 $\mx{A} \vc{x} = \vc{y}$ 对每个 $\vc{y}$ 都有解。

根据 定义 5.3列向量 $\vc{a}_1, \vc{a}_1, \ldots, \vc{a}_q$ 张成 $\R^p$ 当且仅当 $\sum_{i=1}^q x_i \vc{a}_i = \vc{y}$ 对每个 $\vc{y}$ 都有解。 若 $\mx{A}$ 是以 $\vc{a}_1, \vc{a}_1, \ldots, \vc{a}_q$ 为列的 $p \times q$ 矩阵,则 $\mx{A}\vc{x}=\vc{y} \Longleftrightarrow \sum_{i=1}^q x_i \vc{a}_i = \vc{y}$。这意味着上述两个陈述等价。
$\square$


定理 6.8: 矩阵与线性无关
若 $\mx{A}$ 的列张成 $\R^p$,则矩阵 $\mx{A}$ 存在右逆 $\mx{A}_r^{-1}$。

若 $\mx{A}$ 的列张成 $\R^p$,则矩阵方程 $\mx{A}\vc{x} = \vc{y}$ 对每个 $\vc{y}$ 都有解。 设 $\vc{e}_i$ 为标准 ,设 $\vc{b}_i$ 为方程 $\mx{A}\vc{b}_i = \vc{e}_i$ 的一个解。现在构造 矩阵 $\mx{B} = (\vc{b}_1 \cdot \vc{b}_p)$,则 $\mx{A} \mx{B} = (\mx{A} \vc{b}_1 \cdot \mx{A} \vc{b}_p) = (\vc{e}_1 \cdot \vc{e}_p) = \mx{I}$。因此 $\mx{B}$ 是 $\mx{A}$ 的右逆。
$\square$


定理 6.9:
设 $\mx{A}$ 为方阵。则下列陈述等价:
  1. 矩阵 $\mx{A}$ 的 列向量 张成 $\R^p$。
  2. 矩阵 $\mx{A}$ 的 行向量 张成 $\R^p$。
  3. 方程 $\mx{A} \vc{x} = \vc{y}$ 对每个 $\vc{y}$ 都有解。
  4. 矩阵 $\mx{A}$ 的 列向量 线性无关
  5. 矩阵 $\mx{A}$ 的 行向量 线性无关
  6. 方程 $\mx{A} \vc{x} = \vc{0}$ 只有解 $\vc{x}=\vc{0}$。
  7. 矩阵 $\mx{A}$ 可逆。

我们已经证明陈述 $(i)$ 与 $(iii)$ 等价,且 $(iv)$ 与 $(vi)$ 等价。 我们还已证明 $(iv)$ 意味着右逆存在。根据 定理 6.2,这意味着 $\mx{A}$ 可逆且左逆存在。 由于矩阵为方阵,定理 5.5 给出 $(i)$ 与 $(iv)$ 之间的等价性。我们现在需要将 $(i), (iii), (iv), (vi)$ 与 $(vii)$ 联系起来。这由下列定理链完成。 列张成 $(i)$ 意味着根据 定理 6.8 右逆存在。由于矩阵为方阵,它必可逆 $(vii)$,且也有左逆。于是 定理 6.6 给出列 线性无关 $(iv)$。因此 $(i), (iii), (iv), (vi)$ 与 $(vii)$ 均等价。最后,由于 $\mx{A}$ 可逆意味着 $\mx{A}^T$,关于 行向量 的陈述随之成立。
$\square$


6.8 基变换


5.10 节 已概述了如何进行 变换,其中第二个 $\{\hat{\vc{e}}_1,\hat{\vc{e}}_2\}$ 可用 第一个 $\{\vc{e}_1,\vc{e}_2\}$ 表示,即
\begin{align} \hat{\vc{e}}_1 = b_{11} \vc{e}_1 + b_{21} \vc{e}_2,\\ \hat{\vc{e}}_2 = b_{12} \vc{e}_1 + b_{22} \vc{e}_2, \end{align} (6.78)
上式与 式 (5.102) 相比,已将 $x_{ij}$ 改为 $b_{ij}$。 如我们将看到的,用矩阵形式表达后这强大得多,因为此时可以利用相应矩阵的逆得到反方向的变换。 在下面的定理中,变换被推广到任意维数并以矩阵形式写出。

定理 6.10: 基变换
给定两个 $\R^n$ $\{\vc{e}_1,\vc{e}_2,\dots,\vc{e}_n\}$ 与 $\{\hat{\vc{e}}_1,\hat{\vc{e}}_2,\dots,\hat{\vc{e}}_n\}$ 之间的如下关系,
\begin{align} \hat{\vc{e}}_1 &= b_{11} \vc{e}_1 + b_{21} \vc{e}_2 + \dots + b_{n,1} \vc{e}_n, \\ \hat{\vc{e}}_2 &= b_{12} \vc{e}_1 + b_{22} \vc{e}_2 + \dots + b_{n,2} \vc{e}_n, \\ &\dots \\ \hat{\vc{e}}_n &= b_{1,n} \vc{e}_1 + b_{2,n} \vc{e}_2 + \dots + b_{n,n} \vc{e}_n, \end{align} (6.79)
其中特定向量 $\vc{v}$ 有如下两种表示
\begin{align} \vc{v} &= v_1\vc{e}_1 + v_2\vc{e}_2 + v_3\vc{e}_3+\dots+v_n\vc{e}_n = \\ &= \hat{v}_1\hat{\vc{e}}_1 + \hat{v}_2\hat{\vc{e}}_2 + \hat{v}_3\hat{\vc{e}}_3+\dots+\hat{v}_n\hat{\vc{e}}_n, \end{align} (6.80)
设 $\mx{B}$ 为以 $\hat{\vc{e}}_i$ 为 列向量 的矩阵, 则有
\begin{align} \vc{v} = \mx{B}\hat{\vc{v}} = \begin{pmatrix} b_{11} & b_{12} & \dots & b_{1,n} \\ b_{21} & b_{22} & \dots & b_{2,n} \\ \vdots & \vdots & \ddots & \vdots \\ b_{n,1} & b_{n,2} & \dots & b_{n,n} \end{pmatrix} \vc{\hat{v}}, \end{align} (6.81)
其中 $\vc{v}=(v_1,v_2,v_3,\dots,v_n)$ 与 $\hat{\vc{v}}=(\hat{v}_1,\hat{v}_2,\hat{v}_3,\dots,\hat{v}_n)$。

我们首先将 $\vc{v}$ 的表示改写为
\begin{align} \vc{v} &= \sum_{i=1}^n x_i\vc{e}_i \\ &= \sum_{i=1}^n \hat{x}_i\hat{\vc{e}}_i, \end{align} (6.82)
并将 $\hat{\vc{e}}_j$ 表示为
\begin{align} \hat{\vc{e}}_j = \sum_{i=1}^n b_{ij}\vc{e}_i, \end{align} (6.83)
然后将 式 (6.83) 代入 式 (6.82) 的第 2 , 得到
\begin{align} \vc{v} = \sum_{j=1}^n \hat{x}_j\hat{\vc{e}}_j = \sum_{j=1}^n \hat{x}_j \Biggl( \sum_{i=1}^n b_{ij}\vc{e}_i \Biggr) = \sum_{i=1}^n \Biggl( \sum_{j=1}^n b_{ij} \hat{x}_j \Biggr) \vc{e}_i. \end{align} (6.84)
由于向量在 中的坐标只有唯一一组(三维情形见 定理 2.5), 且 $\vc{v}$ 有如下两种表示,
\begin{align} \vc{v} &= \sum_{i=1}^n x_i\vc{e}_i \\ \vc{v} &= \sum_{i=1}^n \Biggl( \sum_{j=1}^n b_{ij} \hat{x}_j \Biggr) \vc{e}_i, \end{align} (6.85)
必有
\begin{gather} x_i = \sum_{j=1}^n b_{ij} \hat{x}_j \\ \Longleftrightarrow \\ \vc{x} = \mx{B}\hat{\vc{x}}. \end{gather} (6.86)
证明至此结束。
$\square$


注意,根据 式 (6.81),有 $\vc{v} = \mx{B}\vc{\hat{v}}$,这也意味着 $\vc{\hat{v}} = \mx{B}^{-1} \vc{v}$(假设 $\mx{B}$ 可逆)。人们通常感兴趣的正是这一表达式。
6.9 正交矩阵


有一类特殊的矩阵称为 正交 矩阵,它们具有只需取转置即可得到逆矩阵的便利性质。它们很重要,因为例如它们可以描述两个 标准正交 之间的 变换。 我们从如下定义开始。

定义 6.18: 正交矩阵
正交 矩阵 $\mx{B}$ 是 列向量 构成 标准正交基 的方阵。
注意,由于 列向量 构成 标准正交基定义 3.3), 将该矩阵称为 标准正交 矩阵或许更合理,但「正交 矩阵」这一术语沿用已久,因此这里仍采用它。 由这一简短定义,可证明如下定理。

定理 6.11: 正交矩阵等价性
下列陈述等价
$\spc (i)$ 矩阵 $\mx{B}$ 是 正交 的。
$\spc (ii)$ $\mx{B}$ 的 列向量 构成 标准正交基
$\spc (iii)$ $\mx{B}$ 的 行向量 构成 标准正交基
$\spc (iv)$ $\mx{B}^{-1} = \mx{B}^{\T}$

$(i)$ 与 $(ii)$ 正是定义,因此无需证明。
接下来,我们证明 $(iv)$ 与 $(ii)$ 等价。 设我们有一个由下列向量组 $\{\vc{b}_1,\vc{b}_2,\vc{b}_3,\dots,\vc{b}_n\}$ 构成的 标准正交基定义 3.3)。将它们作为 列向量 放入矩阵 $\mx{B}$,即
\begin{align} \mx{B} &= \begin{pmatrix} | & | & \dots & | \\ \vc{b}_{1} & \vc{b}_{2} & \dots & \vc{b}_{n} \\ | & | & \dots & | \\ \end{pmatrix}, \end{align} (6.87)
现在 $\mx{B}$ 的转置与其自身相乘得到
\begin{align} \mx{B}^{\T} \mx{B} &= \begin{pmatrix} -\,\,\, \vc{b}_{1}^\T - \\ -\,\,\, \vc{b}_{2}^\T - \\ -\,\,\, \vc{b}_{3}^\T - \\ \vdots \\ -\,\,\, \vc{b}_{n}^\T - \end{pmatrix} \begin{pmatrix} | & | & | & \dots & | \\ \vc{b}_{1} & \vc{b}_{2} & \vc{b}_{3} & \dots & \vc{b}_{n} \\ | & | & | & \dots & | \\ \end{pmatrix}\\ &= \begin{pmatrix} \vc{b}_{1}^\T \vc{b}_{1} & \vc{b}_{1}^\T \vc{b}_{2} & \vc{b}_{1}^\T \vc{b}_{3} & \dots & \vc{b}_{1}^\T \vc{b}_{n} \\ \vc{b}_{2}^\T \vc{b}_{1} & \vc{b}_{2}^\T \vc{b}_{2} & \vc{b}_{2}^\T \vc{b}_{3} & \dots & \vc{b}_{2}^\T \vc{b}_{n} \\ \vc{b}_{3}^\T \vc{b}_{1} & \vc{b}_{3}^\T \vc{b}_{2} & \vc{b}_{3}^\T \vc{b}_{3} & \dots & \vc{b}_{3}^\T \vc{b}_{n} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ \vc{b}_{n}^\T \vc{b}_{1} & \vc{b}_{n}^\T \vc{b}_{2} & \vc{b}_{n}^\T \vc{b}_{3} & \dots & \vc{b}_{n}^\T \vc{b}_{n} \\ \end{pmatrix} \\ &= \begin{pmatrix} 1 & 0 & 0 & \dots & 0 \\ 0 & 1 & 0 & \dots & 0 \\ 0 & 0 & 1 & \dots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \dots & 1 \\ \end{pmatrix} = \mx{I}, \end{align} (6.88)
其中我们得到单位矩阵 $\mx{I}$,因为 标准正交基 的定义表明 $\mx{b}_i\cdot\mx{b}_i=1$,且当 $i \neq j$ 时 $\mx{b}_i\cdot\mx{b}_j=0$。这意味着当 列向量 构成 标准正交基 时有 $\mx{B}^{-1} = \mx{B}^{\T}$。 因此我们已证明 $(ii) \rightarrow (iv)$。$(iv) \rightarrow (ii)$ 的证明类似,留给读者完成。
既然我们已证明 $(i)$、$(ii)$ 与 $(iv)$ 的等价性,只需再证 $(iii)$ 也与 $(i)$、$(ii)$ 和 $(iv)$ 之一等价。此时,由 $(iv)$ 可知 $\mx{B}\mx{B}^\T=\mx{I}$。 我们引入 $\mx{A} = \mx{B}^\T$ 并计算 $\mx{A}\mx{A}^\T$,即
\begin{equation} \mx{A}\mx{A}^\T = \mx{B}^\T(\mx{B}^\T)^T = \mx{B}^\T\mx{B}=\mx{I}. \end{equation} (6.89)
这意味着 $\mx{A}$ 必为 正交 的,因为 $\mx{A}\mx{A}^\T=\mx{I}$,即根据 $(ii)$ 可知其 列向量 构成 标准正交基。然而,由于 $\mx{A} = \mx{B}^\T$,我们亦知 $\mx{B}$ 的 行向量 构成 标准正交基,证明至此结束。
$\square$


这意味着 正交 矩阵的逆就是其转置,即 $\mx{A}^{-1} = \mx{A}^{\T}$, 这非常便利,因为转置易于计算,而任意方阵的逆通常并非如此。

例 6.13: 旋转矩阵的逆
绕 $z$ 轴旋转 $\phi$ 弧度的旋转矩阵(见 6.4 节)为
\begin{equation} \mx{R}_z(\phi) = \begin{pmatrix} \cos \phi & -\sin \phi & 0 \\ \sin \phi & \hid{-}\cos \phi & 0 \\ 0 & 0 & 1 \end{pmatrix}. \end{equation} (6.90)
定义 6.18 所述,正交 矩阵的逆即其转置。因此,若旋转矩阵是 正交 的, 则应有 $\mx{R}_z(\phi) \mx{R}^{\T}_z(\phi)=\mx{I}$ 作为结果,即
\begin{align} \mx{R}_z(\phi)\mx{R}^{\T}_z(\phi) &= \begin{pmatrix} \cos \phi & -\sin \phi & 0 \\ \sin \phi & \hid{-}\cos \phi & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} \hid{-}\cos \phi & \sin \phi & 0 \\ -\sin \phi & \cos \phi & 0 \\ 0 & 0 & 1 \end{pmatrix} \\ &= \begin{pmatrix} \cos \phi\cos \phi + \sin \phi\sin \phi & \cos \phi\sin \phi-\sin \phi\cos \phi & 0 \\ \sin \phi\cos \phi - \cos \phi\sin \phi & \sin \phi\sin \phi+ \cos \phi\cos \phi& 0 \\ 0 & 0 & 1 \end{pmatrix} \\ &= \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} =\mx{I}, \end{align} (6.91)
其中我们利用了 $\cos^{2}+\sin^{2}=1$ 这一事实。 这表明 $\mx{R}_z(\phi)$ 是 正交 矩阵;事实上,可以证明 所有旋转矩阵都是 正交 的。

定理 6.12: 正交性与长度保持
若 $\mx{B}$ 为 正交 矩阵,则 $\ln{\mx{B}\vc{v}} = \ln{\vc{v}}$,反之亦然, 即该变换保持 长度

例 6.6 所示,两向量 $\vc{u}$ 与 $\vc{v}$ 的 点积 可表示为 $\vc{u}\cdot\vc{v} = \vc{u}^\T \vc{v}$。 注意
\begin{gather} \ln{\mx{B}\vc{v}} = \ln{\vc{v}} \\ \Longleftrightarrow \\ \ln{\mx{B}\vc{v}}^2 = \ln{\vc{v}}^2 \\ \Longleftrightarrow \\ \bigl(\mx{B}\vc{v}\bigr) \cdot \bigl(\mx{B}\vc{v}\bigr) = \vc{v} \cdot \vc{v} \\ \Longleftrightarrow \\ \bigl(\mx{B}\vc{v}\bigr)^\T \bigl(\mx{B}\vc{v}\bigr) = \vc{v}^\T \vc{v}. \end{gather} (6.92)
最后一式的左端可利用转置法则化简,
\begin{gather} \bigl(\mx{B}\vc{v}\bigr)^\T \bigl(\mx{B}\vc{v}\bigr) = \vc{v}^\T\underbrace{\mx{B}^\T \mx{B}}_{\mx{I}} \vc{v} = \vc{v}^\T \mx{I} \vc{v} = \vc{v}^\T \vc{v} = \vc{v}\cdot \vc{v}, \end{gather} (6.93)
其中我们利用了 $\mx{B}$ 为 正交 矩阵,从而 $\mx{B}^\T \mx{B} = \mx{I}$, 证明至此结束。
$\square$


定理 6.13:
若 $\mx{B}$ 为 正交 矩阵,则 $(\mx{B} \vc{u}) \cdot(\mx{B}\vc{v}) = \vc{u}\cdot\vc{v}$, 即在哪个 下计算 点积 并无影响。

例 3.6 所示,有 $\vc{u}\cdot \vc{v} = \frac{1}{4}\bigl( \ln{ \vc{u} + \vc{v} }^2 - \ln{ \vc{u} - \vc{v} }^2 \bigr)$,这意味着
\begin{align} (\mx{B} \vc{u}) \cdot(\mx{B}\vc{v}) &= \frac{1}{4}\Bigl( \ln{ \mx{B}\vc{u} + \mx{B}\vc{v} }^2 - \ln{ \mx{B}\vc{u} - \mx{B}\vc{v} }^2\Bigr) \\ &= \frac{1}{4}\Bigl( \ln{ \mx{B}\bigl(\vc{u} + \vc{v}\bigr) }^2 - \ln{ \mx{B}\bigl(\vc{u} - \vc{v}\bigr) }^2\Bigr) \\ &= \frac{1}{4}\Bigl( \ln{ \vc{u} + \vc{v} }^2 - \ln{ \vc{u} - \vc{v} }^2\Bigr) = \vc{u}\cdot\vc{v}, \\ \end{align} (6.94)
其中我们在倒数第二行使用了 定理 6.12 以得到 最后一行,即 正交 矩阵保持 长度
$\square$


定理 6.14:
若 $\mx{A}$ 与 $\mx{B}$ 为 正交 矩阵,则 $\mx{A}\mx{B}$ 也是 正交 矩阵。

定理 6.12 表明,所有保持 长度 的矩阵 都是 正交 的,且由于
\begin{align} || \mx{A}\mx{B}\vc{v} || = || \mx{A} \left(\mx{B}\vc{v}\right)|| = || \mx{B}\vc{v}\bigr|| = || \vc{v} || \end{align} (6.95)
我们可知 $\mx{A}\mx{B}$ 保持 长度,即它是 正交 的。
$\square$


例 6.14: 正交矩阵乘法可视化
定理 6.14 所示,若 $\mx{A}$ 与 $\mx{B}$ 为 正交 矩阵,则 $\mx{A}\mx{B}$ 也是 正交 的。在下面的交互图中,我们将可视化 两个 正交 矩阵之间的矩阵-矩阵乘法。
交互图 6.9: 在本交互图中,我们将 $2\times 2$ 大小的正交矩阵 $\mx{A}$ 可视化。 $\mx{A}$ 的两个列向量,即 $\textcolor{#aa0000}{\vc{a}_{,1}}$ 与 $\textcolor{#009000}{\vc{a}_{,2}}$, 以向量形式显示。 最上方的滑块可用于改变 $\mx{A}$ 的外观。 点击/按 下一步 继续下一步。若您希望恢复原始矩阵,请记住点击/按 重置
交互图 6.9: 在最后一步中,我们将 $\hid{\mx{M} =\mx{A}\mx{B}}$ 的列向量 $\hid{\vc{m}_{,1}}$ 与 $\hid{\vc{m}_{,2}}$ 可视化。注意,根据 定理 6.14, 由于 $\hid{\mx{A}}$ 与 $\hid{\mx{B}}$ 是正交矩阵,$\hid{\mx{M}}$ 也是正交的。 作为习题,建议读者调节滑块以更深入理解 其中原理。例如,结果何时会成为单位矩阵 $\hid{\mx{I}}$? 此外,假设 $\hid{\mx{A}}$ 与 $\hid{\mx{B}}$ 均为旋转矩阵是否合理?这能否在 $\hid{\mx{M}}$ 中看出?
$\textcolor{#aa0000}{\vc{a}_{,1}}$
$\textcolor{#009000}{\vc{a}_{,2}}$
$\textcolor{#0000aa}{\vc{b}_{,1}}$
$\textcolor{#aaaa00}{\vc{b}_{,2}}$
$\textcolor{#000000}{\vc{m}_{,1}}$
$\textcolor{#000000}{\vc{m}_{,2}}$
$\textcolor{#777777}{\vc{b}_{1,}}$
$\textcolor{#777777}{\vc{b}_{2,}}$

例 6.15: 利用正交矩阵的基变换
设我们有两个 标准正交 $\{\vc{e}_1, \vc{e}_2\}$ 与 $\{\hat{\vc{e}}_1, \hat{\vc{e}}_2\}$,定义如下
\begin{equation} \vc{e}_1 = \begin{pmatrix} 1 \\ 0 \end{pmatrix}, \vc{e}_2 = \begin{pmatrix} 0 \\ 1 \end{pmatrix}, \ \ \mathrm{and} \ \ \hat{\vc{e}}_1 = \begin{pmatrix} \frac{\sqrt{3}}{2} \\ \frac{1}{2} \end{pmatrix}, \hat{\vc{e}}_2 = \begin{pmatrix} -\frac{1}{2} \\ \frac{\sqrt{3}}{2} \end{pmatrix}. \end{equation} (6.96)
容易验证 $i\in\{1,2\}$ 时 $\ln{\vc{e}_i}=1$ 与 $\ln{\hat{\vc{e}}_i}=1$, 且 $\vc{e}_1 \cdot \vc{e}_2 = 0$ 与 $\hat{\vc{e}}_1 \cdot \hat{\vc{e}}_2 = 0$, 即按 定义 3.3,我们有两个 标准正交 。 现在,可以运用 定理 6.10 求出表示这些 的矩阵形式。然而,处理 标准正交 时还有另一种方法:只需想象 $(1,0)$ 与 $(0,1)$ 在 $\{\hat{\vc{e}}_1, \hat{\vc{e}}_2\}$ 中的表示,然后确定如何将这两个向量变换为 $\{\vc{e}_1, \vc{e}_2\}$ 的矩阵。如下所示,这相当简单。
\begin{align} \underbrace{ \begin{pmatrix} \frac{\sqrt{3}}{2} & -\frac{1}{2}\\  \frac{1}{2} & \frac{\sqrt{3}}{2} \end{pmatrix} }_{\mx{A}} \begin{pmatrix} 1 \\ 0 \end{pmatrix} = \begin{pmatrix} \frac{\sqrt{3}}{2} \\ \frac{1}{2} \end{pmatrix} \ \ \mathrm{and} \ \ \underbrace{ \begin{pmatrix} \frac{\sqrt{3}}{2} & -\frac{1}{2}\\  \frac{1}{2} & \frac{\sqrt{3}}{2} \end{pmatrix} }_{\mx{A}} \begin{pmatrix} 0 \\ 1 \end{pmatrix} = \begin{pmatrix} -\frac{1}{2} \\ \frac{\sqrt{3}}{2} \\ \end{pmatrix} \end{align} (6.97)
现在假设我们在 $\{\hat{\vc{e}}_1, \hat{\vc{e}}_2\}$ 中有一个向量 $\vc{v}=(3/4, 1/2)$, 并希望将该向量变换到 $\{\vc{e}_1, \vc{e}_2\}$ 中。只需 乘以上面的矩阵 $\mx{A}$,即
\begin{equation} \mx{A}\vc{v} = \begin{pmatrix} \frac{\sqrt{3}}{2} & -\frac{1}{2}\\  \frac{1}{2} & \frac{\sqrt{3}}{2} \end{pmatrix} \begin{pmatrix} \frac{3}{4} \\ \frac{1}{2} \end{pmatrix} = \begin{pmatrix} \frac{3\sqrt{3}-2}{8} \\ \frac{2\sqrt{3}+3}{8} \end{pmatrix} \end{equation} (6.98)
因此 $\mx{A}$ 可用于将 $\{\hat{\vc{e}}_1, \hat{\vc{e}}_2\}$ 中的向量变换为在 $\{\vc{e}_1, \vc{e}_2\}$ 中的表示。 这表明 $\mx{A}^\T$ 可用于将 $\{\vc{e}_1, \vc{e}_2\}$ 中的向量变换为在 $\{\hat{\vc{e}}_1, \hat{\vc{e}}_2\}$ 中的表示。

现在假设还有另一个 标准正交基 $\{\bar{\vc{e}}_1, \bar{\vc{e}}_2\}$,其 对应的变换矩阵为 $\mx{B}$。这意味着要将向量从 $\{\hat{\vc{e}}_1, \hat{\vc{e}}_2\}$ 变到 $\{\bar{\vc{e}}_1, \bar{\vc{e}}_2\}$, 需先用 $\mx{A}$ 变到 $\{\vc{e}_1, \vc{e}_2\}$,再用 $\mx{B}^\T$ 变到 $\{\bar{\vc{e}}_1, \bar{\vc{e}}_2\}$。若将此作用于向量 $\vc{v}$, 则可表示为
\begin{equation} \vc{v}' = \mx{B}^\T \mx{A} \vc{v}, \end{equation} (6.99)
其中 $\vc{v}'$ 在 $\{\bar{\vc{e}}_1, \bar{\vc{e}}_2\}$ 中表示。 其最初几步见 交互图 6.10
交互图 6.10: 在基 $\{\hat{\vc{e}}_1, \hat{\vc{e}}_2\}$ 中,我们有一个向量,由灰色圆点标示 (为清晰起见省略箭头),其坐标由虚线标示。 点击/触摸 下一步 继续。
交互图 6.10: 此处我们引入了一个新的基,即 $\hid{\{\vc{e}_1, \vc{e}_2\}}$;在进行基变换时,任务是找到一个变换(用矩阵描述), 将其作用于 $\hid{\{\hat{\vc{e}}_1, \hat{\vc{e}}_2\}}$ 中的向量时,给出同一向量在 $\hid{\{\vc{e}_1, \vc{e}_2\}}$ 中的坐标。
$\textcolor{#aa0000}{\hat{\vc{e}}_1}$
$\textcolor{#aa0000}{\hat{\vc{e}}_1}$
$\textcolor{#aa0000}{\hat{\vc{e}}_1}$
$\textcolor{#aa0000}{\hat{\vc{e}}_2}$
$\textcolor{#aa0000}{\hat{\vc{e}}_2}$
$\textcolor{#aa0000}{\hat{\vc{e}}_2}$
$\textcolor{#00aa00}{\vc{e}_1}$
$\textcolor{#00aa00}{\vc{e}_2}$
6.10 引言示例的后续


6.1 节 中,我们左侧有一张图像(原图),右侧有另一张图像。 右侧图像是使用矩阵以某种方式处理左侧图像得到的。 电视或计算机显示器包含大量(通常为数百万)像素(picture element),每个像素有红、绿、蓝三个分量。对于每个像素,我们可以将其表示为向量,即
\begin{equation} \vc{p} = \begin{pmatrix} r\\ g\\ b \end{pmatrix}, \end{equation} (6.100)
其中 $r$ 是像素的红色分量,$g$ 是绿色分量,$b$ 是蓝色分量。 在示例中,我们还有一个 $3\times 3$ 矩阵 $\mx{M}$ 作用于每个像素。做法如下
\begin{align} \vc{p}' = \begin{pmatrix} r'\\ g'\\ b' \end{pmatrix}= \mx{M}\vc{p} = \begin{pmatrix} m_{11} && m_{12} && m_{13} \\ m_{21} && m_{22} && m_{23} \\ m_{31} && m_{32} && m_{23} \end{pmatrix} \begin{pmatrix} r\\ g\\ b \end{pmatrix}, \end{align} (6.101)
注意,在本示例中我们使用 $r$、$g$、$b$ 作为向量分量,而不是 $x$、$y$、$z$ 或 $p_x$、$p_y$、$p_z$。 这是为了更清楚地表明我们在操作什么。 利用矩阵-向量乘法的规则,例如可以看出 $r' = m_{11} r+ m_{12}g+ m_{13}b$ 等。 因此,若使用单位矩阵 $\mx{I}$,则得到原图;而使用 $\mx{M} = \left( \begin{smallmatrix} 1 & 1 & 1 \\ 0 & 0 & 0\\ 0 & 0 & 0 \end{smallmatrix} \right)$, 可见 $r' = r+g+b$,同时 $g'=b'=0$,从而得到红色图像。 最后,若 $\mx{M}$ 的所有行都相同,则得到 $r'=g'=b'$,即灰色图像。 操纵图像还有许多其他方法,但矩阵已能帮你走很远。


第 5 章:高斯消元法(上一章) 第 7 章:行列式(下一章)
关于本译本