本系列笔记为方便日后自己查阅而写,更多的是个人见解,也算一种学习的复习与总结,望善始善终吧~
1. Gauss Elimination 高斯消元
还是从线性方程组谈起,对于以下方程组:
对其求解,我们使用高斯消元法:
想办法消掉第二个与第三个方程中的 x ,还有第三个方程的 y ,使得第三个方程只留下一个未知数 z ,代入第二个只有 y 和 z 的方程得到 y ,再重复以上过程代入第一个方程得出 x (从小到大数学老师教的方法,是的,这叫高斯消元法),这里需要认识到的是——从矩阵角度来看,我们在求解 Ax=b 。
那么这个过程放在矩阵下看就是这样
这里我们的目的就是使得矩阵A成为U这样上三角upper triangular的形式。
每一步画框的数即为pivot(翻译成”主元”还是”模板”?算了,随意吧),我们每次都是根据选定的pivot来做运算使得pivot所在列下方的元素变为
0
,运算的过程使用行运算。这里行列式determinant的值为
1∗2∗5=10
。
当pivot的值为 0 时,我们可以交换两行使得pivot不为零。
那么将矩阵化简为上三角形式的这个过程有什么用处呢?试着把
b
加到
A
中,获得增广矩阵,对其重现刚才的操作得到
U
和
c
。
写回方程形式,很容易得出解:
2. 以矩阵运算来描述高斯消元
将刚才高斯消元的步骤用矩阵运算的形式写出来(对矩阵乘法有疑惑可以先看<3.新视角看矩阵乘法>):
矩阵E∗矩阵A
代表的就是刚才消元过程中的行运算,即行与行之间乘系数/相减这样的操作可以写成矩阵形式,这样的矩阵我们称之为初等矩阵elementary matrix
同理:
E21,E32
这二个矩阵代表的就是刚才消元的两个阶段:
用这个方法可以将刚才高斯消元的每一步用矩阵运算的形式描述出来,这样做的好处在于我们可以将这个过程写成矩阵连乘的形式:
对于矩阵乘法,结合律有效:
E32(E21A)=(E32E21)A=EA=U
这意味着问题变成了如何找到一个矩阵
E
使得
EA=U
矩阵
E
就是一堆初等矩阵elementary matrix的积。
引申:我要如何才能由 U 变回 A 呢?由此引入矩阵的逆,即我们知道 EA=U ,那么有矩阵 S 使得 SU=A ,矩阵 S 即为矩阵 E 的逆。
3. 新视角看矩阵乘法
对于矩阵乘法,学校里都教过了,但这里老师的方法略有不同:
从列向量column vector角度
首先我们将矩阵中的三列column看成是三个列向量column vector,矩阵乘法就可以被当做三个列向量分别乘以三个系数的和。
从行向量row vector角度
首先我们将矩阵中的三行row看成是三个行向量row vector,矩阵乘法就可以被当做三个行向量分别乘以三个系数的和。
从行向量和列向量角度观察,我们可以更为直观的理解为什么行运算和列运算可以被写为矩阵乘法的形式
矩阵乘法表示实现行/列互换
当pivot为0时,我们需要对行进行交换,这一个过程也可以用矩阵乘法描述:
Tip:
矩阵乘法适用于结合律不适用交换律