5.3 逆、Cramer 法则与伴随矩阵
本节位置:模块 5 · 行列式 | 前置:3.4 逆矩阵、5.2 | 预计:30 分钟
一句话:把余子式转置拼成伴随矩阵,再除以行列式,就得到逆;Cramer 法则只是这个公式逐分量写开。
0. 场景引入
周三下午,一家期权做市商要接下某银行一笔 5 000 万美元的结构化票据。票据在 3 个月后的三个利率情景下各有一笔应付现金流(占名义的百分比):
交易台只能用三样工具对冲:现金(三个情景都付 )、看涨期权(付 )、看跌期权(付 )。把三样工具的现金流按列排成 矩阵 ,问题变成:是否存在仓位 使 ?
,解唯一。Cramer 法则给出 :每 1 美元名义:现金腿借入 2 分钱()、买 7 毛看涨、7 毛看跌。
决策:按这个精确复制方案报价,还是因为三条腿的交易成本(每条 5 bp,合计 15 bp,约 7.5 万美元)拒单?
代价:不先算 就硬做,碰到两个工具现金流几乎成比例的退化情形( 掉到 ),同样的目标现金流要求仓位从 0.70 放大到 900 多,杠杆和滑点会吃掉全部报价;真正 时根本没有唯一复制方案,报价单上的比率只是拍脑袋,剩下的 3% 名义敞口在极端行情里就是 150 万美元。
读完本节,你应该能回答三件事:
- 为什么 才能保证「唯一复制」, 时缺的是什么?
- 伴随矩阵为什么能拼出逆,Cramer 法则和它是什么关系?
- 交易台每天报上千笔价,为什么不用 Cramer 而用 LU?
1. 直觉
逆矩阵(inverse matrix)是「撤销变换」。在 5.1 里, 把体积放大 倍;那么 就该把它缩回去,所以分母出现 并不意外。
伴随矩阵(adjugate) 可以理解为「余子式的转置」:每个元素记录「删掉某行某列后,剩下的变换把体积放大几倍」。把 除以 ,体积因子正好抵消。
Cramer 法则(Cramer’s rule)则是逐分量的版本:要求 ,就把 的第 列换成 ,算一个行列式,再除以 。
💡 一句话直觉:逆 = 伴随 / 行列式;Cramer = 用「替换一列后的体积」读出每个坐标。
类比边界:这个直觉只在 可逆时成立; 时体积已经被压成 0,没有「缩回去」的操作。
1.1 它在现实世界里对应什么
交易台上,逆矩阵是一张复制表:给我任意一个目标现金流,我告诉你要买多少现金、多少看涨、多少看跌。
| 数学对象 | 交易台上的对应物 |
|---|---|
| 列 | 一个工具在三个情景下的现金流 |
| 三个工具张成的「情景空间」体积;为 0 说明有工具是多余的 | |
| 每种工具对每个情景的边际复制权重 | |
| 从目标现金流反推仓位 | |
| 很小 | 工具几乎共线,仓位对报价极度敏感 |
量级:三条腿的 矩阵,。把看涨的现金流从 改成 ——两个工具只差 1 个基点—— 掉到 ,小了 1 333 倍;复制同一笔现金流,仓位从 0.70 变成 933.8。同一个交易台,1 bp 的输入差别换来 1 300 倍的杠杆。
这个对应在哪里失效:它假设情景有限、工具现金流固定、可以无限分割且没有摩擦。真实对冲是连续时间的,有 gamma、vega、流动性与保证金; 只说明线性化之后局部有没有唯一解,不说明这笔对冲在真实市场里扛不扛得住。
2. 定义
2.1 余子式与代数余子式
删掉 所在的行、列,得到 的余子式(minor) ;带符号的 叫代数余子式(cofactor)。按行展开:。
2.2 伴随矩阵
伴随矩阵(adjugate) 定义为代数余子式矩阵的转置:。注意下标是 不是 :第 行第 列的元素,来自「删掉第 行第 列」的余子式。
2.3 逆矩阵公式
若 ,则 。
2.4 Cramer 法则
设 , 可逆。把 的第 列换成 ,记作 ,则 ()。
2.5 可逆判据
对 矩阵 ,下列条件等价:; 可逆;(列、行线性无关);零空间只有 ( 对任意 有唯一解); 不是 的特征值。
3. 为什么这样定义
3.1
看第 行与 第 列的内积:,最后一步正是沿第 行的余子式展开。
再看第 行与第 列()的内积:。这等于把 的第 行换成第 行后的行列式;此时两行相同,值为 0。于是
同理 。两边除以 即得逆矩阵公式。
3.2 Cramer 法则从哪来
由 ,第 个分量为 。右边分子正好是 沿第 列的展开: 的第 列是 ,其余列与 相同。这就是 Cramer 法则。
3.3 反事实:伴随矩阵不转置会坏在哪
取 ,,代数余子式矩阵
正确的伴随矩阵是 ,。如果把逆定义成 (不转置),这个「逆」乘以 得到
拿它当 去解 ,得到 。代回原方程,第一行 :目标现金流是 5,复制出来的只有 3.25,约 35% 的敞口没被覆盖。
一个「逆」乘回去得不到单位阵,解出的仓位连自己写下的现金流都对不上。交易台上这叫复制表算错了,风控一验算就发现。
Cramer 法则同理: 的分子是「把第 列换成 后的行列式」,这个「换列」正是转置的来源。少了转置,分子里的余子式对不上被替换的那一列,比值就不再是原方程的解。
4. 性质与推导
4.1 常用恒等式
- ;
- ;
- ();
- 对 :。
4.2 复杂度与数值稳定性
Cramer 法则要算 个行列式。每个若按 Leibniz 是 ;即使每个都用消元,也是 ,而 LU 解方程只要 。
数值上更糟:行列式可能极大或极小,计算中有大量相消;解的相对误差大致被条件数(condition number) 放大。实际软件用带主元的 LU(或 QR、SVD),Cramer 只作为理论工具和 、 的闭式公式。
4.3 为什么理论上有价值
Cramer 明确显示:每个 都是 的线性函数,系数是 。做灵敏度分析、证明解的唯一性、推导伴随矩阵性质时,这种显式表达很方便。
5. 例子
5.1 手算: 的逆与 Cramer
验算 :第一行乘第一列 ,第一行乘第二列 ,其余同理。
解 。Cramer:,所以 ;,所以 。与消元结果一致。
5.2 手算: 的伴随与逆
九个代数余子式排成
于是 。验算 :例如第一行乘第一列 ,第一行乘第二列 。
5.3 手算: 的 Cramer
仍用上面的 ,取 。把 换到第 1 列:
换到第 2 列得 ,换到第 3 列得 。因此
代回验证:第一行 ;第二行 ;第三行 。
5.4 场景闭环:100 个情景、100 个工具、每天 1 000 笔报价
输入:真实做市台不会只有 3 个情景。假设一笔奇异期权按 100 个市场情景(利率 × 波动率网格)分解,可交易工具也是 100 个,现金流矩阵 ,双精度占 KB。每个情景的目标现金流是一列 。
计算:三条路线。
| 方法 | 运算量 | 1 GFLOP/s 下 |
|---|---|---|
| Cramer(101 个行列式,每个用 LU) | 67 ms | |
| 一次 LU + 100 次回代 | 2.7 ms | |
| 显式求逆再乘 | (误差更大) | 2 ms |
按每天 1 000 笔报价算:Cramer 要 67 秒,LU 只要 2.7 秒。Cramer 的 在这里第一次变成「报价来不及」的实际问题。
输出:仓位向量 ,外加两个风控数字——残差 与条件数 。若 ,交易台拒单或加价。
成本:2.7 ms 与 80 KB;67 ms 的版本在 1 000 笔/天时还能忍,但报价窗口是每批 200 ms,Cramer 一次就吃掉三分之一。
失败条件:
- 近奇异:两个工具现金流差 1 bp, 从 0.0200 掉到 ,仓位放大 1 333 倍,保证金与滑点吃掉全部价差。兜底:看 或最小奇异值,不只看 。
- 条件数大: 正常但 很大(例如 的 、),解对输入扰动敏感。兜底:带主元的 LU 加残差检验。
- 量纲或符号:现金流用百分比还是小数、卖空是否记为负——错一次,仓位差 100 倍。兜底:入参统一量纲,并断言 。
6. 常见误区
-
误区: 就是代数余子式矩阵 。 纠正:还要转置,。用 检查:,转置后才得到 。
-
误区: 很小就说明 接近奇异、逆很大。 纠正: 的 ,但逆是 ,条件数为 1。尺度会改变 ,不改变条件数。
-
误区:Cramer 法则对任何线性方程组都能用。 纠正:只适用于方阵且 。超定、欠定或奇异系统要用最小二乘、伪逆或消元。
-
误区:逆矩阵的元素就是余子式除以 。 纠正:位置是转置的。写错转置是 手算最常见的错误;用 验算最稳。
7. 概念网络
- 前置:5.1 行列式几何 —— 是体积缩放, 表示降维。
- 前置:5.2 行列式的性质与计算 —— 余子式展开是伴随矩阵的零件。
- 后续:5.4 行列式与 Jacobian —— 逆映射的 Jacobian 是 。
- 关联:3.4 逆矩阵 —— 逆的消元算法与这里的分式公式互为验证。
- 关联:4.4 最小二乘 —— 不可逆时用伪逆代替逆。
- 关联:4.6 条件数 —— 小不等于病态,判稳定性看条件数。
- 关联:9.2 多元高斯—— 协方差逆与 出现在密度里。
8. 通往大模型:高斯密度与流模型里的「逆」
出现位置:多元高斯(multivariate Gaussian)的对数密度、归一化流的似然、以及任何要「解一个线性系统」的层。
形状:协方差 , 可能是 512 或 4096;精度矩阵 同样大小。
公式:
为什么不用 Cramer: 时,Cramer 要 4097 个 行列式,复杂度 ,且数值极不稳定。实际用 Cholesky 分解 :,解 后算 ,全程 且不用显式求逆。
可检验结论:取 ,,在均值处的密度是 。若把 换成 , 缩小 ,密度放大 ——这正是「 依赖尺度」的直观版本。
算错时下游看到什么:若拿 当可逆性判据,、元素量级为 1 的协方差矩阵在 float64 里可能下溢成 0,Cholesky 分解直接失败;若 算错一个常数,密度整体被缩放,似然比较与采样权重全部失真。工程上表现为训练 loss 变 NaN,或采样点全部挤在均值附近。
9. 练习
- 概念:为什么 要转置?用 的 与 说明。
- 计算:。求 、,并解 。
- 计算:。求 、、,并验证 。
- 计算:用 Cramer 法则解 ( 同上)。
- 开放:既然 Cramer 法则有闭式解,为什么数值库不实现它?从复杂度、稳定性、适用范围三个角度回答。
参考答案
- 因为逆矩阵第 行第 列要用「删掉第 行第 列」的余子式,索引自然转置。 中 ,而 ;不转置的话 ,而 才成立。
- ;;。验证 。
- ;;;。
- ,,,所以 。验证:。
- 复杂度: 个行列式,每个 ,共 ,而 LU 是 。稳定性:行列式容易上溢/下溢且相消严重,误差被 放大。适用范围:只对方阵且 有效;超定/欠定要用最小二乘或伪逆。它适合教学与 、 闭式推导。
10. 一页速记
- ;,下标是 。
- 物理意义 / 现实对应:逆矩阵是复制表——体积因子 把目标空间的一单位体积换回源空间;Cramer 用「替换一列后的体积」读出每个坐标。
- ,且 。
- Cramer:, 把第 列换成 。
- 可逆 满秩 零空间为 。
- Cramer 是 且数值不稳;实际用 LU/QR/SVD。
11. 参考文献与致谢
这一页的知识不是凭空来的。下面列出本页直接借用的原始工作与权威整理;正文中的人名、定理名已链接到对应条目。链接优先指向 DOI、arXiv 或可长期访问的原文存档。
- Horn & Johnson(Roger A. Horn & Charles R. Johnson, 2012):Matrix Analysis(2nd ed.)。把伴随矩阵、 与 作为行列式的标准推论给出,本页第 2、3 节沿这条路线推导。Cambridge University Press
- Golub & Van Loan(Gene H. Golub & Charles F. Van Loan, 2012):Matrix Computations(4th ed.)。带主元的 LU 解 只要 ,并给出前向/后向误差与条件数的关系——本页第 4.2 节「Cramer 只作理论工具」的工程依据。Johns Hopkins University Press
- Higham(Nicholas J. Higham, 2002):Accuracy and Stability of Numerical Algorithms(2nd ed.)。系统分析了线性系统求解中的相消、上溢下溢与条件数放大,是第 4.2 节「误差被 放大」的定量版本。SIAM
下一篇 → 5.4 行列式与 Jacobian
随堂测 · 4 题
源文件:05-行列式/03-逆与Cramer法则.md