笃行
首页
个人 & 心法
互联网/硬件后台
游戏基础架构
UE 引擎
游戏业务
AI / 大模型
数据结构与算法
机器学习数学
通用基础
GitHub
首页
个人 & 心法
互联网/硬件后台
游戏基础架构
UE 引擎
游戏业务
AI / 大模型
数据结构与算法
机器学习数学
通用基础
GitHub
  • 向量入门

    • 看得见的机器学习数学
    • 向量是什么
    • 向量的加减与数乘
    • 线性组合与张成
  • 矩阵与变换

    • 矩阵是一次变换
    • 矩阵乘法
  • 度量与求解

    • 行列式与面积
    • 解方程组就是倒着走回去
    • 特征向量的直觉
    • 点积与相似度
  • 高维与结构

    • 高维空间的直觉
    • 正交基与投影
    • 秩与低秩
    • 长度与归一化
    • 线性与非线性
  • 概率与信息

    • 概率分布与采样
    • 期望与方差
    • 指数与 softmax
    • 对数与信息量
    • 交叉熵
  • 学习与优化

    • 导数就是坡度
    • 梯度下降
    • 链式法则与反向传播

解方程组:知道搬完家在哪,倒推原来在哪

有人把你的东西搬走了,你只知道它现在在哪儿。你能算出它原来放在哪儿吗?

🧠 一句话结论

解方程组就是问"哪个点被搬到了这里",答案是沿着变换倒着走回去。但如果纸已经被拍扁(行列式为 0),信息就丢了,倒不回去——这时候要么没有答案,要么有无穷多个。


场景问题

到现在我们一直在做"正向"的事:给一个点,算它被搬到哪儿。

现在把箭头反过来。有人告诉你东西现在的位置,让你说出它原来在哪儿。

这个反向的问题,就是你在学校里见过的方程组。真的,一模一样。看这个方程组:

{2x+1y=81x+3y=9\begin{cases} 2x + 1y = 8 \\ 1x + 3y = 9 \end{cases} {2x+1y=81x+3y=9​

这两行长得让人不太想看。但把它按列重新排一下:

x(21)+y(13)=(89)x\begin{pmatrix} 2 \\ 1 \end{pmatrix} + y\begin{pmatrix} 1 \\ 3 \end{pmatrix} = \begin{pmatrix} 8 \\ 9 \end{pmatrix} x(21​)+y(13​)=(89​)

眼熟吗?这就是第三篇的线性组合——两块底砖各拉伸几倍,能凑到目标点 (89)\begin{pmatrix} 8 \\ 9 \end{pmatrix}(89​)?

或者用第四篇的说法,写成矩阵:

(2113)(xy)=(89)\begin{pmatrix} 2 & 1 \\ 1 & 3 \end{pmatrix}\begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} 8 \\ 9 \end{pmatrix} (21​13​)(xy​)=(89​)

现在这个方程组在说什么,就清楚得不能再清楚了:

哪个点 (xy)\begin{pmatrix} x \\ y \end{pmatrix}(xy​),被这次变换搬到了 (89)\begin{pmatrix} 8 \\ 9 \end{pmatrix}(89​)?

(顺便说:第四篇里我们算过 (2113)\begin{pmatrix} 2 & 1 \\ 1 & 3 \end{pmatrix}(21​13​) 把 (32)\begin{pmatrix} 3 \\ 2 \end{pmatrix}(32​) 搬到了 (89)\begin{pmatrix} 8 \\ 9 \end{pmatrix}(89​)。所以这个方程组的答案就是 x=3,y=2x=3, y=2x=3,y=2。我们已经"作弊"知道答案了,现在要弄清的是怎么系统地找到它、以及什么时候找不到。)

实现方案

倒着走回去

如果一次变换把纸拉扯成了某个样子,那"把它恢复原状"本身也是一次变换——反着拉回去就行。

这个"撤销"的变换也有自己的矩阵,写作 A−1A^{-1}A−1,叫 AAA 的逆矩阵。(那个小 −1-1−1 不是"负一次方",就是个"反过来"的记号。)

它的定义特别朴实:先做 AAA,再做 A−1A^{-1}A−1,等于什么都没做。

A−1A=IA^{-1}A = I A−1A=I

III 就是第四篇那个什么都不做的单位矩阵。用大白话说:搬走了再搬回来,东西还在原地。

有了它,解方程就是一步的事——两边都做一次"撤销":

Ax⃗=b⃗⟹x⃗=A−1b⃗A\vec{x} = \vec{b} \quad \Longrightarrow \quad \vec{x} = A^{-1}\vec{b} Ax=b⟹x=A−1b

把目标点沿着变换倒着走一遍,就回到了它原来的位置。

看动画。橙色是目标点(已知它现在在哪儿),紫色小点沿着虚线倒推回去,落在青色那个原始位置上:

搬完在这儿 (8,9)原来在这儿 (3,2)倒着走回去解方程 = 沿变换反向走一遍

什么时候能倒得回去:看行列式

关键问题来了:这个"撤销"操作,是不是永远存在?

不是。而判断的标准,正是上一篇的行列式:

  • 行列式 ≠ 0 → 纸只是被拉斜了、缩放了,但还是整张纸。每个点都有独一无二的落点,路径清楚,倒得回去。逆矩阵存在,方程有且只有一个解。
  • 行列式 = 0 → 纸被拍扁成了一条线。倒不回去了。

第二种情况值得慢慢说。

拍扁了为什么就回不去

上一篇说"行列式为 0 意味着信息丢了",当时讲得比较抽象。现在看具体丢在哪儿。

纸被拍扁的时候,发生的事情是:原来一整条线上的所有点,全被挤到了同一个位置。

拍扁:一整条线上的点,全被挤到同一处这条线上每个点……都落到这一个点橙线 = 拍扁后剩下的那条线

图上四个青点原来在不同的地方,被拍扁后全部落到了同一个橙点上。

现在你站在那个橙点旁边,问:"你原来在哪儿?"

它没法回答。因为有无穷多个点都会落到这儿,它们的信息在被挤压的那一刻就混在一起、分不开了。 这就是"信息丢了"的确切含义。

就像把一叠不同颜色的橡皮泥压成一片——你再也没法把颜色分开了。压扁这个动作不可撤销。

所以行列式为 0 时,逆矩阵不存在。不是难算,是它根本不可能存在。

拍扁之后,分两种情况

行列式为 0 时,方程不一定就"没答案"。得看你的目标点 b⃗\vec{b}b 落在哪儿。

纸被拍扁后,所有的点都挤在一条线上(图里那条橙色的粗线)。于是:

情况一:目标点不在那条线上 → 无解

你要找的位置,根本没有任何点能被搬到那儿——变换后的整个世界都在那条橙线上,你的目标却在线外。

这不是"我算不出来",而是答案确实不存在。就像问"哪个整数乘 2 等于 7"——不是你笨,是真没有。

情况二:目标点正好在那条线上 → 无穷多解

这时候能搬到那儿的点,不是一个,而是一整条线上的所有点(就是图里那四个青点所在的那条线,其实是无穷多个点)。

于是方程有无穷多个解。每一个都对,你想报哪个都行。

换个眼光:两条直线

你在学校学方程组时,可能听过"两条直线"的说法。它和上面讲的完全吻合,只是换了个角度看。

把方程组的每一行单独看,每一行都是一条直线。两行就是两条直线,而"解"就是它们的交点:

两条直线的关系交点方程组行列式
相交(岔开着)恰好 1 个唯一解≠ 0
平行(永不相交)没有无解= 0
重合(其实是同一条线)一整条线上都是无穷多解= 0

注意后两行:平行和重合的行列式都是 0。这正好对应上面那两种情况——目标点在线外(平行,无解)还是在线上(重合,无穷多解)。

两种看法说的是同一件事:

  • "两条直线" 的看法:看方程的每一行
  • "哪个点被搬到这儿" 的看法:看方程的每一列

行的看法在解具体题目时好用;列的看法在理解为什么时好用。两个都会,你就能既算得出来、也说得明白。

为什么这么做

为什么把"解方程"想成"倒着走",而不就是按公式硬算?

因为公式只能告诉你答案是多少,说不出为什么有时候算不出来。

如果你只会硬算,那碰到解不出来的方程组,你只会觉得"这题怪怪的"。而一旦你把它想成"倒着走",就立刻能问出正确的问题:这次变换把纸拍扁了吗? 拍扁了就回不去,这时候再看目标点在不在那条线上,就知道是无解还是无穷多解。

理解"为什么没有答案",和会算答案一样重要。

为什么逆矩阵那个记号写成 A−1A^{-1}A−1,看着像"负一次方"?

因为它借用了数字的写法。数字里 3−13^{-1}3−1 表示 13\frac{1}{3}31​,而 3×13=13 \times \frac{1}{3} = 13×31​=1——乘了它就回到 1。

矩阵这里是一样的精神:A−1A^{-1}A−1 乘 AAA 回到 III(矩阵世界的"1")。所以借用了同一个记号。

代价:容易让人以为可以像分数那样随便算。要记住矩阵没有除法,只有"乘以逆矩阵",而且顺序还不能换。

为什么行列式恰好能判断"能不能倒回去"?

因为行列式量的是面积。而"面积没归零"和"纸没被拍扁"是同一件事,"纸没被拍扁"又和"每个点的落点独一无二、能倒推"是同一件事。

一条链子串起来:面积 ≠ 0 → 没拍扁 → 没丢信息 → 倒得回去 → 有唯一解。 你现在应该能顺着这条链子从任何一环走到任何一环。

为什么别的选择不行

死胡同一:以为"方程组总该有个答案"

在学校做题,方程组都是有解的(老师出题时保证了这一点)。做久了就会形成一个错觉:只要方程数量够,就一定能解出来。

看这个方程组:

{1x+2y=32x+4y=10\begin{cases} 1x + 2y = 3 \\ 2x + 4y = 10 \end{cases} {1x+2y=32x+4y=10​

两个方程、两个未知数,数量看着挺够。但它没有解。

用行的眼光看:第二个方程是第一个的 2 倍……但右边不是。第一个说 x+2y=3x+2y=3x+2y=3,第二个化简后说 x+2y=5x+2y=5x+2y=5。同一个东西不可能既等于 3 又等于 5,自相矛盾,所以没答案。

用列的眼光看:矩阵是 (1224)\begin{pmatrix} 1 & 2 \\ 2 & 4 \end{pmatrix}(12​24​),行列式 1×4−2×2=01\times4 - 2\times2 = 01×4−2×2=0——纸被拍扁了。而目标点 (310)\begin{pmatrix} 3 \\ 10 \end{pmatrix}(310​) 不在拍扁后剩下的那条线上,所以没有任何点能被搬到那儿。

教训:"方程够多"不代表"信息够多"。 两个方程可能在说同一件事(就像第三篇里两根平行的箭头,看着有两根,实际只有一根有用)。这时候你名义上有 2 个条件,实际只有 1 个,当然定不下 2 个未知数。

死胡同二:以为"行列式 = 0"就等于"无解"

上一条讲了行列式为 0 时可能无解,于是很容易过头,以为"行列式 0 = 无解"。

不对。行列式为 0 时,也可能有无穷多解——多到用不完。

把刚才那个方程组的右边改一个数:

{1x+2y=32x+4y=6\begin{cases} 1x + 2y = 3 \\ 2x + 4y = 6 \end{cases} {1x+2y=32x+4y=6​

行列式还是 0(矩阵一个字没改)。但现在第二个方程恰好是第一个的 2 倍,两边都是——它俩根本是同一个方程,说了两遍。

于是只剩一个条件 x+2y=3x + 2y = 3x+2y=3,而满足它的 (x,y)(x, y)(x,y) 有无穷多组:(3,0)(3,0)(3,0)、(1,1)(1,1)(1,1)、(−1,2)(-1,2)(−1,2)……整条直线上的点全都是解。

所以准确的说法是:

行列式 = 0 只告诉你"唯一解没了"。 至于是"一个都没有"还是"多到无穷",取决于目标点落在哪儿——

  • 目标点不在拍扁后那条线上 → 无解
  • 目标点正好在那条线上 → 无穷多解

这个区分很要紧,因为两种情况的现实含义完全相反:无解是"你要的东西不存在",无穷多解是"条件不够,答案没被定死"。前者要放弃,后者要补条件。

沉淀结论

  1. 方程组在问:哪个点被搬到了这里(列的眼光),或者两条直线在哪儿相交(行的眼光)
  2. 解方程 = 倒着走回去,撤销那次变换的矩阵叫逆矩阵 A−1A^{-1}A−1,满足 A−1A=IA^{-1}A = IA−1A=I
  3. 行列式 ≠ 0 → 没拍扁 → 倒得回去 → 唯一解
  4. 行列式 = 0 → 纸被拍扁 → 一整条线的点挤成一个点 → 信息丢了 → 倒不回去
  5. 拍扁后再分两种:目标点不在那条线上 → 无解;正好在线上 → 无穷多解
  6. 方程多不代表信息多——两个方程可能在说同一件事

最后一篇我们问一个完全不同的问题:一次变换会把大多数箭头又拉长又拐弯,但有没有哪些方向,箭头只被拉长、死活不肯转向?

记忆口诀

方程组 = 哪个点被搬到了这儿。
解方程 = 倒着走回去,撤销的矩阵叫逆矩阵。
行列式不为 0:没拍扁,倒得回去,唯一解。
行列式为 0:拍扁了,一条线挤成一点,信息丢了。
再分两种:目标不在线上无解,正好在线上无穷多解。
方程多≠信息多——两个方程可能在说同一件事。

长大以后它会变成什么

"一堆条件到底够不够定下答案"这个判断,长大以后到处都是:从一堆传感器数据里反推真实状态、从观测结果里倒推原因,都要先问"信息够不够、能不能倒推"。以后可以翻时序异常检测。


自测:合上资料能说清楚吗?

  1. 把方程组 {2x+y=8x+3y=9\begin{cases} 2x + y = 8 \\ x + 3y = 9 \end{cases}{2x+y=8x+3y=9​ 翻译成一句关于"搬家"的话。
参考答案

"哪个点被 (2113)\begin{pmatrix} 2 & 1 \\ 1 & 3 \end{pmatrix}(21​13​) 这次变换搬到了 (89)\begin{pmatrix} 8 \\ 9 \end{pmatrix}(89​)?" 也可以按列读成线性组合:"两块底砖各拉伸几倍,能凑到 (89)\begin{pmatrix} 8 \\ 9 \end{pmatrix}(89​)?"(答案是 x=3,y=2x=3,y=2x=3,y=2。)

  1. 什么是逆矩阵?用一句大白话说它干什么。
参考答案

它是撤销那次搬家的变换。定义是 A−1A=IA^{-1}A = IA−1A=I——搬走了再搬回来,东西还在原地。有了它,解方程就一步:x⃗=A−1b⃗\vec{x} = A^{-1}\vec{b}x=A−1b,把目标点沿变换倒着走一遍。

  1. 纸被拍扁(行列式为 0)之后,为什么就倒不回去了?
参考答案

因为拍扁时,原来一整条线上的所有点全被挤到了同一个位置,它们的信息混在一起分不开了。站在那个点上问"你原来在哪儿",它答不出来——有无穷多个候选。就像把几种颜色的橡皮泥压成一片,再也分不开。

  1. 有人说"行列式 = 0 就是无解"。他哪里说得不够准确?
参考答案

行列式 = 0 只说明唯一解没了,还要看目标点落在哪儿:不在拍扁后那条线上 → 无解(没有任何点能搬到那儿);正好在线上 → 无穷多解(一整条线的点都是解)。两者含义相反:前者是"你要的不存在",后者是"条件不够"。

  1. 对比这两个方程组,矩阵一模一样,为什么一个无解一个无穷多解?

(甲){x+2y=32x+4y=10(乙){x+2y=32x+4y=6\text{(甲)} \begin{cases} x + 2y = 3 \\ 2x + 4y = 10 \end{cases} \qquad \text{(乙)} \begin{cases} x + 2y = 3 \\ 2x + 4y = 6 \end{cases} (甲){x+2y=32x+4y=10​(乙){x+2y=32x+4y=6​

参考答案

两者行列式都是 0(纸都被拍扁)。甲无解:第二行是第一行的 2 倍但右边不是,化简后要求 x+2yx+2yx+2y 既等于 3 又等于 5,自相矛盾——目标点在线外。乙无穷多解:第二行连右边都恰好是 2 倍,两个方程是同一句话说了两遍,只剩一个条件,整条直线上的点都是解。

最近更新: 2026/9/10 11:38
Prev
行列式与面积
Next
特征向量的直觉