君子成人之美,不成人之恶,小人反是。

# 缘起

临近保研,这篇文章的目的是将所学的线性代数知识做一个简单的梳理。文章中不会有特别多推导和证明,而是作为我思路的理顺。我在学习线性代数时所看的书籍主要包括丘维声版《高等代数》及姚慕生版《高等代数学》,对其余国内外主要书籍只是略有涉猎。因此,我的梳理也以上述教材为底本,但更偏向于计算机科学的方向。

# 行列式、向量组与线性方程组

我所看的大多线性代数书籍的开头都是行列式和线性方程组的介绍。这或许也是线性代数研究的最初目的吧。求解线性方程组,在线性代数问题的研究中占有举足轻重的地位。在计算机科学中,如何实现复杂的线性方程组的快速、准确求解,也是数值分析、运筹学、机器学习等领域绕不开的技术问题。

Ax=bA\boldsymbol{x} = \boldsymbol{b} 其中 ARm×n,xRn,bRmA \in \mathbb{R}^{m\times n}, \boldsymbol{x}\in \mathbb{R}^n, \boldsymbol{b} \in \mathbb{R}^m 是一个最基本形式的线性方程组。对这样的方程组,需要先确定解的存在性,再进一步确定解的数值大小。

# 线性方程组解的存在性问题

若系数矩阵 AA 的列向量为 {αi}i=1n\{\boldsymbol{\alpha}_i\}_{i=1}^n, 那么原方程 Ax=bA\boldsymbol{x} = \boldsymbol{b} 就转化为

i=1nαixi=b\sum_{i=1}^n\boldsymbol{\alpha}_ix_i = \boldsymbol{b}

形式。这就引出了 (向量组的) 线性相关、线性无关等概念。在线性相关和线性无关的概念之后,向量组的概念就极易得到了。

# 线性方程组的求解

高斯消元法 (Gaussian elimination method),或者说初等行变换是线性方程组基本的消元求解方法。因此,我们希望找到一个函数,将系数矩阵 AA 转化为解的形式 (或者部分解的表达式)。因此,我们需要构建一个在初等行变换下不变的函数,来简化线性方程组的求解流程。可以证明,满足以上函数方程的函数只能是行列式 (determinant) 的形式 (或其数乘)。这样,就可以得到行列式展开、求值的性质。

行列式的性质
  1. 初等行 (列) 变换不改变行列式的值。(定义)
  2. 行列式的计算:A=i1i2inσ(n)(1)τ(i1i2in)ai11ai22ainn\displaystyle A = \sum_{i_1i_2\cdots i_n \in \sigma(n)}(-1)^{\tau(i_1i_2\cdots i_n)}a_{i_11}a_{i_22}\cdots a_{i_nn} (也可以作为定义)
  3. A=A\displaystyle |A| = |A^\top|
  4. 行列式按一行 (列) 展开:A=j=1naijAij,i\displaystyle |A| = \sum_{j=1}^na_{ij}|A_{ij}|,\;\forall i. (列同理)
  5. 行列式的分块展开 (拉普拉斯定理)
  1. Vandermonde 行列式

111x1x2xnx12x22xn2x1n1x2n1xnn1=1i<jn(xixj)\left|\begin{matrix} 1 & 1 & \cdots & 1 \\ x_1 & x_2 & \cdots & x_n \\ x_1^2 & x_2^2 & \cdots & x_n^2 \\ \cdots & \cdots & \cdots & \cdots \\ x_1^{n-1} & x_2^{n-1} & \cdots & x_n^{n-1} \\ \end{matrix}\right| = \prod_{1 \leq i<j \leq n} (x_i-x_j)

进一步地,将高斯消元法程式化就得到了线性方程组的行列式求解方法,即克莱姆法则 (Cramer law).

克莱姆法则

对线性方程组 Ax=bA\boldsymbol{x} = \boldsymbol{b}, 若 ARn×n,x,bRnA \in \mathbb{R}^{n \times n}, \boldsymbol{x}, \boldsymbol{b} \in \mathbb{R}^n, 其有唯一解的充分必要条件为 A0|A| \neq 0.

若上述方程存在唯一解,那么该解为

xi=BiA,ix_i = \frac{|B_i|}{|A|},\;\forall i

其中 BiB_i 是将 AA 的第 ii 列用 b\boldsymbol{b} 替换得到的矩阵。

#

# 向量组的秩

矩阵的 (rank) 是在对线性方程组、行列式和向量组研究中发现的一个重要的基本量,其揭示了向量组和矩阵的本质特征。

秩的概念最早定义于向量组的秩。一个向量组的极大线性无关组的向量数目称为向量组的秩。这样,其余的向量组中的其余向量可以采用这些向量进行线性表出,这些向量就可以称为一个向量空间的 (basis).

# 矩阵的秩

我们先前将向量组的线性表出可能与方程的解的数量状况做了关联。现在,这种联系更加明显了。对于一个方程 Ax=b,bA\boldsymbol{x} = \boldsymbol{b}, \forall \boldsymbol{b}, 其有唯一解的充要条件是 AA 的列向量可以线性表出 b\boldsymbol{b}, 或者说 AA 的列向量可以张成 b\boldsymbol{b} 所在的整个空间。这样的话,AA 的列向量组一定是满秩的,成为列满秩。那么 AA 的行向量组呢?根据前面的克莱姆法则和行列式的性质 A=A|A| = |A^\top|, AA 作为系数矩阵应当是行列等价的,因此 AA 同样应是行满秩的。借助方程组解的性质,我们可以证得:AA 的行秩与列秩相等,我们就将其称为矩阵的秩。换句话说,矩阵的秩就是其行 (列) 向量组的秩。

同时,我们还可以得到一个实际应用不大的结论:一个矩阵的秩是其最大的非零余子式的阶数。

# 矩阵关系比较

# 矩阵等价

矩阵等价 (matrix equivalence) 是一种矩阵间等价关系,有时也称为矩阵相抵。矩阵 A,BFm×nA, B \in F^{m \times n} 等价当且仅当存在两个可逆矩阵 PFn×n,QFm×mP\in F^{n\times n}, Q \in F^{m \times m} 使得

B=Q1APB = Q^{-1}AP

容易看出,矩阵等价即两矩阵域、秩相同。

# 矩阵相似

矩阵相似 (matrix similarity) 是一种方阵间等价关系。矩阵 A,BFn×nA, B \in F^{n \times n} 相似当且仅当存在可逆矩阵 PFn×nP\in F^{n\times n} 使得

B=P1APB = P^{-1}AP

# 矩阵合同

矩阵合同 (matrix congruence) 是一种方阵间等价关系。矩阵 A,BFn×nA, B \in F^{n \times n} 合同当且仅当存在可逆矩阵 PFn×nP\in F^{n\times n} 使得

B=PAPB = P^\top AP

记作 ABA \simeq B.

合同矩阵多用于二次型中。

# 二次型

# 概念

一个 nn二次型 (Quadratic Form) 是一个系数在域 FF 上的 nn 变量二次齐次多项式,可以表示为

f(x1,x2,,xn)=i=1nj=1nai,jxixjf(x_1, x_2, \dots, x_n) = \sum_{i=1}^n\sum_{j=1}^na_{i,j}x_ix_j

其中 ai,j=aj,i,1i,jna_{i,j} = a_{j,i}, 1 \leq i, j \leq n. A=(ai,j)n×nA = (a_{i,j})_{n \times n} 称为二次型 f(x1,x2,,xn)=i=1nj=1nai,jxixjf(x_1, x_2, \dots, x_n) = \sum_{i=1}^n\sum_{j=1}^na_{i,j}x_ix_j 的矩阵。