本书中矩阵符号用加粗的正体字母来表示,而对应的矩阵元一般用斜体加行标和列标表示.例如矩阵 $ \boldsymbol{\mathbf{A}} $ 的第 $i$ 行第 $j$ 列的的矩阵元表示为 $A_{ij}$.特殊地,行数等于列数的矩阵叫做方阵.只有一行的矩阵和只有一列的矩阵分别叫做行矢量和列矢量.
矩阵的对角线
我们先定义矩阵的对角线(diagonal)是行标等于列标的所有矩阵元(fig. 1 ),称为对角元(diagonal element),左上角的对角元是第一个.对角线的概念常在讨论方阵时使用,但严格来说也适用于长方形矩阵.方阵从右上角到左下角的所有矩阵元则称为反对角线(anti-diagonal).另外,把对角线向上或向下平移一个元素也称为副对角线(subdiagonal),所以对角线也称为主对角线(main diagonal).
Fig. 1:左:方阵的对角线(实线)和副对角线(虚线),右:方阵的反对角线
矩阵的转置
则任意矩阵 $ \boldsymbol{\mathbf{A}} $ 的转置(transpose)记为 $ \boldsymbol{\mathbf{A}} ^{\mathrm{T}} $.转置操作把 $ \boldsymbol{\mathbf{A}} $ 的第 $i$ 行变为 $ \boldsymbol{\mathbf{A}} ^{\mathrm{T}} $ 的第 $i$ 列,相当于把矩阵沿对角线翻转.即任意矩阵元满足
\begin{equation}
A ^{\mathrm{T}} _{ij} = A_{ji}
\end{equation}
注意转置操作不影响对角线上的矩阵元.另外行矢量转置后变为列矢量,反之亦然.
\begin{equation}
(x_1,x_2 \dots, x_n) ^{\mathrm{T}} = \begin{pmatrix} x_1\\x_2\\ \vdots\\x_n \end{pmatrix}
\end{equation}
为了排版方便,本书在正文中通常用 $(x_1,x_2 \dots, x_n) ^{\mathrm{T}} $ 表示列矢量.
矩阵的乘法
矩阵最常见的运算是矩阵的乘法.从 $(x_1, \dots, x_n)$ 到 $(y_1, \dots, y_m)$ 的线性映射
\begin{equation}
\left\{\begin{aligned}
y_1 &= A_{11}x_1 + A_{12}x_2 + \ldots + A_{1n}x_n\\
y_2 &= A_{21}x_1 + A_{22}x_2 + \ldots + A_{2n}x_n\\
&\;\;\vdots \\
y_m &= A_{m1}x_1 + A_{m2}x_2 + \ldots + A_{mn}x_n
\end{aligned}\right. \end{equation}
可用矩阵与列矢量的乘法表示为(有时候也会用方括号表示矩阵和矢量)
\begin{equation}
\begin{pmatrix} y_1 \\ y_2\\ \vdots \\ y_m \end{pmatrix}
= \begin{pmatrix}
A_{11} & A_{12} & \ldots & A_{1n} \\
A_{21} & A_{22} & \ldots & A_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
A_{m1} & A_{m2} & \ldots & A_{mn}
\end{pmatrix}
\begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix}
\end{equation}
令列矢量 $ \boldsymbol{\mathbf{x}} = (x_1,x_2 \dots, x_n) ^{\mathrm{T}} $, $ \boldsymbol{\mathbf{y}} = (y_1,y_2 \dots, y_n) ^{\mathrm{T}} $,系数矩阵为 $ \boldsymbol{\mathbf{A}} $,上式可记为
\begin{equation}
\boldsymbol{\mathbf{y}} = \boldsymbol{\mathbf{A}} \boldsymbol{\mathbf{x}}
\end{equation}
注意 $ \boldsymbol{\mathbf{A}} $ 的列数必须和 $ \boldsymbol{\mathbf{x}} $ 的行数相等.由此可以定义
矩阵乘以列矢量的运算规则:$m \times n$ 矩阵乘以 $n \times 1$ 列矢量会得到 $m \times 1$ 的列矢量.要计算 $y_i$,就用 $m \times n$ 矩阵的第 $i$ 行的 $n$ 个数和 $x_1 \dots x_n$ 分别相乘再相加(即内积
)
\begin{equation}
y_i = \sum_{j = 1}^n A_{ij} x_j
\end{equation}
若有 $l$ 个不同的 $ \boldsymbol{\mathbf{x}} $ 和 $ \boldsymbol{\mathbf{y}} $,第 $k$ 个记为 $ \boldsymbol{\mathbf{x}} _k = (x_{1k},\dots, x_{nk}) ^{\mathrm{T}} $ 和 $ \boldsymbol{\mathbf{y}} _k = (y_{1k},\dots, y_{mk}) ^{\mathrm{T}} $,对应的变换为
\begin{equation}
\begin{pmatrix} y_{1k} \\ y_{2k}\\ \vdots \\ y_{mk} \end{pmatrix}
= \begin{pmatrix}
A_{11} & A_{12} & \ldots & A_{1n} \\
A_{21} & A_{22} & \ldots & A_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
A_{m1} & A_{m2} & \ldots & A_{mn}
\end{pmatrix}
\begin{pmatrix} x_{1k} \\ x_{2k} \\ \vdots \\ x_{nk} \end{pmatrix}
\end{equation}
可以将所有的 $ \boldsymbol{\mathbf{x}} _k$ 和 $ \boldsymbol{\mathbf{y}} _k$ 分别横向拼成 $n \times l$ 和 $m \times l$ 的矩阵
\begin{equation}
\boldsymbol{\mathbf{X}} =
\begin{pmatrix}
x_{11} & \cdots & x_{1l} \\
\vdots & \ddots & \vdots \\
x_{n1} & \cdots & x_{nl}
\end{pmatrix}
\qquad
\boldsymbol{\mathbf{Y}} =
\begin{pmatrix}
y_{11} & \cdots & y_{1l} \\
\vdots & \ddots & \vdots \\
y_{m1} & \cdots & y_{ml}
\end{pmatrix}
\end{equation}
现在把 $l$ 组线性变换用一条式子表示为
\begin{equation}
\begin{pmatrix}
y_{11} & \cdots & y_{1l} \\
\vdots & \ddots & \vdots \\
y_{m1} & \cdots & y_{ml}
\end{pmatrix}
=
\begin{pmatrix}
A_{11} & \cdots & A_{1n} \\
\vdots & \ddots & \vdots \\
A_{m1} & \cdots & A_{mn}
\end{pmatrix}
\begin{pmatrix}
x_{11} & \cdots & x_{1l} \\
\vdots & \ddots & \vdots \\
x_{n1} & \cdots & x_{nl}
\end{pmatrix}
\end{equation}
由此,可以定义一般的矩阵乘法:$m \times n$ 的矩阵 $ \boldsymbol{\mathbf{A}} $ 和 $n \times l$ 的矩阵 $ \boldsymbol{\mathbf{X}} $ 相乘得到 $m \times l$ 的矩阵 $ \boldsymbol{\mathbf{Y}} $, $Y_{ij}$ 等于 $ \boldsymbol{\mathbf{A}} $ 的第 $i$ 行和 $ \boldsymbol{\mathbf{X}} $ 的第 $j$ 列内积.
\begin{equation}
\boldsymbol{\mathbf{Y}} = \boldsymbol{\mathbf{A}} \boldsymbol{\mathbf{X}}
\end{equation}
矩阵元公式为
\begin{equation}
Y_{ij} = \sum_{k = 1}^n A_{ik} X_{kj}
\end{equation}
再次注意两个相乘的矩阵,左边矩阵的列数必须等于右边矩阵的行数.我们可以用
fig. 2 来记忆矩阵乘法.
Fig. 2:矩阵乘法的示意图:$ \boldsymbol{\mathbf{C}} $ 的 $(i, j)$ 矩阵元等于 $ \boldsymbol{\mathbf{A}} $ 的第 $i$ 行和 $ \boldsymbol{\mathbf{B}} $ 的第 $j$ 列逐个元素相乘再相加
矩阵乘法一般不满足交换律,举一个反例:
\begin{equation}
\begin{pmatrix}1 & 1\\ 0 & 0\end{pmatrix}
\begin{pmatrix}1 & 0\\ 1 & 0\end{pmatrix} =
\begin{pmatrix}2 & 0\\ 0 & 0\end{pmatrix} \ne
\begin{pmatrix}1 & 1\\ 1 & 1\end{pmatrix} =
\begin{pmatrix}1 & 0\\ 1 & 0\end{pmatrix}
\begin{pmatrix}1 & 1\\ 0 & 0\end{pmatrix}
\end{equation}
矩阵的乘法分配律
矩阵的乘法满足分配律
\begin{equation}
\boldsymbol{\mathbf{A}} ( \boldsymbol{\mathbf{B}} + \boldsymbol{\mathbf{C}} ) = \boldsymbol{\mathbf{A}} \boldsymbol{\mathbf{B}} + \boldsymbol{\mathbf{A}} \boldsymbol{\mathbf{C}}
\end{equation}
\begin{equation}
( \boldsymbol{\mathbf{A}} + \boldsymbol{\mathbf{B}} ) \boldsymbol{\mathbf{C}} = \boldsymbol{\mathbf{A}} \boldsymbol{\mathbf{C}} + \boldsymbol{\mathbf{B}} \boldsymbol{\mathbf{C}}
\end{equation}
令
eq. 13 左边等于矩阵 $ \boldsymbol{\mathbf{D}} $,则其矩阵元为
\begin{equation}
D_{ij} = \sum_k A_{ik} (B_{kj} + C_{kj})
\end{equation}
拆括号得
\begin{equation}
D_{ij} = \sum_k A_{ik}B_{kj} + \sum_k A_{ik}C_{kj}
\end{equation}
而这恰好是 $ \boldsymbol{\mathbf{A}} \boldsymbol{\mathbf{B}} + \boldsymbol{\mathbf{A}} \boldsymbol{\mathbf{C}} $ 的矩阵元.证毕.
eq. 14 的证明类似.
现在我们可以得出线性变换(eq. 5 )的一个重要性质.对若干列矢量 $ \boldsymbol{\mathbf{v}} _1, \boldsymbol{\mathbf{v}} _2, \dots$
\begin{equation}
\boldsymbol{\mathbf{A}} \left(\sum_i c_i \boldsymbol{\mathbf{v}} _i \right) = \sum_i c_i \boldsymbol{\mathbf{A}} \boldsymbol{\mathbf{v}} _i
\end{equation}
也就是说若干列矢量的线性组合的线性变换等于每个列矢量分别进行线性变换再进行同样的线性组合.
矩阵乘法的结合律
我们希望证明三个矩阵的乘法满足结合律
\begin{equation}
\boldsymbol{\mathbf{A}} ( \boldsymbol{\mathbf{B}} \boldsymbol{\mathbf{C}} ) = ( \boldsymbol{\mathbf{A}} \boldsymbol{\mathbf{B}} ) \boldsymbol{\mathbf{C}}
\end{equation}
令
\begin{equation}
\boldsymbol{\mathbf{D}} = \boldsymbol{\mathbf{A}} ( \boldsymbol{\mathbf{B}} \boldsymbol{\mathbf{C}} )
\end{equation}
$ \boldsymbol{\mathbf{D}} $ 的矩阵元为
\begin{equation}
D_{ij} = \sum_l A_{il} (BC)_{lj} = \sum_l A_{il} \left(\sum_k B_{lk} C_{kj} \right)
\end{equation}
拆括号,得
\begin{equation}
D_{ij} = \sum_k\sum_l ( A_{il} B_{lk} C_{kj} )
\end{equation}
对 $C_{kj}$ 进行合并同类项,得
\begin{equation}
D_{ij} = \sum_k \left(\sum_l A_{il} B_{lk} \right) C_{kj}
\end{equation}
括号中恰好是 $ \boldsymbol{\mathbf{A}} $ 乘以 $ \boldsymbol{\mathbf{B}} $ 所得矩阵的矩阵元 $(AB)_{ik}$ 所以
\begin{equation}
D_{ij} = \sum_k (AB)_{ik} C_{kj}
\end{equation}
即
\begin{equation}
\boldsymbol{\mathbf{D}} = ( \boldsymbol{\mathbf{A}} \boldsymbol{\mathbf{B}} ) \boldsymbol{\mathbf{C}}
\end{equation}
证毕.
单位矩阵
单位矩阵(unit matrix)是对角线上的元素全为 1,非对角线上的元素全为 0 的方阵.通常记为通常记为 $ \boldsymbol{\mathbf{I}} $.为了强调矩阵的维数 $N$,也可记为 $ \boldsymbol{\mathbf{I}} _N$.单位矩阵的矩阵元可用克罗内克 $\delta$ 函数(eq. 6 )表示为
\begin{equation}
I_{ij} = \delta_{ij}
\end{equation}
任何矩阵左乘或右乘单位矩阵,仍然得到矩阵本身.单位矩阵的转置仍为单位矩阵.
对角矩阵
只有对角线不为零的方阵叫做对角矩阵(diagonal matrix),只有反对角线不为零的矩阵叫做反对角矩阵(anti-diagonal matrix).对角矩阵和反对角矩阵通常是指方阵.
根据上述矩阵乘法的定义,对角矩阵 $ \boldsymbol{\mathbf{\Lambda}} $ 左乘任意矩阵 $ \boldsymbol{\mathbf{A}} $(即 $ \boldsymbol{\mathbf{\Lambda}} \boldsymbol{\mathbf{A}} $)相当于把 $ \boldsymbol{\mathbf{A}} $ 阵的第 $i$ 行乘以 $ \boldsymbol{\mathbf{\Lambda}} $ 的第 $i$ 个对角元;右乘(即 $ \boldsymbol{\mathbf{A}} \boldsymbol{\mathbf{\Lambda}} $)相当于把第 $j$ 列乘以第 $j$ 个对角元.
逆矩阵
详见逆矩阵.记方阵 $ \boldsymbol{\mathbf{M}} $ 的逆矩阵为 $ \boldsymbol{\mathbf{M}} ^{-1}$,且满足
\begin{equation}
\boldsymbol{\mathbf{M}} ^{-1} \boldsymbol{\mathbf{M}} = \boldsymbol{\mathbf{I}}
\end{equation}
其中 $ \boldsymbol{\mathbf{I}} $ 是单位矩阵.也就是说,任意一个矩阵(或列矢量)$ \boldsymbol{\mathbf{A}} $ 乘以矩阵 $ \boldsymbol{\mathbf{M}} $ 再乘以其逆矩阵 $ \boldsymbol{\mathbf{M}} ^{-1}$ 仍然得到 $ \boldsymbol{\mathbf{A}} $ 本身.
虽然矩阵乘法一般不满足交换律,但矩阵和对应的逆矩阵满足1,即
\begin{equation}
\boldsymbol{\mathbf{M}} \boldsymbol{\mathbf{M}} ^{-1} = \boldsymbol{\mathbf{M}} ^{-1} \boldsymbol{\mathbf{M}} = \boldsymbol{\mathbf{I}}
\end{equation}
逆矩阵 $ \boldsymbol{\mathbf{M}} ^{-1}$ 所代表的线性变换就是 $ \boldsymbol{\mathbf{M}} $ 代表的线性变换的逆变换,令 $ \boldsymbol{\mathbf{x}} $ 和 $ \boldsymbol{\mathbf{y}} $ 为列矢量,如果有
\begin{equation}
\boldsymbol{\mathbf{y}} = \boldsymbol{\mathbf{M}} \boldsymbol{\mathbf{x}}
\end{equation}
那么我们在等式两边左乘 $ \boldsymbol{\mathbf{M}} ^{-1}$ 再把等式左右互换,则上式变为
\begin{equation}
\boldsymbol{\mathbf{x}} = \boldsymbol{\mathbf{M}} ^{-1} \boldsymbol{\mathbf{y}}
\end{equation}
要求逆矩阵,一种简单直接但低效的方法就是先令 $ \boldsymbol{\mathbf{y}} = (1\ 0\ \dots) ^{\mathrm{T}} $,代入eq. 3 解线性方程组得 $ \boldsymbol{\mathbf{x}} $,将 $ \boldsymbol{\mathbf{x}} , \boldsymbol{\mathbf{y}} $ 代入eq. 4 可知 $ \boldsymbol{\mathbf{x}} $ 就是 $ \boldsymbol{\mathbf{M}} $ 的第一列,再令 $ \boldsymbol{\mathbf{y}} = (0\ 1\ 0\ \dots) ^{\mathrm{T}} $,解线性方程组可得 $ \boldsymbol{\mathbf{M}} $ 的第二列,以此类推就可以得到完整的 $ \boldsymbol{\mathbf{M}} $.
1. ^ 这个定理暂时不证