作者 | 梁唐
出品 | 公众号:Coder梁(ID:Coder_LT)
大家好,日拱一卒,我是梁唐。
这几天一直在成都办事,每天回来都倒头就睡,实在是没有时间,所以耽误了几天更新。之后会逐渐回到正轨~
这篇是我在机场肝的……看在这么刻苦的份上,忘了之前的鸽吧……
我们继续麻省理工的线性代数公开课,编号18.06。这一节课的内容关于线性代数当中的矩阵乘法和逆矩阵,全程高能,希望大家能耐心看完。
矩阵乘法
当矩阵
的列数(m x n)和矩阵
(n x p)的行数相等时,我们可以计算两个矩阵的乘积
,得到的结果
的大小是m x p。
关于矩阵乘法,我们有若干种理解的方式。我们一一来介绍,首先是最基础也是国内线性代数课本上提到的一种:行列向量相乘法:
行列向量相乘
对于矩阵
中的元素
而言,它是
矩阵中第
行与
矩阵中第
列的乘积。即:
写成矩阵形式就是:
列向量组合
在上一节课当中,我们介绍了列向量组合的思想。当一个矩阵右乘一个列向量时,可以将得到的结果看成是矩阵的线性组合:
现在两个矩阵相乘可以看成是若干个列向量线性组合的组合。
在上面这个例子当中,
矩阵中的第
列和
矩阵相乘,构成了结果矩阵中的第
列。由于
矩阵一个有
列,所以相乘之后的矩阵
也是
列。
行向量组合
同样,在上节课中,我们也介绍了行向量组合的思想。某个矩阵左乘一个行向量,可以看成是该矩阵所有行向量的线性组合。
进行发散之后,可以将两个矩阵相乘看成是
矩阵中行向量线性组合的组合。
在这个例子当中,我们把
矩阵表示成
个行向量的组合。它和
矩阵的第
行相乘,构成了
矩阵中的第
行。由于
矩阵一共有
行,所以
矩阵一共有
行。
行列相乘
矩阵的第
行与
矩阵的第
列相乘,一样能得到一个
的矩阵。
我们可以把
看成是两矩阵中所有行列组合乘积的加和:
以上结果中的每一项都是一个
的矩阵,相加之后的结果仍然是
。
分块乘法
在某些情况下,我们可以把矩阵看成是若干个分块,在一些情况下可以简化我们的运算:
逆矩阵
在本节课当中,我们仅仅关注方阵的情况。
首先,并不是所有方阵都有逆矩阵。如果一个方阵
的逆矩阵存在,记作
。可以得到:
。在课上老师告诉我们,对于方阵它的左逆矩阵和右逆矩阵是一样的,即
。但对于非方阵这不成立。
对于逆矩阵存在的矩阵,我们称其为可逆矩阵或者是非奇异矩阵。
我们先来看看奇异矩阵,老师举了一个例子:
如果学过行列式的定义,可以知道这个矩阵的行列式等于0。另外,我们可以利用列向量组合的思路来理解。矩阵
乘上另外一个矩阵,得到的结果是列向量
和
,这两个向量存在倍数关系,无论它们如何线性组合,得到的结果都在一条直线上。没办法得到
或
。
另外一种判断方式是,如果能够找到非零向量
,使得
,那么矩阵
是奇异矩阵。
比如:在上面这个例子当中。
证明也很简单,我们可以使用反证法。假设矩阵
有逆矩阵
,那么根据
,可以得到
,即
。这和题目中的假设
是非0向量矛盾。
接下来我们看看如何计算逆矩阵,首先,我们可以使用方程的思路,写出逆矩阵中的各个参数,通过方程组的方式进行求解:
除此之外,我们还可以使用另外一种方法——高斯-若尔当(Gauss-Jordan)方法:
首先,我们列出方程组:
我们构造出一个类似增广矩阵的矩阵:
我们利用消元法将它左侧转化成单位矩阵:
这样我们就从矩阵
变成了
。
我们可以把矩阵
变成
的过程看成是乘上了矩阵
,
。方法右侧拼接的矩阵
只是为了记录消元的每一步操作,通过这种方法我们不用解方程也可以得到逆矩阵,非常方便。
喜欢本文的话不要忘记三连~