# 矩阵

在初等数学中,基本的计算单位是单一数字,也就是实数和复数。很显然一个数字只能蕴含一个信息
在线性代数中,数字这一概念将被推广,我们的基本计算单位将转为矩阵

简单来说,称被括号 [][]()() 包裹的,多个数字按行与列排列形成的二维数组为 矩阵 (Matrix)「矩阵」
例如

A=(123456),B=[789101112]A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix},\quad B = \begin{bmatrix}7 & 8 \\ 9 & 10 \\ 11 & 12 \end{bmatrix}

具体选取哪一种括号并不重要,但为了统一,本笔记采取圆括号表示矩阵

一个 mmnn 列的矩阵称为一个 m×nm \times n 矩阵,在需要表明大小时记作 Am×nA_{m \times n},可以表示为

Am×n=(a11a12a1na21a22a2nam1am2amn)m×nA_{m \times n} = \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{pmatrix}_{m \times n}

其中 aija_{ij} 称为矩阵 AAii 行第 jj 列元素。也叫做 矩阵的 (i,j)(i, j) 成分

也可以简短地利用成分的符号,将矩阵表示为

Am×n=(aij)m×nA_{m \times n} = (a_{ij})_{m \times n}


一个行与列数量相等的矩阵称为 方阵 (Square Matrix)「正方行列」,即 m=nm = n 的矩阵。
方阵是很重要的矩阵,通常来说涉及到线性代数应用的计算都建立在方阵的对象上。
一个 nnnn 列的方阵称为 n 阶方阵。记作 AnA_n。即

An=(a11a12a1na21a22a2nan1an2ann)A_n = \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nn} \end{pmatrix}

在方阵中,从左上到右下的元素 a11,a22,,anna_{11}, a_{22}, \ldots, a_{nn} 称为 主对角线 (Main Diagonal)「主対角線」


两类特殊的矩阵:

  • 行数为 11 的矩阵称为 行向量 (Row Vector)「行ベクトル」
  • 列数为 11 的矩阵称为 列向量 (Column Vector)「列ベクトル」

行向量与列向量一般用粗体表示,例如

a=(123),b=(456)\boldsymbol a = \begin{pmatrix}1 & 2 & 3\end{pmatrix},\quad \boldsymbol b = \begin{pmatrix}4 \\ 5 \\ 6\end{pmatrix}

除此之外,还有一些具有特殊名称的矩阵

  • 除了主对角线上的元素外,其余元素均为 00 的方阵称为 对角矩阵 (Diagonal Matrix)「対角行列」
  • 主对角线下方的元素均为 00 的方阵称为 上三角矩阵 (Upper Triangular Matrix)「上三角行列」
  • 主对角线上方的元素均为 00 的方阵称为 下三角矩阵 (Lower Triangular Matrix)「下三角行列」

以下 AA 为对角矩阵,BB 为上三角矩阵,CC 为下三角矩阵

A=(a11000a22000a33),B=(b11b12b130b22b2300b33),C=(c1100c21c220c31c32c33)A = \begin{pmatrix} a_{11} & 0 & 0 \\ 0 & a_{22} & 0 \\ 0 & 0 & a_{33} \end{pmatrix},\quad B = \begin{pmatrix} b_{11} & b_{12} & b_{13} \\ 0 & b_{22} & b_{23} \\ 0 & 0 & b_{33} \end{pmatrix},\quad C = \begin{pmatrix} c_{11} & 0 & 0 \\ c_{21} & c_{22} & 0 \\ c_{31} & c_{32} & c_{33} \end{pmatrix}

# 矩阵运算

不同于单一数字,矩阵具有一个特殊的自我作用的运算:转置
对于一个矩阵 Am×nA_{m \times n},若

Am×n=(a11a12a1na21a22a2nam1am2amn)A_{m \times n} = \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{pmatrix}

则其 转置 (Transpose)「転置」 定义为

tAm×n=(a11a21am1a12a22am2a1na2namn){}^t\!A_{m \times n} = \begin{pmatrix} a_{11} & a_{21} & \cdots & a_{m1} \\ a_{12} & a_{22} & \cdots & a_{m2} \\ \vdots & \vdots & \ddots & \vdots \\ a_{1n} & a_{2n} & \cdots & a_{mn} \end{pmatrix}

实际上转置就是让矩阵沿着主对角线翻转,行数和列数也会随之交换,也就是说 mmnn 列的矩阵转置后会变为 nnmm 列的矩阵
常见地,矩阵 AA 的转置也被写作 At,AT,TAA^t, A^T, {}^T\!A 等等,本笔记统一使用 tA{}^t\!A 的形式表示转置

  • 满足 A=tAA = {}^t\!A 的矩阵称为 对称矩阵 (Symmetric Matrix)「対称行列」
  • 满足 A=tAA = -{}^t\!A 的矩阵称为 斜对称矩阵 (Skew-Symmetric Matrix)「交代行列」

矩阵也具有加减法,但是矩阵的加减法必须要在两个矩阵的行数与列数都相等的情况下才能进行,定义矩阵的加法为各个成分对应相加减,即

(a11a12a1na21a22a2nam1am2amn)±(b11b12b1nb21b22b2nbm1bm2bmn)=(a11±b11a12±b12a1n±b1na21±b21a22±b22a2n±b2nam1±bm1am2±bm2amn±bmn)\begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{pmatrix} \pm \begin{pmatrix} b_{11} & b_{12} & \cdots & b_{1n} \\ b_{21} & b_{22} & \cdots & b_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ b_{m1} & b_{m2} & \cdots & b_{mn} \end{pmatrix} = \begin{pmatrix} a_{11} \pm b_{11} & a_{12} \pm b_{12} & \cdots & a_{1n} \pm b_{1n} \\ a_{21} \pm b_{21} & a_{22} \pm b_{22} & \cdots & a_{2n} \pm b_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} \pm b_{m1} & a_{m2} \pm b_{m2} & \cdots & a_{mn} \pm b_{mn} \end{pmatrix}

继承于数字运算,矩阵加法具有如下性质

  • (A+B)+C=A+(B+C)(A + B) + C = A + (B + C)
  • A+B=B+AA + B = B + A

矩阵也具备数乘运算(标量积),即对于一个矩阵 AA 与一个数 kk,定义数乘为各个成分与该数相乘,即

k(a11a12a1na21a22a2nam1am2amn)=(ka11ka12ka1nka21ka22ka2nkam1kam2kamn)k \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{pmatrix} = \begin{pmatrix} k a_{11} & k a_{12} & \cdots & k a_{1n} \\ k a_{21} & k a_{22} & \cdots & k a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ k a_{m1} & k a_{m2} & \cdots & k a_{mn} \end{pmatrix}

基于数乘,减法可以用加法与数乘来表示

AB=A+(1)BA - B = A + (-1)B

数乘运算具有如下性质

  • k(A+B)=kA+kBk(A + B) = kA + kB
  • (k+)A=kA+A(k + \ell)A = kA + \ell A
  • (k)A=k(A)(k\ell)A = k(\ell A)
  • 1A=A1A = A

矩阵可以做乘法,但是矩阵乘法相较于加法与数乘要更为特殊和复杂。
对于一个 mmnn 列的矩阵 AA 与一个 \ellkk 列的矩阵 BB,当且仅当 n=n = \ell 时,矩阵乘法才有定义,定义为

(a11a12a1na21a22a2nam1am2amn)m×n(b11b12b1kb21b22b2kb1b2bk)×k=(c11c12c1kc21c22c2kcm1cm2cmk)m×k\begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{pmatrix}_{m \times n} \begin{pmatrix} b_{11} & b_{12} & \cdots & b_{1k} \\ b_{21} & b_{22} & \cdots & b_{2k} \\ \vdots & \vdots & \ddots & \vdots \\ b_{\ell 1} & b_{\ell 2} & \cdots & b_{\ell k} \end{pmatrix}_{\ell \times k} = \begin{pmatrix} c_{11} & c_{12} & \cdots & c_{1k} \\ c_{21} & c_{22} & \cdots & c_{2k} \\ \vdots & \vdots & \ddots & \vdots \\ c_{m1} & c_{m2} & \cdots & c_{mk} \end{pmatrix}_{m \times k}

其中

cij=r=1nairbrj=ai1b1j+ai2b2j++ainbnjc_{ij} = \sum_{r=1}^n a_{ir} b_{rj} = a_{i1}b_{1j} + a_{i2}b_{2j} + \cdots + a_{in}b_{nj}

也就是说,矩阵乘法的第 ii 行第 jj 列成分是由矩阵 AA 的第 ii 行与矩阵 BB 的第 jj 列对应成分相乘后求和得到的
最终一个 mmnn 列的矩阵与一个 nnkk 列的矩阵相乘后会得到一个 mmkk 列的矩阵
显然,这个过程通常来说是无法交换顺序的,即一般来说 ABBAAB \neq BA。因为在矩阵的乘法运算中,前者提供了行的信息,后者提供了列的信息,二者交换顺序后,行与列的信息也会交换,从而导致结果不同

矩阵的乘法具有如下性质

  • A(BC)=(AB)CA(BC) = (AB)C
  • A(B+C)=AB+ACA(B + C) = AB + AC
  • (A+B)C=AC+BC(A + B)C = AC + BC

示例

  • \begin{pmatrix} -2 & 0 \\ 1 & 3 \end{pmatrix} + \begin{pmatrix} 4 & 5 \\ -1 & 2 \end{pmatrix} = \begin{pmatrix} 2 & 5 \\ 0 & 5 \end
  • 3 \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = \begin{pmatrix} 3 & 6 \\ 9 & 12 \end
  • \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix} \begin{pmatrix} 7 & 8 \\ 9 & 10 \\ 11 & 12 \end{pmatrix} = \begin{pmatrix} 58 & 64 \\ 139 & 154 \end

与运算紧密关联的两类特殊矩阵是单位矩阵与零矩阵

  • 单位矩阵 (Identity Matrix)「単位行列」 为主对角线元素均为 11,其余元素均为 00 的方阵,记作 EnE_nInI_n,不考虑大小时简单记为 EEII

En=(100010001)E_n = \begin{pmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \end{pmatrix}

  • 零矩阵 (Zero Matrix)「零行列」 为所有元素均为 00 的矩阵,记作 OnO_n,不考虑大小时简单记为 OO

O=(000000000)O = \begin{pmatrix} 0 & 0 & \cdots & 0 \\ 0 & 0 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 0 \end{pmatrix}

很容易可以验证如下性质:

  • A+O=O+A=AA + O = O + A = A
  • AA=OA - A = O
  • 0A=A0=O0A = A0 = O
  • AE=EA=AAE = EA = A
  • AO=OA=OAO = OA = O

上述运算规则,与初等数学中熟知的数字运算最需要注意的两点是

  • 一般来说矩阵乘法不满足交换律,若 AB=BAAB = BA,则称矩阵 AABB 可交换
  • 即使两个矩阵都不为零矩阵,其乘积也可能为零矩阵,这样的矩阵称为 零因子,例如

(1111)(1111)=(0000)\begin{pmatrix}1 & -1 \\1 & -1\end{pmatrix} \begin{pmatrix}1 & 1 \\1 & 1\end{pmatrix} = \begin{pmatrix}0 & 0 \\0 & 0\end{pmatrix}

矩阵的幂运算可以由乘法运算自然导出,即

Ak=AAAktimesA^k = \underbrace{A \cdot A \cdots A}_{k \text{ times}}

其中 kk 为正整数,且 AA 必须为方阵

转置运算可以与加法,数乘,乘法共同作用,这很容易验证

  • t(A+B)=tA+tB{}^t(A + B) = {}^t\!A + {}^t\!B
  • t(kA)=ktA{}^t(kA) = k {}^t\!A
  • t(AB)=tBtA{}^t(AB) = {}^t\!B \; {}^t\!A

在引入矩阵的运算之后,就可以给出其他与矩阵有关的概念了
第一个需要了解的是逆矩阵,注意逆矩阵只能在方阵的情况下讨论

定义
AA 为一个 nn 阶方阵,称 nn 阶方阵 BBAA逆矩阵 (Inverse Matrix)「逆行列」,当且仅当

AB=BA=EnAB = BA = E_n

命题
逆矩阵若存在,则唯一。

证明

BBCC 均为 AA 的逆矩阵,则

B=BE=B(AC)=(BA)C=EC=CB = BE = B(AC) = (BA)C = EC = C

\square

注意:并非所有方阵都存在逆矩阵,存在逆矩阵的方阵称为 [正则矩阵 (Regular Matrix)「正則行列」],否则称为 [奇异矩阵 (Singular Matrix)「特異行列」]。

二阶方阵可以快速由以下结论判定

命题
22 阶方阵

A=(abcd)A = \begin{pmatrix}a & b \\ c & d\end{pmatrix}

成为正则矩阵的充分必要条件为 adbc0ad - bc \neq 0,此时其逆矩阵为

A1=1adbc(dbca)A^{-1} = \frac{1}{ad - bc} \begin{pmatrix}d & -b \\ -c & a\end{pmatrix}

证明

(\Rightarrow)
AA 存在逆矩阵 A1=(xyzw)A^{-1} = \begin{pmatrix}x & y \\ z & w\end{pmatrix},则

AA1=(abcd)(xyzw)=(1001)AA^{-1} = \begin{pmatrix}a & b \\ c & d\end{pmatrix} \begin{pmatrix}x & y \\ z & w\end{pmatrix} = \begin{pmatrix}1 & 0 \\ 0 & 1\end{pmatrix}

由此可得方程组

{ax+bz=1ay+bw=0cx+dz=0cy+dw=1\begin{cases}ax + bz = 1 \\ ay + bw = 0 \\ cx + dz = 0 \\ cy + dw = 1 \end{cases}

解得

x=dadbc,y=badbc,z=cadbc,w=aadbcx = \frac{d}{ad - bc},\quad y = \frac{-b}{ad - bc},\quad z = \frac{-c}{ad - bc},\quad w = \frac{a}{ad - bc}

因此 adbc0ad - bc \neq 0

(\Leftarrow)
adbc0ad - bc \neq 0,令

A1=1adbc(dbca)A^{-1} = \frac{1}{ad - bc} \begin{pmatrix}d & -b \\ -c & a\end{pmatrix}

AA1=(abcd)1adbc(dbca)=(1001)AA^{-1} = \begin{pmatrix}a & b \\ c & d\end{pmatrix} \frac{1}{ad - bc} \begin{pmatrix}d & -b \\ -c & a\end{pmatrix} = \begin{pmatrix}1 & 0 \\ 0 & 1\end{pmatrix}

同理可证 A1A=E2A^{-1}A = E_2,故 A1A^{-1}AA 的逆矩阵。
\square

容易验证以下结论:若 A,BA,B 均为 nn 阶正则矩阵,则

  • A1A^{-1} 亦为正则矩阵,且 (A1)1=A(A^{-1})^{-1} = A
  • tA{}^t\!A 亦为正则矩阵,且 (tA)1=t(A1)({}^t\!A)^{-1} = {}^t\!(A^{-1})
  • ABAB 亦为正则矩阵,且 (AB)^{-1} = B^{-1} A^

# 矩阵的分割

在实际的计算或者推导中,将原有的矩阵划分为若干子矩阵进行处理是很常见的操作,这可以简化计算过程
简单来说,矩阵的分割类似如下形式

A=(A11A12A21A22)A = \begin{pmatrix}A_{11} & A_{12} \\ A_{21} & A_{22} \end{pmatrix}

其中 A11,A12,A21,A22A_{11}, A_{12}, A_{21}, A_{22} 均为矩阵,称为矩阵 AA子矩阵

考虑一个 m×nm \times n 矩阵 AA,和一个 n×n \times \ell 矩阵 BB,此时积 ABAB 可以定义。但我们也可以按照如下方式

A=(A11A12A21A22),B=(B11B12B21B22)A = \begin{pmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{pmatrix},\quad B = \begin{pmatrix} B_{11} & B_{12} \\ B_{21} & B_{22} \end{pmatrix}

只需要确保 A11A_{11} 所在位置的行数与 B11B_{11} 所在位置的列数相等,A12A_{12} 所在位置的行数与 B21B_{21} 所在位置的列数相等
那么就可以将矩阵乘法写作

AB=(A11B11+A12B21A11B12+A12B22A21B11+A22B21A21B12+A22B22)AB = \begin{pmatrix} A_{11}B_{11} + A_{12}B_{21} & A_{11}B_{12} + A_{12}B_{22} \\ A_{21}B_{11} + A_{22}B_{21} & A_{21}B_{12} + A_{22}B_{22} \end{pmatrix}

特别地,有如下两种分割方式,对于矩阵

A=(a11a12a1na21a22a2nam1am2amn)A = \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{pmatrix}

第一种是行向量分割

a1=(a11a12a1n)a2=(a21a22a2n)am=(am1am2amn)\begin{aligned} \boldsymbol a_1 & = \begin{pmatrix}a_{11} & a_{12} & \cdots & a_{1n}\end{pmatrix} \\ \boldsymbol a_2 & = \begin{pmatrix}a_{21} & a_{22} & \cdots & a_{2n}\end{pmatrix} \\ & \vdots \\ \boldsymbol a_m & = \begin{pmatrix}a_{m1} & a_{m2} & \cdots & a_{mn}\end{pmatrix} \end{aligned}

此时

A=(a1a2am)A = \begin{pmatrix} \boldsymbol a_1 \\ \boldsymbol a_2 \\ \vdots \\ \boldsymbol a_m \end{pmatrix}

第二种是列向量分割

b1=(a11a21am1),b2=(a12a22am2),,bn=(a1na2namn)\boldsymbol b_1 = \begin{pmatrix}a_{11} \\ a_{21} \\ \vdots \\ a_{m1}\end{pmatrix},\quad \boldsymbol b_2 = \begin{pmatrix}a_{12} \\ a_{22} \\ \vdots \\ a_{m2}\end{pmatrix},\quad \ldots,\quad \boldsymbol b_n = \begin{pmatrix}a_{1n} \\ a_{2n} \\ \vdots \\ a_{mn}\end{pmatrix}

此时

A=(b1b2bn)A = \begin{pmatrix} \boldsymbol b_1 & \boldsymbol b_2 & \cdots & \boldsymbol b_n \end{pmatrix}

通过这样的分割方式,对于矩阵 AA 与矩阵 BB,可以分割为

A=(a1a2am),B=(b1b2bk)A = \begin{pmatrix} \boldsymbol a_1 \\ \boldsymbol a_2 \\ \vdots \\ \boldsymbol a_m \end{pmatrix},\quad B = \begin{pmatrix} \boldsymbol b_1 & \boldsymbol b_2 & \cdots & \boldsymbol b_k \end{pmatrix}

此时

AB=(a1Ba2BamB)=(Ab1Ab2Abk)=(a1b1a1b2a1bka2b1a2b2a2bkamb1amb2ambk)AB = \begin{pmatrix} \boldsymbol a_1 B \\ \boldsymbol a_2 B \\ \vdots \\ \boldsymbol a_m B \end{pmatrix} = \begin{pmatrix} A \boldsymbol b_1 & A \boldsymbol b_2 & \cdots & A \boldsymbol b_k \end{pmatrix} = \begin{pmatrix} \boldsymbol a_1 \boldsymbol b_1 & \boldsymbol a_1 \boldsymbol b_2 & \cdots & \boldsymbol a_1 \boldsymbol b_k \\ \boldsymbol a_2 \boldsymbol b_1 & \boldsymbol a_2 \boldsymbol b_2 & \cdots & \boldsymbol a_2 \boldsymbol b_k \\ \vdots & \vdots & \ddots & \vdots \\ \boldsymbol a_m \boldsymbol b_1 & \boldsymbol a_m \boldsymbol b_2 & \cdots & \boldsymbol a_m \boldsymbol b_k \end{pmatrix}