一、矩阵初等变换基础

基本概念

  • 初等矩阵:由单位矩阵经过一次初等变换得到的矩阵。初等变换有三种类型,分别是交换两行(列)、某一行(列)乘以非零常数、某一行(列)乘以一个数加到另一行(列)上,所以对应的初等矩阵也分这三类。
  • 矩阵乘法与变换关系:“左行右列”揭示的是矩阵乘法和初等变换之间的内在联系。矩阵AAA左乘或右乘初等矩阵,会引发AAA相应的行或列的变化。

具体例子

左行情况

设矩阵A =[a11a12a13a21a22a23a31a32a33]A \ = \begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix}A = a11a21a31a12a22a32a13a23a33

  • 交换两行的初等矩阵作用:若单位矩阵E =[100010001]E\ =\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}E = 100010001 交换第111行和第222行得到初等矩阵P1 =[010100001]P_1\ =\begin{bmatrix}0&1&0\\1&0&0\\0&0&1\end{bmatrix}P1 = 010100001 P1A =[010100001][a11a12a13a21a22a23a31a32a33] =[a21a22a23a11a12a13a31a32a33]P_1A\ =\begin{bmatrix}0&1&0\\1&0&0\\0&0&1\end{bmatrix}\begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix}\ =\begin{bmatrix}a_{21}&a_{22}&a_{23}\\a_{11}&a_{12}&a_{13}\\a_{31}&a_{32}&a_{33}\end{bmatrix}P1A = 010100001 a11a21a31a12a22a32a13a23a33  = a21a11a31a22a12a32a23a13a33 AAA的第111行和第222行交换了。
  • 某行乘以非零常数的初等矩阵作用:单位矩阵EEE的第222行乘以非零常数kkk得到初等矩阵P2 =[1000k0001]P_2\ =\begin{bmatrix}1&0&0\\0&k&0\\0&0&1\end{bmatrix}P2 = 1000k0001 P2A =[1000k0001][a11a12a13a21a22a23a31a32a33] =[a11a12a13ka21ka22ka23a31a32a33]P_2A\ =\begin{bmatrix}1&0&0\\0&k&0\\0&0&1\end{bmatrix}\begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix}\ =\begin{bmatrix}a_{11}&a_{12}&a_{13}\\ka_{21}&ka_{22}&ka_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix}P2A = 1000k0001 a11a21a31a12a22a32a13a23a33  = a11ka21a31a12ka22a32a13ka23a33 AAA的第222行乘以了kkk
  • 某行乘以数加到另一行的初等矩阵作用:单位矩阵EEE的第111行乘以mmm加到第333行得到初等矩阵P3 =[100010m01]P_3\ =\begin{bmatrix}1&0&0\\0&1&0\\m&0&1\end{bmatrix}P3 = 10m010001 P3A =[100010m01][a11a12a13a21a22a23a31a32a33] =[a11a12a13a21a22a23ma11+a31ma12+a32ma13+a33]P_3A\ =\begin{bmatrix}1&0&0\\0&1&0\\m&0&1\end{bmatrix}\begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix}\ =\begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\ma_{11}+a_{31}&ma_{12}+a_{32}&ma_{13}+a_{33}\end{bmatrix}P3A = 10m010001 a11a21a31a12a22a32a13a23a33  = a11a21ma11+a31a12a22ma12+a32a13a23ma13+a33 AAA的第111行乘以mmm加到了第333行。
右列情况

同样设矩阵A =[a11a12a13a21a22a23a31a32a33]A \ = \begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix}A = a11a21a31a12a22a32a13a23a33

  • 交换两列的初等矩阵作用:单位矩阵EEE交换第111列和第333列得到初等矩阵Q1 =[001010100]Q_1\ =\begin{bmatrix}0&0&1\\0&1&0\\1&0&0\end{bmatrix}Q1 = 001010100 AQ1 =[a11a12a13a21a22a23a31a32a33][001010100] =[a13a12a11a23a22a21a33a32a31]AQ_1\ =\begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix}\begin{bmatrix}0&0&1\\0&1&0\\1&0&0\end{bmatrix}\ =\begin{bmatrix}a_{13}&a_{12}&a_{11}\\a_{23}&a_{22}&a_{21}\\a_{33}&a_{32}&a_{31}\end{bmatrix}AQ1 = a11a21a31a12a22a32a13a23a33 001010100  = a13a23a33a12a22a32a11a21a31 AAA的第111列和第333列交换了。
  • 某列乘以非零常数的初等矩阵作用:单位矩阵EEE的第222列乘以非零常数nnn得到初等矩阵Q2 =[1000n0001]Q_2\ =\begin{bmatrix}1&0&0\\0&n&0\\0&0&1\end{bmatrix}Q2 = 1000n0001 AQ2 =[a11a12a13a21a22a23a31a32a33][1000n0001] =[a11na12a13a21na22a23a31na32a33]AQ_2\ =\begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix}\begin{bmatrix}1&0&0\\0&n&0\\0&0&1\end{bmatrix}\ =\begin{bmatrix}a_{11}&na_{12}&a_{13}\\a_{21}&na_{22}&a_{23}\\a_{31}&na_{32}&a_{33}\end{bmatrix}AQ2 = a11a21a31a12a22a32a13a23a33 1000n0001  = a11a21a31na12na22na32a13a23a33 AAA的第222列乘以了nnn
  • 某列乘以数加到另一列的初等矩阵作用:单位矩阵EEE的第333列乘以sss加到第111列得到初等矩阵Q3 =[10s010001]Q_3\ =\begin{bmatrix}1&0&s\\0&1&0\\0&0&1\end{bmatrix}Q3 = 100010s01 AQ3 =[a11a12a13a21a22a23a31a32a33][10s010001] =[a11+sa13a12a13a21+sa23a22a23a31+sa33a32a33]AQ_3\ =\begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix}\begin{bmatrix}1&0&s\\0&1&0\\0&0&1\end{bmatrix}\ =\begin{bmatrix}a_{11}+sa_{13}&a_{12}&a_{13}\\a_{21}+sa_{23}&a_{22}&a_{23}\\a_{31}+sa_{33}&a_{32}&a_{33}\end{bmatrix}AQ3 = a11a21a31a12a22a32a13a23a33 100010s01  = a11+sa13a21+sa23a31+sa33a12a22a32a13a23a33 AAA的第333列乘以sss加到了第111列。

背后原理

从矩阵乘法的定义来看,左乘时,初等矩阵的行与AAA的列进行运算,会改变AAA的行;右乘时,AAA的行与初等矩阵的列进行运算,会改变AAA的列。这一性质在矩阵求逆、解线性方程组、矩阵的等价变换等很多线性代数的问题中都有重要应用。

二、初等行变换求逆矩阵

(一)原理与方法

在矩阵家族中,可逆矩阵是一群特殊的成员。对于一个n×nn \times nn×n的矩阵AAA,如果它可逆,那就意味着存在另一个矩阵A−1A^{-1}A1,使得AAAA−1A^{-1}A1以及A−1A^{-1}A1AAA都等于单位矩阵EEE(单位矩阵就是主对角线元素都是111,其他元素都是000的方阵,比如2×22 \times 22×2的单位矩阵是(1001)\begin{pmatrix}1&0\\0&1\end{pmatrix}(1001))。

可逆矩阵AAA还有两个重要特点:一是它必然是满秩的。秩可以简单理解为矩阵中“有效”的行或列的数量,满秩就是说矩阵的秩等于它的行数(也是列数,因为是方阵),即rank(A) =nrank(A)\ =nrank(A) =n。二是它必然与n×nn \times nn×n的单位矩阵EEE等价,也就是说可以通过一系列的初等变换把AAA变成EEE,反过来也可以把EEE变成AAA

当矩阵AAA可逆时,数学上可以证明存在有限个初等矩阵P1,P2,⋯ ,PnP_1,P_2,\cdots,P_nP1,P2,,Pn,使得Pn⋯P2P1A =EP_n \cdots P_2P_1A \ = EPnP2P1A =E。这里的每个PiP_iPi都对应着一次初等行变换,就像一个个小魔法步骤。而且还有Pn⋯P2P1E =A−1P_n \cdots P_2P_1E \ = A^{-1}PnP2P1E =A1,这就是用初等行变换求逆矩阵的核心原理。

在实际计算中,我们用一种巧妙的办法:把矩阵AAA和单位矩阵EEE写成一个“并排”的增广矩阵(A∣E)(A|E)(AE)。然后对这个增广矩阵进行初等行变换,在变换过程中,左边的AAA会慢慢发生变化。当我们通过一系列变换把左边的AAA变成单位矩阵EEE时,右边原来的单位矩阵EEE就会变成AAA的逆矩阵A−1A^{-1}A1,也就是(A∣E)→初等行变换(E∣A−1)(A|E)\xrightarrow{初等行变换}(E|A^{-1})(AE)初等行变换 (EA1)

(二)举例说明

我们来看一个具体例子,设矩阵A =(2111)A \ = \begin{pmatrix}2&1\\1&1\end{pmatrix}A =(2111),现在求它的逆矩阵。

首先构造增广矩阵(21101101)\begin{pmatrix}2&1&1&0\\1&1&0&1\end{pmatrix}(21111001),左边是AAA,右边是2×22 \times 22×2的单位矩阵。

然后开始进行初等行变换:

  1. 我们想把第一行的第一个元素变成111,同时让第二行的第一个元素变成000。所以先把第一行减去第二行的222倍,计算过程是:第一行的第一个元素2−2×1 =02 - 2 \times 1 \ = 022×1 =0,第二个元素1−2×1 =−11 - 2 \times 1 \ = -112×1 =1,第三个元素1−2×0 =11 - 2 \times 0 \ = 112×0 =1,第四个元素0−2×1 =−20 - 2 \times 1 \ = -202×1 =2,这样矩阵就变成了(0−11−21101)\begin{pmatrix}0& - 1&1& - 2\\1&1&0&1\end{pmatrix}(01111021)
  2. 这时候第一行的第二个元素是−1-11,为了把它变成111,我们把第一行乘以−1-11,得到(0×(−1)−1×(−1)1×(−1)−2×(−1)1101) =(01−121101)\begin{pmatrix}0 \times (-1)& - 1 \times (-1)&1 \times (-1)& - 2 \times (-1)\\1&1&0&1\end{pmatrix}\ =\begin{pmatrix}0&1& - 1&2\\1&1&0&1\end{pmatrix}(0×(1)11×(1)11×(1)02×(1)1) =(01111021)
  3. 接着,为了让第二行的第二个元素变成000,我们把第二行减去第一行,计算得:第二行的第一个元素1−0 =11 - 0 \ = 110 =1,第二个元素1−1 =01 - 1 \ = 011 =0,第三个元素0−(−1) =10 - (-1) \ = 10(1) =1,第四个元素1−2 =−11 - 2 \ = -112 =1,矩阵就变成了(01−12101−1)\begin{pmatrix}0&1& - 1&2\\1&0&1& - 1\end{pmatrix}(01101121)

经过这些变换,左边的AAA变成了单位矩阵(1001)\begin{pmatrix}1&0\\0&1\end{pmatrix}(1001),右边的矩阵就是AAA的逆矩阵A−1 =(1−1−12)A^{-1} \ = \begin{pmatrix}1& - 1\\ - 1&2\end{pmatrix}A1 =(1112)

三、矩阵的秩相关知识

(一)秩的求解与性质

矩阵的秩是描述矩阵“本质”的一个重要数字。我们可以通过初等行变换来找到它。具体做法是把矩阵通过初等行变换变成行阶梯型矩阵,行阶梯型矩阵中非零行的行数就是这个矩阵的秩。

矩阵的秩有一些很重要的性质:

  • 转置不变性:矩阵转置后,它的秩不会改变。比如矩阵A =(1234)A \ = \begin{pmatrix}1&2\\3&4\end{pmatrix}A =(1324),它的转置AT =(1324)A^T \ = \begin{pmatrix}1&3\\2&4\end{pmatrix}AT =(1234)AAAATA^TAT的秩是一样的。
  • 同型矩阵关系:如果两个矩阵的行数和列数都相同(叫同型矩阵),并且它们的秩也相等,那它们在很多方面有相似的性质。
  • 可逆变换不变性:可逆变换不会改变矩阵的秩。因为可逆变换其实就是一系列初等变换的组合,而初等变换不会改变矩阵的秩。

矩阵的秩还可以从其他角度理解,比如从有效方程的个数或者非零子式的最高阶数来定义,但不管哪种方式,得到的秩都是一样的。

(二)秩的运算规律

在矩阵的运算中,秩有一些有趣的规律,我们可以用三句话来记住:“秩越乘越小,越拼越大,分开加最大”。

  • 秩越乘越小:当两个矩阵AAABBB相乘得到新矩阵C =ABC \ = ABC =AB时,CCC的秩不会超过AAABBB中秩较小的那个。比如AAA的秩是333BBB的秩是222,那么ABABAB的秩最大就是222
  • 越拼越大:要是把两个矩阵AAABBB拼接起来(可以横着拼或者竖着拼),得到的新矩阵的秩通常会比AAABBB各自的秩大。比如把AAABBB横着拼成[A∣B][A|B][AB][A∣B][A|B][AB]的秩一般会大于AAA的秩和BBB的秩。
  • 分开加最大:当把两个矩阵分开相加时,它们秩的和能达到一种相对最大的情况。

还有一种特殊情况,当AB =0AB \ = 0AB =0(两个矩阵相乘等于零矩阵)时,AAA的秩加上BBB的秩小于等于nnnnnn和矩阵的维度有关,比如AAAm×nm \times nm×n矩阵,BBBn×pn \times pn×p矩阵,这里的nnn就是AAA的列数和BBB的行数)。

四、矩阵运算的简化技巧

(一)简化矩阵乘法

在计算A−1BA^{-1}BA1B时,有个偷懒的好办法。我们把矩阵AAABBB横着拼在一起,形成一个新矩阵[A∣B][A|B][AB],然后对这个新矩阵进行初等行变换。在变换过程中,当把左边的AAA变成单位矩阵EEE时,右边原来的BBB就会变成A−1BA^{-1}BA1B的结果。这样就不用先单独算出A−1A^{-1}A1,再去乘BBB,能省不少计算量呢。

(二)求解XA =BXA \ = BXA =B形式

当遇到XA =BXA \ = BXA =B这样的矩阵方程时,我们可以用转置的方法来解决。先把等式两边都转置,得到ATXT =BTA^TX^T \ = B^TATXT =BT。这时候,我们把ATA^TATBTB^TBT看成新的矩阵,构造增广矩阵(AT∣BT)(A^T|B^T)(ATBT),然后对它进行初等行变换。当把左边的ATA^TAT变成单位矩阵时,右边就会得到XTX^TXT,最后再把XTX^TXT转置一下,就得到我们要的矩阵XXX啦。这就好像把一个复杂的问题转个身,变成我们熟悉的样子来解决。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐