3.4 逆矩阵与可逆性
本节位置:模块 3 · 矩阵与线性映射 | 前置:3.3 | 预计:35 分钟
一句话:逆矩阵是线性变换的「撤销键」;只有方阵且不把空间压扁时,撤销键才存在。
0. 场景引入
影像科的一台 CT,重建网格 ,一共 个像素待求。扫一圈取 360 个角度,每个角度 512 个探测器读数,共 个测量。
写成矩阵就是 ,要解 : 是每个像素的衰减系数, 是探测器读数。
先算一笔账。这个矩阵有 个元素,按 fp32 存要 193 GB;医院工作站只有 64 GB 内存。矩阵本身装不下,更谈不上求逆。
更麻烦的是,测量数(18 万)比未知数(26 万)少,方程欠定:满足 的解有无穷多个。医生要的那张图,是这无穷多个解里「最像人体」的那一个。
决定:用滤波反投影(FBP,一次解析重建,约 0.1 s),还是迭代重建(SIRT/CG,几十次正反投影,约 20 s)?前者快,但低剂量下条纹伪影明显;后者慢,却能在欠采样时保住细节。
问题:一个 的矩阵连方阵都不是——「不可逆」到底是什么意思?为什么有的矩阵行列式不为 0、逆也确实存在,反解出来却是垃圾?
读完本节,你应该能回答三件事:
- 可逆的五个等价条件,以及每个条件对应的几何图像;
- 为什么 的公式里恰好出现 ,它衡量的到底是什么;
- 「可逆」(数学上能撤销)与「可靠」(数值上撤得准)的区别,条件数怎么量化这个区别。
1. 直觉
1.1 撤销键
把 看成对平面的一个动作。 就是把这个动作原路撤回:
- 如果 把单位正方形拉成一个面积为 10 的平行四边形, 就把它压回去,面积乘 。
- 如果 把平面压成一条直线(比如 ),不同点被压到同一处,信息丢了,撤不回来。
图:左图 把单位正方形变成仍有面积的平行四边形,,所以能沿 撤回;右图以 为例(与正文的 同为奇异矩阵),单位正方形被压成线段,两个不同的输入映到同一个输出。
💡 一句话直觉:可逆 = 没有信息被压丢;逆矩阵 = 沿原路返回的变换。
类比边界:这里的「撤销」是精确的代数撤销。数值计算里,即使 存在,浮点误差也可能让「撤销」失败——这就是条件数要解决的问题(§5.3)。
1.2 现实对应:从影子里反推物体
CT 的物理过程是:X 射线穿过人体,沿途被吸收,探测器记录的是「这条线上吸收的总和」。每个测量是一道线积分,重建就是从一堆线积分反推每一点的密度——这正是「撤销」的物理版本。
写成矩阵, 的每一行对应一条射线,元素 是「第 条射线穿过第 个像素的长度」。 是正问题(已知物体,算影子); 是反问题(已知影子,还原物体)。
这个类比在哪里失效: 既不是方阵,也不满秩。18 万个方程解 26 万个未知数,即使没有噪声,解也有一整个 维的自由空间。所以严格说 CT 不存在 ;工程上用伪逆、正则化或迭代,得到的是「在某种先验下最合理」的那个解,而不是「唯一正确」的那个解。
1.3 量级直觉
条件数决定「能反推到几位有效数字」。经验规律: 时,双精度(约 16 位十进制)只剩 位可信;fp32(约 7 位)只剩 位。
CT 系统矩阵的条件数常在 到 之间(依扫描几何与正则化而变,这是工程经验值,不是定理)。取 :fp32 只剩 1 位有效数字,重建出来就是一屏条纹。这不是「精度差一点」,是「结果和真值没有关系」。
2. 定义
2.1 逆矩阵
设 是 方阵。若存在 矩阵 ,使得
则称 可逆(invertible), 是 的逆矩阵(inverse),记作 。逆若存在则唯一。
把逆矩阵当成矩阵代数的一等运算(连同 的反序规则)是 Cayley 1858 回忆录的内容。
2.2 的显式公式
对 ,若 ,则
其中 是行列式(determinant) 。读法:主对角线互换、副对角线变号、整体除以行列式。
2.3 奇异与可逆的等价条件
对方阵 ,以下说法等价:
- 可逆;
- ;
- (满秩);
- 只有零解(零空间只含 );
- 的列线性无关。
前两条在第 5.2–5.3 节证明,第三、四条在第 3.7 节展开。若某条不成立,称 奇异(singular)。
2.4 长方形矩阵的左逆与右逆
时不存在两边逆,但可能有一边:
- 且列满秩:左逆(left inverse) ,满足 ;
- 且行满秩:右逆(right inverse) ,满足 。
两者都叫伪逆(pseudoinverse)的特例;一般矩阵的伪逆在第 4.5 节。
3. 为什么这样定义
为什么要求 两边都成立?因为线性映射的撤销必须双向:先 后 回到原样,先 后 也要回到原样。对方阵而言,可以证明只要一边成立,另一边自动成立;对长方形矩阵,两边不可能同时成立。
为什么可逆等价于「没有信息被压丢」?若 有非零解 ,则 ,两个不同输入映到同一输出,反推不可能唯一。反过来,若零空间只有 , 个列线性无关,它们张成整个 ,映射是双射,逆自然存在。
为什么 公式里恰好出现 ?因为 衡量「面积被放大多少倍」。倍数为 0 意味着平面被压扁,映射不是双射;倍数非 0 才能除回去。
3.1 反事实:如果逆定义成「逐元素取倒数」
,,真正的逆是
「每个数取倒数」看起来是个很自然的候选定义:
验证 的第 项:
第 项:。
一眼可见的坏:逆的定义要求 ,而逐元素倒数连「对角线上是 1」都做不到(这里是 4.5)。它坏在根子上——逆是复合的撤销,撤销必须对所有输入方向同时成立;逐元素操作只对每个坐标单独看一眼,天生表达不了「坐标之间的混合」。
顺带一说:唯一能让逐元素倒数成立的情形是对角矩阵,。这和 §3.3 里「逐元素乘只对对角矩阵等于复合」是同一件事的两面。
4. 性质与推导
4.1 公式的验证
设 ,。计算 :
同理。所以只要 , 就是逆。
4.2 运算性质
| 性质 | 式子 | 条件 |
|---|---|---|
| 逆的逆 | 可逆 | |
| 乘积的逆 | 都可逆 | |
| 转置的逆 | 可逆 | |
| 数乘 | ||
| 行列式 | 可逆 |
乘积的逆要反序:先穿袜子再穿鞋,撤销时先脱鞋再脱袜子;写成 通常在形状上就接不上。
4.3 可逆性与条件数
可逆是「理论上能撤销」,条件数(condition number)衡量「撤销有多不稳」:
这个量由 Turing 1948 引入(他称之为 N-condition number),用来衡量消元与求逆会把舍入误差放大多少。 越大,输入的微小扰动被放大得越厉害。 时最稳定(如正交矩阵); 时,双精度也只剩几位有效数字。第 4.6 节与第 10.2 节会展开。
5. 例子
5.1 手算:求逆并解方程
对 ,,所以
解 :。验证:;。
5.2 手算:奇异矩阵与左逆
的 。取 ,;非零输入被压成零,不可逆。
左逆例子:(,列满秩)。,其逆为 ,于是 。验证 :第一行 与两列 、 的点积为 ,第二行为 ,整体除以 3 正好得到单位阵。
5.3 手算:可逆但不稳定
,,。取 ,解为 ;把 只改 变成 ,解变成 。
输入相对变化约 ,输出相对变化约 。可逆不等于可靠: 存在,不代表数值上能放心用它反推。
还有一个更反直觉的例子。取整数矩阵
,逆矩阵也是整数矩阵,看起来「完美可逆」。但 、,所以 。
取 :。把 的第二分量从 改成 (相对变化 ),解变成 ——两个分量全变了。
判据要分清: 回答「能不能撤销」, 回答「撤销得准不准」。整数、行列式为 1 这些「看起来干净」的性质,和数值可靠性没有关系。
5.4 场景闭环:26 万未知数的一次重建
输入: 的稀疏系统矩阵。每条射线只穿过约 700 个像素,所以非零元约 个,按 CSR(fp32 值 + int32 列号)存约 1 GB;测量 是 18 万个 fp32 数,只有 0.7 MB。
计算:迭代重建的一步是两次稀疏矩阵乘——正投影 ( 次乘加)和反投影 (同量级),共约 次乘加。跑 50 次迭代是 次乘加,约合 26 GFLOP。
输出: 个像素值(Hounsfield 单位),重排成 图像。医生在这张图上量结节直径、看密度差。
成本:50 次迭代 × 0.4 s ≈ 20 s,比 FBP 的 0.1 s 慢 200 倍。慢的代价是运动伪影:病人在 20 s 里呼吸、心跳,投影数据前后不一致,重建边缘发虚。所以低剂量、需要迭代的场景通常要配呼吸门控,把扫描和重建都卡在呼气末的静止窗口里。
失败条件与兜底:
- 条件数被忽略:若指望「一次反投影」解决问题, 会把高频噪声同样放大 倍,图像上出现放射状条纹(streak artifact)。兜底:加正则项(TV 或二次罚),本质是给 大的方向加阻尼。
- 非负约束:衰减系数不可能是负数,但线性反解会给出负值。兜底:每次迭代后把负值截断到 0(投影到非负象限),这也是 CT 更常用 SIRT 而不是纯 CG 的原因。
- 金属伪影:体内有金属植入物时,那片区域测量饱和、线性模型失效,重建出放射状亮线。兜底:先分割出金属区域,从投影里「抠掉」再补全(金属伪影校正)——这又是一个反问题。
6. 常见误区
-
误区:。 纠正:逆不满足加法;取 ,左边 ,右边 ,不等。
-
误区:。 纠正:必须反序:。
-
误区:只要 是方阵就可逆。 纠正:方阵也可能奇异,如 ,。
7. 概念网络
- 前置:3.3 矩阵乘法 —— 逆是复合映射的反序撤销。
- 前置:1.6 正交与投影 —— 可逆当且仅当列满秩。
- 后续:3.5 高斯消元与 LU —— 不解逆,直接解方程。
- 后续:3.7 四个基本子空间 —— 可逆 ⇔ 零空间只有零。
- 后续:5.2 行列式的性质与计算 —— 的证明。
- 后续:4.6 条件数与病态 —— 误差放大的定量分析。
8. 通往大模型:没人真的去求逆
出现位置:权重矩阵的可逆性、特征编辑、LoRA 合并、线性探针(linear probe)、归一化层的仿射参数,都会遇到「这个变换能不能撤销」。
形状与运算: 可逆当且仅当 。但训练和推理中几乎从不显式计算 :求逆是 ,而解 用分解只需常数倍更少的运算,且更稳定。显式求逆的误差界比直接解方程差,Higham 专门用一章讨论这件事。LoRA 把更新写成 ,其中 、;若 可逆,用矩阵行列式引理可判断 是否可逆,而不必构造 的逆。
为什么需要:条件数决定数值精度。 的权重在 fp16 下只有约 3 位十进制有效数字;若 ,反解出的 可能几乎不可用。这就是为什么推理框架宁愿做前向矩阵乘,也不愿「解一个线性系统」。
可检验结论:用 NumPy 生成随机 并算 np.linalg.cond(W);随机高斯矩阵的条件数通常随 增长,而正交矩阵恒为 1——这就是正交初始化受青睐的原因。
如果这一步算错,用户会看到什么现象:把「可逆」当成「能放心求逆」,反解结果会带放射状条纹或整体偏亮偏暗;用 代替 (以为转置就是逆),图像会被翻折,解剖结构左右颠倒——这类最危险,因为图「看起来像」人体,医生可能据此误判。工程上的兜底从来不是「更仔细地求逆」,而是根本不求逆:解方程、加正则、做残差检查(把解代回 ,看与 差多少)。模型侧同理:与其监控「权重是否可逆」,不如监控权重的最小奇异值,一旦掉到阈值以下就告警。
9. 练习
- 概念:为什么「 只有零解」等价于「 可逆」?用映射的语言说。
- 计算:,求 并解 。
- 计算:判断 是否可逆;若不可逆,找一个非零 使 。
- 计算: 的左逆已在 §5.2 给出,验证 并解释为什么 。
- 开放:如果权重矩阵的条件数是 ,在 fp16 下做线性层前向会有什么风险?你会怎样检测?
参考答案
- 若零空间只有零,映射是单射;有限维同维空间里单射即双射,所以每个 都有唯一原像,逆映射存在且线性,对应 。
- ,;。验证:,。
- ,不可逆; 使 。
- 已在文中验证。 是 , 是 的投影矩阵,秩为 2,不可能等于 ;它把 投影到 的列空间。
- 条件数 意味着相对误差可能被放大 倍;fp16 的机器精度约 ,前向结果可能损失大部分有效位,甚至溢出。检测方法:监控权重奇异值/条件数、用 fp32 累加、对关键层做数值梯度或与 fp64 对比。
10. 一页速记
- 满足 ;逆唯一。
- 物理意义 / 现实对应:逆是「撤销」,在 CT 里就是从投影反推人体; 只保证撤销存在, 才决定撤销得准不准。
- :。
- 可逆 ⇔ ⇔ 满秩 ⇔ 零空间只有零 ⇔ 列线性无关。
- ,。
- 长方形矩阵只有左逆或右逆;可逆不等于数值可靠,条件数决定误差放大。
11. 参考文献与致谢
这一页的知识不是凭空来的。下面列出本页直接借用的原始工作与权威整理;正文中的人名、定理名已链接到对应条目。链接优先指向 DOI、arXiv 或可长期访问的原文存档。
- 凯莱(Arthur Cayley, 1858):A Memoir on the Theory of Matrices。给出逆矩阵与 等矩阵代数规则,本页 §2.1 的 是它的直系后代。Phil. Trans. R. Soc. (1858)
- 图灵(Alan M. Turing, 1948):Rounding-off Errors in Matrix Processes。引入用 衡量求逆敏感度的条件数(他称之为 N-condition number),本页 §4.3 的 出自这里。Quart. J. Mech. Appl. Math.
- 海厄姆(Nicholas J. Higham, 2002):Accuracy and Stability of Numerical Algorithms(第 2 版)。用一整章说明显式求逆的误差界比直接解方程更差,本页「没人真的去求逆」的定量依据。SIAM
下一篇 → 3.5 高斯消元、初等矩阵与 LU 分解
随堂测 · 5 题
源文件:03-矩阵与线性映射/04-逆矩阵与可逆性.md