附录源文件:exercises/m05-习题.md
M05 习题:行列式
对应模块:M05 行列式
先独立完成,再对 答案。计算题保留中间步骤;判断题要给出理由或反例。
A 概念题
- 用「有向体积」解释 detA 的绝对值与符号各代表什么。为什么说 detA=0 表示「降维」而不是「矩阵很小」?
- 判断正误,并说明理由或举反例:
(a) det(A+B)=detA+detB;
(b) det(AB)=detAdetB;
(c) det(cA)=cdetA;
(d) det(A⊤)=detA;
(e) 交换两行,det 变号;
(f) 某行加另一行的 k 倍,det 不变;
(g) detA=0 当且仅当 A 有零行;
(h) det(A−1)=1/detA。
- 列出「detA=0」的至少五个等价说法(向量、秩、方程、特征值、几何各一个),并说明它们为什么是一回事。
- Cramer 法则有漂亮的闭式解,为什么数值软件不实现它?另外,detA 很小是否说明 A 病态?各用一句话回答。
B 计算题
- 计算下列 2×2 行列式,判断是否可逆、是否翻转定向,并求单位正方形像的面积:
(a) [3112];(b) [2142];(c) [0110];(d) [1324]。
- 用按行展开求 det105216340,再用行变换验算。
- 设 B=210121012。求 detB、adj(B)、B−1,并验证 Badj(B)=(detB)I。
- 用 Cramer 法则解 Bx=(1,2,3)⊤,其中 B 同第 3 题;代回验证。
- 求下列变换的 Jacobian 行列式:
(a) f(u,v)=(u+v,u−v),并求单位正方形像的面积;
(b) f(u,v)=(u2,v) 在 (u,v)=(2,3) 处;
(c) 极坐标 x=rcosθ, y=rsinθ;
(d) f(x,y)=(excosy,exsiny),并求在 (0,0) 处的局部面积缩放。
C 大模型题
- 设 z∼pZ,x=f(z) 是可逆变换,Jf∈RD×D。写出 logpX(x) 的公式。若训练时漏掉 log∣detJf∣ 这一项,目标函数还是归一化密度的似然吗?取一维缩放 f(z)=az 具体说明会发生什么。
- 设协方差 Σ=diag(4,9)。求 logdetΣ 和均值处的密度 p(μ)。为什么实际代码用 Cholesky 而不是先求 Σ−1?
- D=1000,Σ=0.1ID。直接算 detΣ 会发生什么?logdetΣ 是多少?构造一个「det 极小但条件数为 1」的例子,说明为什么不能用 det 判断病态。
D 开放题
- 设计一个数值实验验证 det(AB)=detAdetB。说明矩阵尺寸、元素尺度、误差指标怎么选;随着 n 增大,你预期相对误差如何变化?为什么不能直接对 1000×1000 的随机矩阵比较 det?
- 归一化流有两种常见设计:完整 Jacobian(每层算 D×D 的 det)与 coupling 层(三角 Jacobian)。从计算成本、表达能力、训练稳定性三方面比较,并说明 diffusion 模型为什么通常不需要显式的 log∣detJ∣。