线性代数

Lec 01:方程组的几何解释 (from “the-art-of-linear-algebra”)

理解矩阵——四个视角

一个矩阵 (m × n) 可以被视为 1 个矩阵, mn 个数, n 个列和 m 个行。

四个视角理解矩阵

向量乘以向量——两个视角

两个视角理解向量相乘

矩阵乘以向量——两个视角

矩阵乘以向量

向量乘以矩阵——两个视角

向量乘以矩阵

矩阵乘以矩阵——四个视角

实用模式

实用模式

Lec 02:高斯消元

Lec 03:矩阵乘法与逆矩阵

Lec 04:矩阵的LU分解

Lec 05:转置和置换

转置

我们定义转置矩阵是把矩阵横跨主对角线反转,记作AT。我们可以用转置来表示向量内积:

因此用数学的方法描述转置矩阵就是使下面两个内积相等的矩阵

置换

Lec 06:列空间和零空间

向量空间与子空间

向量空间n包含全部具有n个分量的列向量v。空间Z是一个零维空间,是最小可能的向量空间。

子空间就是对在向量空间内部对n维向量运算封闭的向量组——即子空间中任意向量做线性组合后得到的向量依然在子空间中。

我们可以以三维向量空间的子空间为例,形象地理解,三维向量空间的子空间就是过原点的直线、过原点的平面、原点。不难理解,一个向量组的所有线性组合构成了一个向量空间。

可以看出,实际上,向量空间就是一个

列空间

列空间C(Am × n)m的一个子空间(因为矩阵A的列有m个分量),是矩阵所有列的所有线性组合。这些组合就是所有可能的Ax。

考察这样一个矩阵:

Ax = b有解,当且仅当b在A的列空间中。

列空间的大小:

其实就是看矩阵的秩,或者说向量组的秩。很容易理解如果n维向量组的秩不等于维数,那么其所有列的线性组合必然不会扩充整个n维向量空间。

联系线性方程组的解:Ax=b是否对任意b都有解?答案是否定的。

只有b是A各列的线性组合的时候,方程才有解。这点也很好理解。如果不看右侧的b向量,运用Gilbert课程中向量和矩阵乘法的想法,可以看到Ax的结果其实就是A的线性组合。

列空间告诉我们方程组什么时候有解。

是否有可能,一个矩阵去掉一列,得到的列空间和原来一样呢?答案是肯定的。对于例子中的矩阵,第3列就是可去的,因为可以用列1和2线性表示。我们称列1和2为主列,也可以选择列2和3为主列,结果是一样的。这里的想法类似极大线性无关组。

总结一下:本段落创造了列空间的概念,用来描述Ax=b所有存在解的右侧向量b。

零空间

零空间N(Am × n)包含所有Ax=0的解,这些向量x都在n中,是n的子空间(因为向量x有n个分量)。

我们一样取上面的例子,我们关心Ax=0的解是什么。

本例中的零空间是什么?是3空间中的一个子空间。是令上式有解的x向量的集合。在零空间中,我们关心A列向量线性组合的系数。

上式就是A的零空间。我们具体去考察这个空间,发现它是三维向量空间中的一条直线,是一个子空间。此处的想法类似线性相关。

我们检验一下Ax=0的解总是构成一个子空间。

我们检验他们运算封闭性。

  1. 加法闭性
    若 Av = 0 且 Aw = 0,则
    A(v + w) = Av + Aw = 0 + 0 = 0.

  2. 数乘闭性
    若 Av = 0 且 c ∈ ℝ,则
    A(cv) = c (Av) = c ⋅ 0 = 0.

总结一下:本段落创造了零空间的概念,用来描述Ax=0的所有解。


现在我们考虑b不是0向量的情况,那么对于x而言,他们构成一个向量空间吗?答案是否定的。原因在于这些解中不存在0,无法构成子空间。

所以子空间必须经过原点,那么对于x成为子空间的唯一方法就是使b=0。

上面描述了两种构筑子空间的两种重要方法。列空间用于描述Ax=b所有存在解的右侧向量b;零空间用来描述Ax=0的所有解。

Lec 07:求解Ax = 0

求解Ax = 0

阶梯型矩阵

考察如下矩阵:

我们的算法就是消元。当我们消元的时候,不会改变零空间,因为消元不会改变方程组的解。

我们对矩阵 A 进行初等行变换:

最终得到的矩阵为阶梯型矩阵(echelon form)。

在本例中我们有两个主元:第一行的1和第二行的2。主元的数量是2。这个数字我们称为A的(rank)。

那么在这里证明求出方程组的解?我们有两个主列,即主元所在的列,另两列称为自由列。自由列表示我们可以给这些未知数取任意的乘数,然后只需求出X1, X3就可以了。

这里把所取的X2, X4回代,就能求出X1, X3。我们给X2, X4赋予0和1,得到的解集就称为特殊解(special solution)。Rx = 0 的解是 n(n = 自由列的个数)个特殊解的所有组合,每个特殊解对应一个自由变量。零空间就是所有特殊解的线性组合。

因此零空间为:


我们在这里回顾整个过程:

秩是2,表示主元的数量,自由变量的个数是2。对于m*n的矩阵而言,如果秩为r,那么自由变量的个数就是n-r。在这个矩阵中只有r个方程组是真正有用的,其他都是自由变量。给自由变量一个取1其他取0,我们就得到了特殊解。


接下来我们简化这个阶梯型矩阵。

在消元过程中没有改变解,也就没有改变零空间。

主列矩阵:

自由列矩阵:

对于行最简型(reff form)

E为主列矩阵,F为自由列矩阵

对于Rx = 0,我们怎么求出x,求出零空间N:


关于算法

总结一下这堂课的算法是什么:

  1. 把矩阵转换成阶梯型,找到主元的个数得到矩阵的秩。

  2. 给一个自由变量赋值1,其他赋值0,求出方程的特殊解,有几个自由变量就有几个特殊解。

  3. 求出零空间,零空间就是全部特殊解的全部线性组合。

  4. 进一步把矩阵转换成rref形式,得到矩阵R。

  5. 进一步得到

    这个矩阵就是零空间矩阵。

Lec 08:求解Ax = b

求解Ax = b

我们还是用Lec 07的矩阵作为例子:

我们可以把b向量加一行在矩阵A右侧,称为增广矩阵

方程3现在右侧全是0,我们得到 0 = b3 − b2 − b1 ,方程有解。

我们来研究方程是否有解时:

  1. Ax = b是可解的当b在A的列空间中。

  2. 如果A各行的线性组合得到零行,b端分量的同样组合也要是0。

现在我们来求解这个方程:

我们把自由变量设为0,在这里就是X2 = 0, X4 = 0,方程组变为:

解得:

根据前面的计算,A的零空间是所有特殊解的线性组合:

其中cd是任意实数。

其中cd是任意实数。这表示Ax = b的所有解构成一个通过点xp且平行于零空间的平面。

关于算法

总结一下这节课的算法:如何求出Ax = b的解

  1. 求出一个特解(particular solution):把所有的自由变量设为0。

  2. 将零空间与特解相加,得到Ax = b的通解:

答案就是x = xp + xn

可解性与解的结构

假设 Ax = 0 的未知数的个数比方程式的个数多(n > m,列数比行数多),则至少存在一个自由列,Ax = 0 有非零解。

Lec 09 线性相关性,基,维数

Lec 10 四个基本子空间

四个子空间

Lec 11 矩阵空间,秩 1 矩阵

Lec 12 图与网络

在本节中,我们考察矩阵的实际应用。

查看下面这张图,它有四个节点(node),五条边(edge),我们现在研究应该怎么用矩阵来表示这张图。

Graphs of network

上图中 Line 1、2、3构成一个回路(loop),回路意味着线性相关。在矩阵中可以看到,行向量 1、2、3 是线性相关的。

在一个表示图的关联矩阵,非零矩阵的个数为2m,这个矩阵描述了图的拓扑结构。

KCL

关于这个图,我们为其赋予物理背景,研究以下几个问题:

1. 矩阵A的零空间:

我们来求这个关联矩阵的零空间。
零空间中的向量x满足Ax = 0,即:

可以得到:

xi看成各节点的电势,我们把它与A相乘,得到了上面 5 个分量。它们是经过各边的电势差。Ax = e 计算的是每条边上的电势差

可以解得A的零空间N(A)是

如果 e 为 0,那么所有节点拥有相同电势,每条边上的电势差为0。(所有节点的电势都等于某个常数 c)。

零空间的维数 dim(N(A)) 是 1,这对应电势差是相对的。给所有节点的电势加上一个常数 c 并不会改变物理状态。

如果我们将右上角最后一个节点接地,此时它的电势x4为0,因此我们把矩阵最后一列去掉,前面三列向量是线性无关的,这样我们就能求出其他节点的电势。

零空间的秩 r=1,可以推知整个矩阵的秩为 3。

2. 矩阵AT的零空间:

可以得到:

设 y 是一个向量,其中 yi 代表沿边 i 流动的电流,A^T y = 0 意味着流入/流出每个节点的净电流为零。这正是基尔霍夫电流定律 (KCL)。它表达了电荷守恒——节点不会积累电荷。

比如:ATy 的第一个分量是 y1 − y3 − y4。这代表了离开节点 1 的总电流(电流 y1 通过边 1 离开,y3 通过边 3 离开,y4 通过边 4 离开)。

解得:

dimN(AT) = 2。

这两个基是无关的,分别代表了两个回路。

如图所示,我们可以看到网络中存在两个独立的回路,这对应了零空间的维数为2。每个回路中的电流构成了一个循环流动,符合基尔霍夫电流定律(KCL),即每个节点流入的电流等于流出的电流。这两个基的线性组合构成了大的回路。

我们通过欧姆定律把 x 和 y 联系起来就可以得到:y = Ce(C为电导率,矩阵C是一个对角矩阵)。

A^T

3. 矩阵AT的列空间(即矩阵A的行空间)

我们找到矩阵AT的主列1、2、4,即:

这三个向量不构成一个回路,可见不构成回路的向量之间是线性无关的。没有回路的图称作树(tree)

tree

下图就是本节课的主要逻辑,如果接入外部电源,使得AT = f,我们得到最终的公式:

KCL

欧拉公式

我们通过上面的考察可以发现 dim N(AT) = m - r。这个维数代表独立回路的数量。

对于连通图,r = n - 1。

代入 r:回路数 = m - (n - 1)
整理得到:节点数 (n) - 边数 (m) + 回路数 = 1。

也就是下面这个公式:

总结

我们总结一下这章的内容。

  1. 我们可以用关联矩阵A来表示图的拓扑结构:(Lec 12中的例子)

在这个矩阵中,每一行表示一条边,每一列表示一个节点。如果一条边连接两个节点,那么这条边对应的行在这两个节点对应的列上分别有-1和1。

  1. Ax = e

对于一个有 n 个节点的连通图,A 的秩 (rank) 是 r = n - 1。在这个例子中,n=4,所以 r=3。这是因为 秩 + 零空间维数 = n(列数),即 3 + 1 = 4。

  1. y = Ce

N(AT) 的维数 是 m - r(其中 m 是边的数量,r 是秩)。这里,dim(N(AT)) = 5 - 3 = 2。N(AT)代表了基本的电流回路,这意味着图中存在 2 个独立的回路。

  1. AT

AT 的列空间(也就是 A 的行空间)是由 A 的行向量生成的。
行空间的一组基对应于图中连接所有节点但不形成任何回路的一组边。这被称为树。其维数是秩 r = n - 1 。

  1. 欧拉公式

节点数 (n) - 边数 (m) + 回路数 = 1。

Lec 13 RRR week

Lec 14 正交向量与子空间

四个子空间

有图上可知,列空间与其零空间的夹角是90°。

正交向量

正交是垂直的另一种说法。意味着在n维空间中,两向量的夹角为90°。

判别两向量正交:

证明:

正交子空间

正交子空间意味着,子空间S中的任意一个向量α都与子空间T中的任意一个向量β正交。

行空间正交于零空间,其秩的和为n。零空间中含有所有垂直于行空间的向量。

对于列空间而言也是如此,只需要取转置即可。

证明:

Lec 15 特征向量和特征值

特征向量

给定一个矩阵A,矩阵A的作用就像一个函数,对向量x施加矩阵A得到Ax。对多数向量而言,变换后的向量和原向量方向不同,而那些与原向量方向相同的我就称之为特征向量

Ax = λx

关于特征值为0的情况:此时特征向量是在A的零空间中的向量。也就是说,如果一个矩阵是奇异的(可以把一个非零向量x转化为0),那么 λ = 0 是一个特征值。

求解特征值和特征向量

|Eλ − A| = 0

A+nE, 那么特征值+n,特征向量不变。但A+B不适用,原因在于A和B的特征向量不同。

 ≤ 

对角化

对角化只有在存在n个无关的特征向量时才可用

Lec 16 对称矩阵

有两个重要性质

  1. 特征值是实数

  1. 特征向量都正交

  2. 主元的符号和特征值一致。正主元的个数和正特征值的个数一致

正定矩阵

  • ,与二次型关联

  • 所有特征值为正

  • 所有主元为正

  • 所有顺序主子式为正

  • 存在n阶可逆实矩阵B,使得A = BTB


线性代数
https://beetlesliu.github.io/2025/04/14/线性代数/
作者
Beetles
发布于
2025年4月14日
更新于
2026年4月8日
许可协议