线性代数里有个特别省事的小技巧:初等矩阵的逆矩阵,根本不用伴随矩阵、不用增广矩阵做初等变换,看上一眼就能写出来。我第一次意识到这个规律是在复习矩阵逆运算的时候,当时对着三种初等矩阵一个个用定义验证,结果发现它们全都是“把刚才那一步变换原样反着做一遍”。从那以后,凡是遇到求初等矩阵的逆,我基本就是直接看、直接写,整个过程不超过五秒。这篇文章就把这个方法彻底讲透,适合正在学线性代数、考研数学或者准备期末考的读者,只要你认得单位矩阵,就一定能看懂并学会。
1. 先搞清楚初等矩阵到底是什么
1.1 从单位矩阵出发的三种“小动作”
初等矩阵的定义并不复杂:单位矩阵经过一次初等行变换或初等列变换得到的矩阵,就是初等矩阵。注意三个关键词:单位矩阵、一次、初等变换。所谓“一次”,意味着只做一个动作,不能连续做两步。标准教材里把初等变换分成三类,对应着三种初等矩阵。
第一类是交换单位矩阵的两行或两列。比如把单位矩阵的第一行和第二行交换,得到的就是一个“换行矩阵”,通常记作 ( E_{ij} ) 或 ( P_{ij} )。它的矩阵形式里只有两行发生了交换,其余位置和单位矩阵一模一样。
第二类是给单位矩阵的某一行(或某一列)乘以一个非零常数 ( k )。比如把单位矩阵的第一行乘以 2,得到的矩阵主对角线上第一个元素变成 2,其余对角线元素仍然是 1。这类初等矩阵通常记作 ( E_i(k) )。
第三类是给单位矩阵的某一行加上另一行的 ( k ) 倍。比如把单位矩阵的第一行加上第二行的 3 倍,得到的矩阵在第一行第二列的位置上出现一个 3,其余位置不变。这类矩阵通常记作 ( E_{ij}(k) ),含义是“把第 j 行的 k 倍加到第 i 行”。
这三类看似简单,但它们是理解初等矩阵逆矩阵的唯一基础。你只要记住:初等矩阵其实就是一个“动作记录器”,记录了一次初等变换的每一个参数。
1.2 左乘右列:行变换和列变换的统一
为什么说初等矩阵能代表一次变换?因为矩阵乘法有一个“左行右列”的天然规则:对一个矩阵 ( A ) 做初等行变换,等价于在 ( A ) 的左边乘上对应的初等矩阵;做初等列变换,等价于在 ( A ) 的右边乘上对应的初等矩阵。
举个例子,想让矩阵 ( A ) 的第一行和第二行交换,我只需要计算 ( E_{12} A )。这里 ( E_{12} ) 就是单位矩阵交换第一行和第二行得到的初等矩阵。如果想让 ( A ) 的第一列和第二列交换,那就计算 ( A E_{12} ),用的是同一个初等矩阵,但乘在右边。
这个“左行右列”规则非常重要,因为初等矩阵的逆矩阵也要依赖它来理解。初学者最容易犯的错误就是忘记左右之别。比如求 ( E A ) 的逆,正确结果是 ( A^{-1} E^{-1} ),因为 ( (EA)^{-1} = A^{-1} E^{-1} ),顺序是反的。但你单独看 ( E ) 的逆,它依然是那个“反向操作矩阵”,这一点不受左右位置影响。
1.3 初等矩阵一定可逆,而且逆还是初等矩阵
所有初等变换都是可逆操作:交换过的行再交换一次就回去了;乘过 ( k ) 的行再乘 ( 1/k ) 就回去了;加过 ( k ) 倍的行再减去 ( k ) 倍就回去了。既然初等矩阵对应的变换可逆,那么初等矩阵本身必然可逆,而且它的逆矩阵正好对应反向变换。
这带来一个很漂亮的结论:初等矩阵的逆矩阵仍然是初等矩阵,而且属于同一种类型。交换型的逆还是交换型,倍乘型的逆还是倍乘型,倍加型的逆也还是倍加型。这个结论你不需要背,只需要记住“把动作反过来”这个直觉。后面所有“一眼看出”的技巧,全部建立在这条逻辑上。
2. 三种初等矩阵的逆矩阵速查表
2.1 第一类:交换两行/两行,逆矩阵是它自己
第一类初等矩阵最特殊,它的逆矩阵就是它本身。因为“交换第 i 行和第 j 行”这个操作执行两次,等于什么都没做。用符号表示就是 ( P_{ij} P_{ij} = I ),所以 ( P_{ij}^{-1} = P_{ij} )。
我在实际教学中发现,这个结论很多同学都不敢直接写,非得再用定义验证一下才放心。其实完全没必要。你想想,单位矩阵先交换第一行和第二行,得到 ( P_{12} );再把 ( P_{12} ) 的第一行和第二行交换一次,是不是又变回了单位矩阵?因此 ( P_{12} ) 乘 ( P_{12} ) 就是单位矩阵,它当然是自己的逆。
需要注意的是,交换型初等矩阵的行列式永远是 -1,这也侧面说明它是可逆的。同时这种“自逆”性质有个专门名词叫对合矩阵。以后你只要看到某个初等矩阵由交换行得到,不管它交换的是哪两行,都可以放心地写:逆等于自身。
2.2 第二类:某行乘以常数 ( k ),逆矩阵把 ( k ) 换成 ( 1/k )
第二类初等矩阵 ( E_i(k) ) 的含义是:单位矩阵的第 i 行乘以 ( k )。它的逆矩阵非常简单,就是把 ( k ) 换成 ( 1/k ),即 ( E_i(k)^{-1} = E_i(1/k) )。
为什么?因为一个矩阵先乘以 ( k ),再乘以 ( 1/k ),相当于总共乘了 ( k \times (1/k) = 1 ),矩阵当然回到原来的状态。注意这里的 ( k ) 必须是非零常数,这是初等变换定义里明确要求的。 ( k = 0 ) 时,这个矩阵不可逆,它也不再是初等矩阵。
实操中还有一个容易忽略的细节:如果你看到某行乘的是负数,比如 ( E_2(-3) ),那它的逆就是 ( E_2(-1/3) ),负号要保留。因为 ( (-3) \times (-1/3) = 1 )。别一看到负号就觉得奇怪,本质上仍然是倒数关系。
2.3 第三类:某行加上另一行的 k 倍,逆矩阵把 k 换成 -k
第三类初等矩阵 ( E_{ij}(k) ) 表示“单位矩阵的第 j 行的 k 倍加到第 i 行上”。它的逆矩阵是 ( E_{ij}(-k) ),也就是“第 j 行的 k 倍从第 i 行上减去”。
我见过很多同学在这里写错,最典型的是把 ( E_{ij}(k) ) 的逆写成了 ( E_{ji}(-k) ),把下标也给换了。这是不对的。做“加上另一行的 k 倍”这个动作时,被操作的是第 i 行,提供倍数的是第 j 行。反过来做减法时,仍然是第 i 行被操作,第 j 行提供倍数,所以下标顺序 ( i j ) 不能变,变的只有 ( k ) 的正负号。
比如 ( E_{13}(4) ) 表示把第三行的 4 倍加到第一行上。它的逆就是把第三行的 4 倍从第一行上减去,也就是 ( E_{13}(-4) )。看,下标还是 ( 13 ),数值从 4 变成 -4。这个规律在矩阵里表现为:非对角线上的那个非零元素,从 ( k ) 变成 ( -k ),其余位置不变。
为了让你一眼对照,我把三种初等矩阵及其逆矩阵整理成下面的速查表:
| 类型 | 初等矩阵 | 表示的动作 | 逆矩阵 | 记住的方式 |
|---|---|---|---|---|
| 交换型 | ( P_{ij} ) | 交换第 i 行和第 j 行 | ( P_{ij} ) | 交换两次等于没换 |
| 倍乘型 | ( E_i(k) ) | 第 i 行乘以 k | ( E_i(1/k) ) | 乘 k 再乘 1/k 等于 1 |
| 倍加型 | ( E_{ij}(k) ) | 第 j 行的 k 倍加到第 i 行 | ( E_{ij}(-k) ) | 加 k 倍,逆操作减 k 倍 |
这个表就是全文的核心。后面所有快速判断方法,本质上都是对这个表的灵活应用。
3. 如何“一眼看出”:读矩阵、找特征、直接写
3.1 三个特征:除了单位阵,只有一个位置“不一样”
现在进入真正的重点:拿到一个矩阵,怎么做到一眼看出它的逆?
我的方法分三步。第一步,先确认它是不是初等矩阵。确认方法很简单:把它和同阶单位矩阵对比,除单位矩阵外,只允许有一个位置不一样。这里“不一样”包括两种情况:主对角线上的元素不是 1,或者非主对角线位置出现非零元素。
为什么说只有一个位置不一样?因为初等矩阵是单位矩阵做一次变换得到的,一次变换不可能同时动两个位置。交换型矩阵比较特殊,它有两行都变了,但本质上可以理解为主对角线外的两个 1 互相交换位置,这个需要单独识别。其他两种初等矩阵,确实只有一个元素偏离单位矩阵。
第二步,判断它属于哪一类。看那个“不一样”的元素在哪里:
- 如果主对角线上某个元素不是 1,那就是倍乘型。因为单位矩阵的主对角线元素必然全是 1,只有某行乘以 ( k ) 才会把对应的对角线元素变成 ( k )。
- 如果非主对角线出现了一个非零元素,那就是倍加型。因为倍加操作只会在某行某列的交点处留下一个倍数 ( k ),其他位置不变。
- 如果矩阵里有两个主对角线元素“消失”了,而对应的两个非主对角线位置变成 1,那就是交换型。
第三步,根据类型直接写逆矩阵。倍乘型就把那个非 1 对角线元素写成倒数;倍加型就把那个非零元素写成相反数;交换型就原样照抄。
3.2 实战举例:5 个矩阵快速写出逆
光说理论不够,我直接带你过几个典型例子。假设现在有下面这 5 个 3 阶矩阵:
第一个矩阵:
[ A=\begin{pmatrix} 0 & 1 & 0 \ 1 & 0 & 0 \ 0 & 0 & 1 \end{pmatrix} ]
它和单位矩阵比,第一行第二行交换了,属于交换型。交换型的逆就是自己,所以 ( A^{-1}=A )。
第二个矩阵:
[ B=\begin{pmatrix} 1 & 0 & 0 \ 0 & 1 & 0 \ 0 & 0 & -\frac{1}{2} \end{pmatrix} ]
主对角线第三个元素是 ( -1/2 ),其他位置和单位矩阵一样,所以是倍乘型,对应“第三行乘以 ( -1/2 )”。逆矩阵把 ( -1/2 ) 换成它的倒数 ( -2 ),因此:
[ B^{-1}=\begin{pmatrix} 1 & 0 & 0 \ 0 & 1 & 0 \ 0 & 0 & -2 \end{pmatrix} ]
第三个矩阵:
[ C=\begin{pmatrix} 1 & 0 & 3 \ 0 & 1 & 0 \ 0 & 0 & 1 \end{pmatrix} ]
非主对角线位置 ( (1,3) ) 处有一个 3,这是“第三行的 3 倍加到第一行”,即 ( E_{13}(3) )。逆矩阵只要把这个 3 改成 -3:
[ C^{-1}=\begin{pmatrix} 1 & 0 & -3 \ 0 & 1 & 0 \ 0 & 0 & 1 \end{pmatrix} ]
第四个矩阵:
[ D=\begin{pmatrix} 1 & 0 & 0 \ 0 & 1 & 0 \ 2 & 0 & 1 \end{pmatrix} ]
看位置 ( (3,1) ) 处是 2,意思是“第一行的 2 倍加到第三行”,属于 ( E_{31}(2) )。逆矩阵写成 ( E_{31}(-2) ),也就是把第三行第一列的位置改成 -2:
[ D^{-1}=\begin{pmatrix} 1 & 0 & 0 \ 0 & 1 & 0 \ -2 & 0 & 1 \end{pmatrix} ]
第五个矩阵:
[ E=\begin{pmatrix} 1 & 0 & 0 \ 0 & 5 & 0 \ 0 & 0 & 1 \end{pmatrix} ]
主对角线第二个元素是 5,倍乘型,逆矩阵把 5 换成 ( 1/5 ):
[ E^{-1}=\begin{pmatrix} 1 & 0 & 0 \ 0 & \frac{1}{5} & 0 \ 0 & 0 & 1 \end{pmatrix} ]
以上五个例子覆盖了三种类型的所有典型情况。你把这套“找不同、判类型、写逆变换”三步走练熟以后,看到任何初等矩阵都能在五秒内写出答案。
3.3 验证为什么这样做是对的
有人可能会问:凭什么非对角线元素取相反数就是逆?我们用定义验一下。以 ( C=E_{13}(3) ) 为例,它左乘任意矩阵时,相当于把第三行的 3 倍加到第一行。而 ( E_{13}(-3) ) 左乘任意矩阵时,相当于把第三行的 3 倍从第一行减去。两个操作挨着做,先加 3 倍再减 3 倍,等于没做,所以乘积是单位矩阵:
[ E_{13}(-3)E_{13}(3)=I ]
同理,倍乘型 ( E_2(5) ) 左乘矩阵时把第二行乘以 5,接着用 ( E_2(1/5) ) 左乘就把第二行除以 5,两个操作抵消。于是:
[ E_2(1/5)E_2(5)=I ]
交换型就更直接了,( P_{12}P_{12}=I )。这就构成了完整的验证闭环。你会发现整个过程根本不用算伴随矩阵,也不用解方程组,完全靠“操作与逆操作”的对应关系。
4. 常见误区与排查技巧
4.1 别把倍加初等矩阵的逆写成“加另一个元素”
我批改作业时见过最多的错误,是把 ( E_{ij}(k) ) 的逆写成 ( E_{ji}(-k) )。比如把 ( E_{13}(3) ) 的逆写成:
[ \begin{pmatrix} 1 & 0 & 0 \ 0 & 1 & 0 \ 0 & 0 & 1 \end{pmatrix} ] 在位置 ( (3,1) ) 处填 -3。
错在哪里?我们对比一下:正确的 ( E_{13}(-3) ) 是在 ( (1,3) ) 处填 -3;错误的写法是在 ( (3,1) ) 处填 -3。这两个矩阵完全不是一回事。
为什么会写反?因为有些同学记初等矩阵时习惯记“第 j 行加到第 i 行”,逆矩阵时下意识把行和列也对调了。但其实变换的方向没有变:原来是把第三行加到第一行,逆操作仍然是“从第一行减去第三行”,先动的是第一行,提供倍数的是第三行,下标顺序始终是 ( i j )。记住这一点,就不会再把位置写错。
4.2 “左行右列”用反了,逆矩阵位置就写错
初等矩阵的逆本身不存在“左乘还是右乘”的问题,但当你把初等矩阵用在乘法里时,左右位置必须分清楚。比如你要求一个可逆矩阵 ( A ) 的逆,使用初等行变换时,应该左乘初等矩阵;使用初等列变换时,应该右乘初等矩阵。如果你用错方向,即使逆矩阵本身写对了,整个矩阵求逆过程也会崩。
有一个快速自检方法:观察初等矩阵的那个“特殊位置”。如果特殊位置在矩阵的 ( (i,j) ) 处,左乘它意味着影响目标矩阵的第 i 行;右乘它则意味着影响目标矩阵的第 j 列。你把初等变换记为“第 j 行加到第 i 行”,那么左乘时对应行变换,右乘时对应列变换,但符号和下标的含义会变。遇到混合情况,最稳妥的办法是回到“左行右列”去判断,别凭感觉。
4.3 不是所有可逆矩阵都是初等矩阵,但都能拆成初等矩阵的乘积
还有一类常见疑问:既然初等矩阵的逆这么简单,是不是所有可逆矩阵都能看成初等矩阵?不是。初等矩阵必须由单位矩阵只做一次初等变换得到,绝大多数可逆矩阵并不满足这个严格要求。
但反过来说,任何一个可逆矩阵都可以分解为若干个初等矩阵的乘积。这个结论在理论推导中非常有用。比如高斯消元的过程,就是左乘一系列初等矩阵把 ( A ) 化为行最简形。如果 ( A ) 可逆,行最简形就是单位矩阵,于是:
[ E_m \cdots E_2 E_1 A = I ]
所以:
[ A^{-1} = E_m \cdots E_2 E_1 ]
换句话说,你能把消元过程中用到的所有初等矩阵列出来,再把它们的逆矩阵按反向顺序乘起来,就得到了 ( A^{-1} )。在这个流程里,“初等矩阵的逆一眼看出”是省时间的关键。你要是每个初等矩阵的逆都要列竖式去算,那整个分解过程就失去了意义。
5. 从“一眼看出”到灵活运用
5.1 用初等矩阵逆矩阵来理解高斯消元
初等矩阵的逆不只是考试技巧,它能帮你真正理解线性方程组求解的本质。举个例子,解方程 ( Ax=b ) 时,高斯消元会把 ( A ) 逐步变成上三角矩阵 ( U )。这个过程的每一步都对应一个初等矩阵左乘 ( A ),也就是:
[ U = E_k \cdots E_1 A ]
如果你想知道原矩阵 ( A ) 怎么由 ( U ) 换回来,只需要对等式两边左乘那些初等矩阵的逆矩阵:
[ A = E_1^{-1} \cdots E_k^{-1} U ]
由于每个 ( E^{-1} ) 都能一眼写出,这个回代过程在纸面上几乎不需要计算。我在手算线性方程组时,经常用这个方法反推消元过程是否正确。如果在消元过程中某个初等矩阵的逆写错了,最后反推得到的 ( A ) 就会和原矩阵对不上,能立刻发现问题。
5.2 快速求逆矩阵的其他场景
除了理论上辅助理解,这个技巧在一些具体计算题里也能派上大用场。比如题目给了你一个分解式:
[ A = P_{12} E_2(3) E_{13}(-2) ]
要求 ( A^{-1} )。你不需要先算 ( A ) 再求逆,直接利用“乘积的逆等于反向顺序的逆”:
[ A^{-1} = E_{13}(-2)^{-1} E_2(3)^{-1} P_{12}^{-1} ]
根据速查表:
[ A^{-1} = E_{13}(2) E_2(1/3) P_{12} ]
然后再把这三个初等矩阵相乘,整个计算量比先求 ( A ) 再求逆小得多。这类题型在考研数学和线性代数竞赛里很常见,掌握“逆矩阵反向写”的技巧能节省大量时间。
5.3 一个小经验:先看变换再写逆
最后分享一个我的个人经验。每次拿到初等矩阵,我先不说“它是 ( E_{ij}(k) )”,而是先在心里把它的变换动作描述出来:交换哪两行、哪一行乘了什么数、哪一行加上了哪一行的多少倍。想清楚动作,逆矩阵就是“撤销动作”,自然就出来了。
这套思路尤其适合正在备考的同学。你不需要把三种初等矩阵的公式当成孤立结论死记硬背,而是把它们理解为“动作”与“反向动作”的关系。只要动作想明白,公式即使一时忘了也能在几秒内重新推导出来。我到现在做线性代数题遇到初等矩阵,依然是这个流程:看特殊位置,判定类型,心里默念一句“交换变自己、倍乘变倒数、倍加变相反数”,然后直接落笔写答案。
说句实在话,初等矩阵逆矩阵这块内容在矩阵理论里属于很小的一个点,但它能体现线性代数的一个核心思想:任何可逆变换都有对应的逆变换,而初等变换的逆变换往往就藏在原变换的“反号”或“取倒数”里。把这个小技巧练到条件反射,你在做矩阵分解、解方程组、求逆矩阵的时候都会比别人快不少。