跳到主要内容

初等变换

初等矩阵

以下三类方阵称为初等矩阵。

倍乘矩阵

倍乘矩阵是一种特殊的对角矩阵。

Di(k)=diag{1,,1,k,1,,1}D_i(k)=\operatorname{diag}\{1,\cdots,1,k,1,\cdots,1\}

表示一个对角阵,主对角线上第 ii 个元素为 kk,并且规定 kk 不能为 00,其余的元素全部为 11

特别地,当 kk11 的时候,Di(1)D_i(1) 就是单位阵 II

对换矩阵

对换矩阵是一种特殊的对称矩阵。

Pij=(Ii101Iji110Inj)P_{ij}=\begin{pmatrix} I_{i-1} & & & & \\ & 0 & & 1 & \\ & & I_{j-i-1} & & \\ & 1 & & 0 & \\ & & & & I_{n-j}\\ \end{pmatrix}

对换矩阵的元素全是 1100,主对角线上其余元素均为 11,仅有第 ii 个元素和第 jj 个元素为 00,而在第 ii 行第 jj 列、第 jj 行第 ii 列上的两个元素为 11

对换矩阵要求 iijj 不能相等。

倍加矩阵

倍加矩阵是在单位阵 II 的基础上,令第 ii 行第 jj 列为 kk

Tij(k)=(11k11)T_{ij}(k)=\begin{pmatrix} 1 & & & & & & \\ & \ddots & & & & & \\ & & 1 & \cdots & k & & \\ & & & \ddots & \vdots & & \\ & & & & 1 & & \\ & & & & & \ddots & \\ & & & & & & 1\\ \end{pmatrix}

倍加矩阵要求 iijj 不能相等。如果 kk00,则 Tij(0)T_{ij}(0) 退化为单位阵 II

倍加矩阵是一种上三角矩阵或者下三角矩阵。

初等矩阵的行列式

三种初等矩阵具有行列式:

Di(k)=k|D_i(k)|=k Pij=1|P_{ij}|=-1 Tij(k)=1|T_{ij}(k)|=1

由于方阵乘法的行列式等于行列式的乘法,借助下文初等变换与矩阵乘法的等价性,初等矩阵的这个性质可以用于行列式的计算。

初等变换

不仅限于方阵,对于一般的矩阵 AA,可以进行初等行变换和初等列变换,统称为初等变换。

初等行变换与初等列变换一样,都有 3 种:倍乘(multiplication)、对换(switching)、倍加(addition)。这里先介绍初等行变换:

  • ii 行乘非零数 kkBDi(k)BB\mapsto D_i(k)B
  • iijj 行互换:BPijBB\mapsto P_{ij}B
  • jj 行乘 kk 加到第 ii 行:BTij(k)BB\mapsto T_{ij}(k)B

将上述操作的行改为列,即得到初等列变换。

在初等变换中,对换可以通过倍乘和倍加实现。显然,倍加不能通过倍乘和对换实现。借助行列式的知识,以及下文的初等变换与矩阵乘法的等价性,也能说明倍乘不能通过倍加和对换实现。

因此,相较对换而言,倍乘和倍加是更为本质的操作。对换操作是为了在消元法中,保证消元的有序,而引入的辅助操作。

初等变换与矩阵乘法

可以发现,三类初等矩阵都是在单位阵 II 上进行一次相应的变换得到的结果。在后文的线性变换中指出,线性变换与矩阵之间有对应关系,与这里的关系类似。

无论矩阵 AA 是否方阵,对矩阵 AA 进行初等行变换,等价于对矩阵 AA 左乘初等矩阵。对矩阵 AA 进行初等列变换,等价于对矩阵 AA 右乘初等矩阵。

倍乘操作

左乘一个倍乘矩阵 Di(k)D_i(k),等价于将第 ii 行变为 kk 倍。右乘一个倍乘矩阵 Di(k)D_i(k),等价于将第 ii 列变为 kk 倍。

对角阵乘对角阵还是对角阵,对于对角阵的乘法,将主对角线上对应的元素相乘。由于单位阵是特殊的倍乘阵,而倍乘阵要求 kk 不为 00,可以看出,只要对角阵主对角线上的元素均非 00,就可以拆分为倍乘阵的乘积。

对于一般的对角阵,无论元素是否为 00,也有相应的结论。左乘对角阵,等价于将对应的行变为原来的若干倍,倍数恰为对角阵主对角线上的相应元素。右乘对角阵,是对相应的列进行同样操作。

由于倍乘矩阵 Di(k)D_i(k) 的行列式为 kk,对于方阵的行或列进行倍乘操作之后,方阵对应的行列式变为原来的 kk 倍。对角阵的行列式为主对角线元素的乘积。

倍乘矩阵的乘法可以交换,对角阵的乘法也可以交换,在乘法只有对角阵时,顺序可以任意排列。

单位阵对应的倍乘操作为保持矩阵 AA 不变,在实际应用中不进行这样的操作。

对换操作

左乘一个对换矩阵 PijP_{ij},等价于将第 ii 行与第 jj 行交换。右乘一个对换矩阵 PijP_{ij},等价于将第 ii 列与第 jj 列交换。

与倍乘阵和对角阵的关系类似,这里引入置换矩阵的概念。置换矩阵是一个方阵,每行每列均恰有一个 11,其余位置均为 00。单位阵 II 也是特殊的置换矩阵。

置换阵和对于单位阵 II 的行进行置换操作一致,也和对于单位阵 II 的列进行置换操作一致。单位阵 II 本身对应于恒等变换。

左乘一个置换矩阵等价于对原矩阵的行进行置换,右乘一个置换矩阵等价于对原矩阵的列进行置换,相应置换的方法和对于单位阵 II 的行或列进行置换操作一致。

置换矩阵与置换完全对应,置换矩阵构成的乘法群与置换群同构。由于有定理,在恒等变换视为零个对换的乘积的情形下,任何置换都可以拆为对换的乘积,因此任何置换矩阵也可以拆分为对换矩阵的乘积。

由于对换矩阵的行列式为 1-1,对于方阵的行或列进行对换操作之后,方阵对应的行列式变为原来的 1-1 倍。

对换阵的乘法不可交换,置换阵的乘法也不可交换。

置换矩阵的行列式为 (1)p{(-1)}^p,其中 pp 为置换矩阵对应置换的逆序数,即置换拆分为对换乘积的个数。

倍加操作

左乘倍加矩阵 Tij(k)T_{ij}(k) 等价于把第 jj 行的 kk 倍加到第 ii 行上。右乘倍加矩阵 Tij(k)T_{ij}(k) 等价于把第 ii 列的 kk 倍加到第 jj 列上。

如果难以记忆,可以观察倍加阵 Tij(k)T_{ij}(k) 是对单位阵 II 进行了怎样的操作,两者是对应的,左乘是对行的操作,右乘是对列的操作,符合口诀左行右列。

由于倍加矩阵的行列式为 11,对于方阵进行倍加操作之后,方阵对应的行列式不变。

倍加矩阵的乘法不可交换。

单位阵对应的倍加操作为保持矩阵 AA 不变,在实际应用中不进行这样的操作。

上三角矩阵

倍加矩阵是一种上三角矩阵或者下三角矩阵。由于两种矩阵关于主对角线对称,这里讨论上三角矩阵。事实上在这个例子中,只需要进行初等行变换,而不需要列变换。

如果一个上三角矩阵的主对角线均为 11,则可拆分为一连串倍加矩阵的乘积。拆分的顺序为,先对单位矩阵 II 的第一行进行倍加操作,再对单位矩阵 II 的第二行进行倍加操作,以此类推,直到每一行均被操作完毕为止。

由于倍加矩阵的乘法不可交换,上述操作不可调换顺序。

如果一个上三角矩阵的主对角线均非 00,则可拆分为一连串倍加矩阵和倍乘矩阵的乘积。可以在操作单位矩阵 II 的每一行时,先将该行进行倍乘操作,效果为主对角线元素变为指定非零值。

如果一个上三角矩阵的主对角线存在 00,则不可拆分为一连串初等矩阵的乘积。

无论上三角矩阵的主对角线上是否有 00,上三角矩阵的行列式等于主对角线元素乘积,与对角阵一致。

倍加操作将方阵转化为对角阵

只使用倍加操作可以使任意一个方阵变为对角阵,这个例子既需要初等行变换也需要初等列变换。

如果方阵的第一行和第一列存在非零元素,则可以通过倍加办法将左上角元素变为非零,进而借助初等行变换和初等列变换,将第一行和第一列除了左上角元素以外,均变为 00

如果方阵的第一行和第一列已经均为 00,则直接看第二行和第二列即可。

借助这个办法,甚至可以规定对角阵的非零元素均在左上角。

如果方阵的第一行和第一列已经均为 00,则看剩余的行列是否有非零元素,只要有非零元素,则可以通过倍加操作将第一行和第一列中某个元素变为非 00,进而化归为一开始的情况,使得左上角元素非 00

仅当剩余的行列也均没有非零元素时,左上角无法变为非零元素,此时剩余的方阵已经为零矩阵。

标准形矩阵

借助初等变换可以将任意的矩阵,无论形状,化归为标准形矩阵。

标准形矩阵拥有一个单位阵 II 作为子矩阵位于左上角,其余部分均为 00。化归的办法与将方阵转化为对角阵的操作类似,并需要借助倍乘操作使左上角非零元素变为 11

矩阵转化为标准形矩阵后,含有元素 11 的个数恰好为矩阵的秩。

可逆矩阵

AA 是一个 nn 阶矩阵。如果存在一个 nn 阶矩阵 BB,使得 AB=BA=IAB=BA=I,那么 AA 叫做一个可逆矩阵或非奇异矩阵,BB 叫做 AA 的逆矩阵,并记为 A1A^{-1}

如果矩阵 AA 可逆,那么 AA 的逆矩阵由 AA 唯一确定。

可逆矩阵 AA 的逆 A1A^{-1} 也可逆,并且 A1A^{-1} 的逆就是 AA

两个可逆矩阵 AABB 的乘积 ABAB 也可逆,并且逆为 B1A1B^{-1}A^{-1}

可逆矩阵 AA 的转置 ATA^T 也可逆,并且转置的逆等于逆的转置。

初等矩阵的逆

初等矩阵均可逆,并且逆为同类的初等矩阵:

Di(k)1=Di(1k){D_i(k)}^{-1}=D_i\left(\frac{1}{k}\right) Pij1=PijP_{ij}^{-1}=P_{ij} Tij(k)1=Tij(k)T_{ij}(k)^{-1}=T_{ij}(-k)

显然单位阵 II 可逆,逆矩阵仍为 II

初等变换保持矩阵的可逆性,变换前后矩阵要么同时可逆,要么同时不可逆。

矩阵 AA 可逆,当且仅当矩阵 AA 可以写成初等矩阵的乘积,即可以通过初等变换变为单位阵 II

等到引入行列式之后可以知道:

矩阵 AA 可逆,当且仅当矩阵 AA 的秩为 nn,当且仅当矩阵 AA 的行列式非 00

一种简单的记法为:记 EijE_{ij} 为第 ii 行第 jj 列的元素为 11、其余为零的 n×nn\times n 矩阵,那么

  • Di(k)=In+(k1)EiiD_i(k)=I_n+(k-1)E_{ii}
  • Pij=InEiiEjj+Eij+EjiP_{ij}=I_n-E_{ii}-E_{jj}+E_{ij}+E_{ji}
  • Tij(k)=In+kEijT_{ij}(k)=I_n+kE_{ij}

这种记法也可以应用于它们的逆矩阵。

应用

线性方程组求解

对于一个线性方程组,未知数前的系数构成系数矩阵,如果在系数矩阵右端补上线性方程组的常数项则构成增广矩阵。

应用初等行变换,可以将线性方程组对应的增广矩阵先转化为行阶梯形矩阵,再转化为行最简形矩阵,进而完成线性方程组的求解。这个方法叫做消元法解线性方程组,后文的 Gauss–Jordan 消元,是按照一定的顺序进行的消元算法。

行列式计算

由于方阵乘积的行列式等于方阵行列式的乘积,初等矩阵的行列式便于计算,以及初等变换等价于初等矩阵的乘法,在行列式计算中也会使用初等变换。

由于按照一定的顺序进行初等变换更加便于程序书写,行列式计算也可以使用后文的 Gauss–Jordan 消元算法。