君子成人之美,不成人之恶,小人反是。
# 缘起
临近保研,这篇文章的目的是将所学的线性代数知识做一个简单的梳理。文章中不会有特别多推导和证明,而是作为我思路的理顺。我在学习线性代数时所看的书籍主要包括丘维声版《高等代数》及姚慕生版《高等代数学》,对其余国内外主要书籍只是略有涉猎。因此,我的梳理也以上述教材为底本,但更偏向于计算机科学的方向。
# 行列式、向量组与线性方程组
我所看的大多线性代数书籍的开头都是行列式和线性方程组的介绍。这或许也是线性代数研究的最初目的吧。求解线性方程组,在线性代数问题的研究中占有举足轻重的地位。在计算机科学中,如何实现复杂的线性方程组的快速、准确求解,也是数值分析、运筹学、机器学习等领域绕不开的技术问题。
Ax=b 其中 A∈Rm×n,x∈Rn,b∈Rm 是一个最基本形式的线性方程组。对这样的方程组,需要先确定解的存在性,再进一步确定解的数值大小。
# 线性方程组解的存在性问题
若系数矩阵 A 的列向量为 {αi}i=1n, 那么原方程 Ax=b 就转化为
i=1∑nαixi=b
形式。这就引出了 (向量组的) 线性相关、线性无关等概念。在线性相关和线性无关的概念之后,向量组的秩概念就极易得到了。
# 线性方程组的求解
高斯消元法 (Gaussian elimination method),或者说初等行变换是线性方程组基本的消元求解方法。因此,我们希望找到一个函数,将系数矩阵 A 转化为解的形式 (或者部分解的表达式)。因此,我们需要构建一个在初等行变换下不变的函数,来简化线性方程组的求解流程。可以证明,满足以上函数方程的函数只能是行列式 (determinant) 的形式 (或其数乘)。这样,就可以得到行列式展开、求值的性质。
行列式的性质
- 初等行 (列) 变换不改变行列式的值。(定义)
- 行列式的计算:A=i1i2⋯in∈σ(n)∑(−1)τ(i1i2⋯in)ai11ai22⋯ainn (也可以作为定义)
- ∣A∣=∣A⊤∣
- 行列式按一行 (列) 展开:∣A∣=j=1∑naij∣Aij∣,∀i. (列同理)
- 行列式的分块展开 (拉普拉斯定理)
- Vandermonde 行列式
∣∣∣∣∣∣∣∣∣∣∣1x1x12⋯x1n−11x2x22⋯x2n−1⋯⋯⋯⋯⋯1xnxn2⋯xnn−1∣∣∣∣∣∣∣∣∣∣∣=1≤i<j≤n∏(xi−xj)
进一步地,将高斯消元法程式化就得到了线性方程组的行列式求解方法,即克莱姆法则 (Cramer law).
克莱姆法则
对线性方程组 Ax=b, 若 A∈Rn×n,x,b∈Rn, 其有唯一解的充分必要条件为 ∣A∣=0.
若上述方程存在唯一解,那么该解为
xi=∣A∣∣Bi∣,∀i
其中 Bi 是将 A 的第 i 列用 b 替换得到的矩阵。
# 向量组的秩
矩阵的秩 (rank) 是在对线性方程组、行列式和向量组研究中发现的一个重要的基本量,其揭示了向量组和矩阵的本质特征。
秩的概念最早定义于向量组的秩。一个向量组的极大线性无关组的向量数目称为向量组的秩。这样,其余的向量组中的其余向量可以采用这些向量进行线性表出,这些向量就可以称为一个向量空间的基 (basis).
# 矩阵的秩
我们先前将向量组的线性表出可能与方程的解的数量状况做了关联。现在,这种联系更加明显了。对于一个方程 Ax=b,∀b, 其有唯一解的充要条件是 A 的列向量可以线性表出 b, 或者说 A 的列向量可以张成 b 所在的整个空间。这样的话,A 的列向量组一定是满秩的,成为列满秩。那么 A 的行向量组呢?根据前面的克莱姆法则和行列式的性质 ∣A∣=∣A⊤∣, A 作为系数矩阵应当是行列等价的,因此 A 同样应是行满秩的。借助方程组解的性质,我们可以证得:A 的行秩与列秩相等,我们就将其称为矩阵的秩。换句话说,矩阵的秩就是其行 (列) 向量组的秩。
同时,我们还可以得到一个实际应用不大的结论:一个矩阵的秩是其最大的非零余子式的阶数。
# 矩阵关系比较
# 矩阵等价
矩阵等价 (matrix equivalence) 是一种矩阵间等价关系,有时也称为矩阵相抵。矩阵 A,B∈Fm×n 等价当且仅当存在两个可逆矩阵 P∈Fn×n,Q∈Fm×m 使得
B=Q−1AP
容易看出,矩阵等价即两矩阵域、秩相同。
# 矩阵相似
矩阵相似 (matrix similarity) 是一种方阵间等价关系。矩阵 A,B∈Fn×n 相似当且仅当存在可逆矩阵 P∈Fn×n 使得
B=P−1AP
# 矩阵合同
矩阵合同 (matrix congruence) 是一种方阵间等价关系。矩阵 A,B∈Fn×n 合同当且仅当存在可逆矩阵 P∈Fn×n 使得
B=P⊤AP
记作 A≃B.
合同矩阵多用于二次型中。
# 二次型
# 概念
一个 n 元二次型 (Quadratic Form) 是一个系数在域 F 上的 n 变量二次齐次多项式,可以表示为
f(x1,x2,…,xn)=i=1∑nj=1∑nai,jxixj
其中 ai,j=aj,i,1≤i,j≤n. A=(ai,j)n×n 称为二次型 f(x1,x2,…,xn)=∑i=1n∑j=1nai,jxixj 的矩阵。