M03 习题:矩阵与线性映射
对应模块:M03 矩阵与线性映射 先独立完成,再对 答案。计算题保留中间步骤,不要只写结果。
A 概念题
- 取 。分别用「数据表」「线性映射」「算子」「列向量组」解释它;哪个身份不成立?为什么?
- 同一个 ,列组合与行点积的求和项完全相同,只是分组不同。请写出两种分组,并说明为什么「列组合适合人想、行点积适合机器算」。
- 如果矩阵乘法定义成逐元素乘,复合映射 还能用一个矩阵表示吗?请用 的具体例子说明会失去什么。
- 写出方阵可逆的四个等价条件,并解释:为什么 的长方阵可能有左逆,却不可能有两边逆?
- 为什么 而不是 ?行变换保持行空间与零空间,为什么不保持列空间?求列空间基时应该用原矩阵还是 RREF 的列?
B 计算题
- ,。 (a) 用列组合和行点积分别求 ; (b) 求 与 ; (c) 验证 。
- ,。 (a) 用行乘列求 ; (b) 用列组合、行组合、外积和分别验证; (c) 写出这次乘法的 FLOPs。
- 。 (a) 求 与 ; (b) 解 ; (c) 判断 是否可逆,并找它的一个非零零空间向量。
- 对 : (a) 做 LU 分解,写出 、; (b) 用 的对角线求 ; (c) 解 ,写出前代与回代。
- 。 (a) 求 与 RREF; (b) 写出四个子空间的基与维数; (c) 验证行空间 ⊥ 零空间、列空间 ⊥ 左零空间,以及两个维数公式; (d) 判断 与 是否在列空间里。
C 大模型题
- 一个线性层 ,输入 batch 为 、、。 (a) 参数量是多少? (b) 前向 FLOPs 约是多少? (c) 输出张量的形状与 fp16 显存占用是多少?
- 注意力中 ,、、、。 (a) 写出 的完整形状与元素个数; (b) fp16 下分数矩阵占多少显存? (c) 计算 的 FLOPs; (d) 这个分数矩阵的秩最多是多少?为什么?
- LoRA 用 近似全量更新 ,取 ,、。 (a) 全量与 LoRA 的参数量各是多少?比例多少? (b) 前向时 LoRA 分支比全量矩阵乘省多少 FLOPs? (c) 推理时如何把 LoRA 合并回 ?合并后秩是多少?
D 开放题
- 设计一个 NumPy 实验,验证「矩阵乘法的四种视角结果一致」,并要求在任意随机形状下都成立。你会写哪些断言?如果某种实现只在方阵上通过,可能是什么 bug?
- 设计一个实验,测量某个隐藏状态矩阵的「有效秩」在通过一个低秩层前后的变化。你会用什么指标?如何排除「只是数值噪声」的解释?
计算题的数值答案见 m03-答案;开放题没有唯一答案,答案给出评分要点。