本篇为MIT公开课——线性代数 笔记。
下面我们要用矩阵语言描述消元法。核心的概念是“矩阵变换”.
举例
三未知数三方程
方程组矩阵形式为 (A X=b)
它们的系数矩阵 (A) 为3x3矩阵
消元
首先明确一个概念:主元(pivot element),一种变元。指在消去过程中起主导作用的元素。
主元就是在矩阵消去过程中,每列的要保留的非零元素,用它可以把该列其他元素消去。
主元行就是主元所在的行。
主元的确定是一种递归思想。
对于 3X3 矩阵:
主元1是第一行第一个元素,依次乘以对应数值对第二行和第三行进行消元;
主元2是第二行第二个元素,对第三行进行消元;
主元3是第三行第三个元素,到达边界。
- 第一步:((2,1))消元
第一行中第一个元素是我们主元1。
利用它我们可以消去第二行中的第一个元素,也就是我们可以消去方程2中的 (x) 分量。
我们将第一行乘以3,然后用第二行减去它,主元行1不变,减法的结果在第二行显示,用矩阵形式:
这里消元的位置是 ((2,1)) 位置,行二列一。 ((2,1)) 位置得到 (0),因此用 ((2,1)) 作为这一步的代号。
- 第二步:((3,1))消元
把这一列最下面元素也变成0,所以这一步代号是 ((3,1)) ,行三列1,不过这个位置已经是0了,所以第一行乘以0,再用第三行减去,还是得到原来数值.
- 第三步:((3,2))消元
现在我们方程消去了 (x) 分量,只剩下 (y、z) 分量
接下来是主元2,它是第二行的第二个元素。
利用它我们可以消去第三行中的 (y) 分量。
我们将主元行2乘以2,用第三行减去,可以得到
消元结果
此时,我们通过对矩阵 (A) ,就得到了我们三个主元:(1,2,5),它们构成的矩阵,记为 (U) .即
(U) 表示上三角矩阵:主对角线以下都是零的方阵称为上三角矩阵。我们这里消元的目的就是为了得到 (U) .
强调一点:主元永远不会是 0.
消元失效情况
失效指的是不能得到三个主元。
失效情况:
消元过程中,遇到主元是0,解决方法是:行交换。
注意点:
- 因为主元永远不可能是0。所以如果0占了主元位置,这时就需要进行行交换,只要该列下面存在非0元素,就可以在下面的行中找寻适当的主元。如果下面也是0就没办法了。
- 注定失效情况:系数矩阵 (A) 中第三行第三列元素,使得消元后结果为0.这样使得主元不存在,矩阵不可逆,消元失效。
- 行交换可以解决主元为0的“暂时性失效”,但当底下的行中没有非0元素时,消元就彻底失效。
回代
在解线性方程组时,把系数矩阵主对角线下方元素消零属于消元;把系数矩阵主对角线上方元素消零属于回代。
这里我们就需要引入增广矩阵。
在原本的系数矩阵 (A) 右边引入右侧向量
这就是”增广矩阵“。
对增广矩阵按照我们上面例子消元,可以得到
将 (left( egin{array}{c} 2 \ 6 \ -10 \ end{array} ight)) 记为 (c) .(c)是 (b) 的最终结果。
将矩阵化为方程组形式:
可以计算出,(z=-2,y=1,x=2) ,这就是回代:它是反向求解方程的简单步骤。
回顾乘法
1.从矩阵列角度考虑,矩阵与向量的乘法运算就是”矩阵列的线性组合“。
例如
矩阵乘以一列,结果是一列。
2.从矩阵行角度,就是矩阵行的线性组合。
举例
矩阵乘以一行,结果是一行。
矩阵乘以两行,结果就是两行。依此类推。
注意,进行行变换和列变换,乘法中待变换矩阵乘以的矩阵位置是不同的。放在后面表示列变换,前面是行变换。
消元矩阵
虽然我们之前也在用矩阵,但是计算步骤都没有用到矩阵表示。所以我们要做的就是把消元过程用矩阵表示。
回到第一个例子的第一步开始,取系数矩阵 (A)
现在对其进行消元操作。
1.对 ((2,1)) 消元过程用矩阵描述
这里问题就是,我们需要一个什么样的矩阵,得到行2减去3倍行1的结果,并且保持行1和行3不变?
即
根据矩阵行的乘法运算,
保持行1不变,就是取1个行1,0个行2,0个行3,即矩阵乘以向量 ((1 0 0)) ,得到右侧矩阵行1;(矩阵拆分为向量)
同样的,保持行3不变,就是取0个行1,0个行2,1个行3,即矩阵乘以向量 ((0 0 1)) ,得到右侧矩阵行2;
中间我们需要进行行2减去3倍行1,就是取 (-3) 倍行1,1个行2,0个行3,即矩阵乘以向量 ((-3 1 0)),得到右侧矩阵行3;
我们可以得到结论:
如果要检验特定元素,比如检验第二行第三列元素正确性。
只需要看左侧前矩阵行2和后矩阵列3即可,点积,(-3*1+1*1+1*0=-2)。可将左侧中右边看成矩阵,左边看成向量,这样就和讲过的乘法一样。
我们将系数矩阵乘以的这个矩阵叫做“初等矩阵”记作 “E”。因为表示位置 ((2,1)) 上变换,所以记作 (E_{21}) .
2.对 ((3,2)) 消元过程用矩阵描述
这里我们问题就是,需要一个什么样的矩阵,将式子(2)的结果,用行3减去2倍行2,并且保持行1和行2不变?
不再累述。这个矩阵我们记为 (E_{32}) 。
矩阵消元到此结束。
综合以上内容,我们可以将矩阵消元简单表示为:
改变乘法顺序,就能得到一次性解决问题的矩阵。矩阵相乘满足结合律。
置换矩阵
假设我们有个2X2矩阵,我们想要交换它的行顺序,其实理解上面的计算,我们就能求出这个矩阵是什么,例如
我们将(left( egin{array}{cc} 0 & 1 \ 1 & 0 \ end{array} ight))记为 (P) ,代表Permutation(置换)。
如果想交换列顺序,就把矩阵 (P) 放在后面相乘。
行变换是矩阵左乘,列变换时矩阵右乘。“左行右列”。
矩阵相乘顺序不能改变。矩阵相乘不满足交换律。
逆矩阵
如果我们想要取消某次消元,回归到原来矩阵,怎么做?
假设原矩阵(left( egin{array}{ccc} ext{1} & ext{0} & ext{0} \ ext{-3} & ext{1} & ext{0} \ ext{0} & ext{0} & ext{1} \ end{array} ight)) ,记作 (E) ,右侧是单位矩阵,记作 (I).
在(2,1)消元中,我们把方程2减去3倍方程1,过程反过来,就是方程2加上3倍方程1。
(left( egin{array}{ccc} 1 & 0 & 0 \ 3 & 1 & 0 \ 0 & 0 & 1 \ end{array} ight))就是我们要的逆矩阵,记作 (E^{-1})