我叫顾行舟,平时在高校做线代助教,也给考研、转专业的同学做题目诊断。你搜“矩阵的初等变换规则技巧”,多半不是想背定义,而是想把行变换、列变换用得顺手:什么时候换行不踩坑、什么时候乘常数更省步、怎么判断自己把题“变错了”。下面我按做题现场最容易卡住的点,把规则、手感和常见误区放在同一张桌子上讲清楚。
初等变换只有三类,很多人会背,但做题会乱,问题常出在“目标不明确”。
交换两行(或两列):记作 (R_i leftrightarrow R_j)。它的价值通常是“把非零元挪到枢轴位置”,尤其是做消元时遇到主元为0、或者主元太小导致分数爆炸(手算很痛)。
题感:看到某列下面有个更干净的数,就换上来;别硬扛0主元。
某行乘以非零常数:(R_i leftarrow kR_i,(kneq 0))。它的价值不是“显得规范”,而是“让消元更顺”。题感:如果接下来要用这一行去消掉很多项,让这一行先变得简洁(比如让主元变成1,或把公共因子约掉),能明显减少算错概率。
用一行加到另一行的倍数:(R_i leftarrow R_i+kR_j)。这是消元主力。题感:别在同一行上来回做“加了又减”这种无效动作。每一步最好服务一个目标:把某个位置消成0,或者构造出你想要的结构(上三角、阶梯形、单位阵等)。
我在批改作业时最常见的错误,是同学把变换写得很漂亮,但其实没想过“我现在要把哪一列做成枢轴列”。我的建议是:每做一步,在草稿旁边写一个小箭头,标注你要消掉的那个位置,比如“消(3,1)”“造主元(2,2)”。这比背十遍规则更顶用。
“矩阵的初等变换规则技巧”里最关键的一条不是规则本身,而是你在解哪类问题。行变换和列变换在不同题型里含义不同:
解线性方程组 (Ax=b):你通常做的是对增广矩阵 ([A;|;b]) 的行变换,因为行变换对应对方程做等价变形(交换方程、倍乘方程、方程相加)。这里随便做列变换,变量就被你“重命名/混合”了,解当然会跑偏。
求逆矩阵 (A^{-1}):常用 ([A;|;I]) 只做行变换把左边化成 (I),右边就变成 (A^{-1})。这个过程里如果夹杂列变换,右边不再是单纯记录“同一组行操作”,结果会错得很隐蔽。
讨论秩 rank(A):行变换、列变换都不改变秩,所以两者都能用。但手算更常用行变换化阶梯形,读非零行数。这里的技巧是:秩只看“非零行”,所以不必强求把主元都化成1,别把时间花在形式主义上。
对角化/相似变换:这不是初等变换能直接替代的。相似变换是 (P^{-1}AP),它更像“行列配套变化”。如果你只做行或只做列,得到的是等价变换((PA) 或 (AQ) 这类),不是相似。
一句话自检:题目要你保持“同一个线性方程组的解集”时,优先行变换;题目只关心“秩”这类不变量时,行列都行但别乱掺。
1)消元时压住分数:先换行再约因子手算最怕分数滚雪球。我的经验是:
- 主元能选整数就选整数,必要时先换行;
- 一列的公因子能提前提出就别等;
- 先用“加倍数”消成0,再考虑把主元化成1。
例如你遇到主元是 (1/3),很多同学立刻把整行乘3想“变干净”,但如果这行后面要反复参与消元,乘3可能让别的地方变得更大。更稳妥的做法往往是换一行,或者先用别的行把 (1/3) 旁边清掉,最后再统一规范。
2)行列式题:记住“变换会怎么动det” 行列式相关题型的坑在于:你对矩阵做了初等行变换,但没同步更新行列式的变化。
- 交换两行:(det) 变号
- 某行乘 (k):(det) 乘 (k)
- 某行加上另一行的倍数:(det) 不变
做题时我会在矩阵旁边开一个“det账本”,只记录一个数因子。比如你为了消元方便把一行乘了2,又交换了两次行,那账本就是“×2,变号两次→不变号”。最后把账本乘回去即可。这样比每一步都重新算行列式更安全。
3)求逆矩阵:把“每一步行变换”当成在乘初等矩阵([A|I]) 行变换到 ([I|A^{-1}]) 的背后,其实是左乘一连串初等矩阵 (E_kcdots E_2E_1A=I),所以右边自然变成 (E_kcdots E_1=A^{-1})。这句话的用处在于:当你中途怀疑算错了,可以做一个小验证——挑一行两行,检查右边是否与左边的行操作一致(比如你刚做的是 (R_2 leftarrow R_2-3R_1),那左右两边的第2行都应该同步减去3倍第1行)。很多“抄错数字”的错误就是这样抓出来的。
误区A:把“化成阶梯形”当成唯一目标阶梯形只是工具。解方程组时,真正目标是读出主元变量与自由变量的关系;求秩时只要数非零行;做参数讨论时更要保留参数结构,别为了把某个位置变成1导致表达式复杂到无法判断参数取值。
误区B:把列变换当行变换用我见过不少同学在 ([A|b]) 上做列交换,理由是“看起来更好算”。这一步相当于把变量 (x_1,x_2,dots) 的顺序换了,若你最后不把变量顺序换回去,答案必错;就算你想换回去,也很容易在回代时混乱。
我做题收尾不会重算一遍,而是做三种轻量检查:
- 方程组题:把你得到的解(或参数解)代回原方程挑两条检验;若是齐次系统,检查零解是否包含、自由变量个数是否等于 (n-text{rank}(A))。
- 逆矩阵题:抽查 (AA^{-1}) 的一行一列,看是否能回到单位阵的对应位置。
- 秩/行列式题:秩看“非零行数”,行列式看“det账本”有没有漏记变号或倍乘。
这些检查不花太久,但能把大部分低级失误拦在考场外。
如果你想把“矩阵的初等变换规则技巧”真正变成速度,我建议你下次练题别追求写得漂亮,而是每一步都能回答一句话:我这一步是在“消哪个位置”,还是在“避免分数”,还是在“为读秩/读解做准备”。能回答出来,你的变换就不会乱,速度自然会上来。