矩阵求逆(第3部分)
-
0:01 - 0:04我下面来讲另一种求3×3矩阵的逆矩阵的方法
-
0:04 - 0:07我更喜欢这种方法,觉得更有趣些
-
0:07 - 0:09而且不那么容易犯错
-
0:09 - 0:11但是,如果我没记错的话
-
0:11 - 0:13《代数2》好像不教这个内容
-
0:13 - 0:15这也是为什么我先讲前面那个方法
-
0:15 - 0:17我们先来过一遍新方法
-
0:17 - 0:20以后的视频里,我会解释这个方法的道理
-
0:20 - 0:22知其所以然是很重要的
-
0:22 - 0:24但在线性代数里,有那么几个知识点
-
0:24 - 0:26最好先掌握怎么操作
-
0:26 - 0:28我认为这是其中之一
-
0:28 - 0:29之后我们再来讲为什么
-
0:29 - 0:32因为,“怎么操作”是个很机械的过程
-
0:32 - 0:34只涉及一些基础的运算
-
0:34 - 0:39而“为什么”则更加深入
-
0:39 - 0:41所以我把它留到以后来讲
-
0:41 - 0:44通常,当你掌握了“怎么操作”时
-
0:44 - 0:47也就有信心进行更深入的思考了
-
0:47 - 0:50言归正传,我们来看原矩阵
-
0:50 - 0:53上段视频里的原矩阵是多少来着?
-
0:53 - 1:04它是1, 0, 1, 0, 2, 1, 1, 1, 1
-
1:04 - 1:07要求它的逆矩阵
-
1:07 - 1:10我们介绍新的求逆方法,名叫:
-
1:10 - 1:14高斯-若当消元法
-
1:14 - 1:18整个过程看起来就像是魔法一样
-
1:18 - 1:20以后的视频里会有更详细的解释
-
1:20 - 1:22我们先来“扩增”(augment)这个矩阵
-
1:22 - 1:24什么叫“扩增”(augment)?
-
1:24 - 1:27就是给它加上些东西(这里就是在原函数右边写上单位矩阵)
-
1:27 - 1:32我习惯画一条分隔线;有些人不画,也是可以的
-
1:32 - 1:38在分隔线的另一边,我写上同样大小的单位矩阵
-
1:38 - 1:41这里是3×3矩阵,所以写上3×3的单位矩阵
-
1:41 - 1:50即1, 0, 0, 0, 1, 0, 0, 0, 1
-
1:52 - 1:55好了,接下来做什么呢?
-
1:55 - 2:00我会进行一系列“基本行运算”(elementary row operation)
-
2:00 - 2:04我呆会儿再教你什么叫做“基本行运算”
-
2:05 - 2:07但是无论我对左边矩阵的做什么操作
-
2:07 - 2:10我都要对右边的相应行做同样的运算
-
2:10 - 2:14我的目标是:对左边矩阵进行一系列的运算
-
2:14 - 2:17当然也对右边矩阵进行同样的操作
-
2:17 - 2:22使得左边的矩阵,最终变成单位矩阵
-
2:22 - 2:24而当左边变成单位矩阵的时候
-
2:24 - 2:29右边的矩阵,就会变成左边原矩阵的逆矩阵
-
2:29 - 2:32当左边变成单位矩阵的时候
-
2:32 - 2:35我们会管它叫“简式行阶梯形”(reduced row echelon form)
-
2:35 - 2:37后面会有专门的视频来讲这个
-
2:37 - 2:39线性代数里有很多术语和定义
-
2:39 - 2:42但它们实际上都是很简单的概念
-
2:42 - 2:44先不扯远了,我们动手计算
-
2:44 - 2:46算完后你们就会更清楚些
-
2:46 - 2:47至少会清楚计算过程
-
2:47 - 2:50虽然可能还无法理解道理何在
-
2:50 - 2:51我说过我们要进行一系列运算
-
2:51 - 2:53所以首先,我们先要弄明白:
-
2:53 - 2:55什么样的运算是合法的?
-
2:55 - 2:56也就是“基本行运算”
-
2:56 - 2:58合法的运算包括下面这些:
-
2:58 - 3:04我可以拿某一行,乘上一个倍数
-
3:04 - 3:05这是可以的
-
3:05 - 3:08我可以交换任意两行的位置
-
3:08 - 3:11当然,如果我在左边交换第一和第二行
-
3:11 - 3:13我也必须在右边做同样的操作
-
3:13 - 3:17我还可以拿某一行加上或减去另一行
-
3:17 - 3:21比如说,我可以拿第三行,加上第二行
-
3:21 - 3:24所以第三行的数字就变成它们的和
-
3:24 - 3:26等下你们就明白这是什么意思了
-
3:26 - 3:28而且,这些运算可以组合起来
-
3:28 - 3:30比如说,拿第二行乘以负1
-
3:30 - 3:33然后把结果加到第三行上
-
3:34 - 3:41你可能觉得这挺像在解线性方程组
-
3:41 - 3:44确实如此,因为矩阵就是一个
-
3:44 - 3:46用来表示方程组的好方法
-
3:46 - 3:48这一点我以后会给你们解释
-
3:48 - 3:52回到主题,我们来做点“基本行运算”
-
3:52 - 3:55把左边这个矩阵转化成“简式行阶梯形”
-
3:55 - 3:59其实也就是说“我们把它化成单位矩阵”
-
4:00 - 4:01我们的目标也就是:
-
4:01 - 4:03得让这一条对角线上全变成1
-
4:03 - 4:05剩下的都变成0
-
4:05 - 4:07我们来看看有没有什么简便的方法
-
4:08 - 4:11我们把新矩阵写在下面
-
4:11 - 4:16第一步,我要把左下角的1化成0
-
4:16 - 4:18看起来很简单
-
4:18 - 4:20前两行不变,照写下来
-
4:20 - 4:211, 0, 1
-
4:22 - 4:23然后是分隔线
-
4:23 - 4:251, 0, 0
-
4:25 - 4:27第二行也不做任何操作
-
4:27 - 4:290, 2, 1
-
4:33 - 4:360, 1, 0
-
4:37 - 4:40我现在的目标,是要拿这一行
-
4:40 - 4:44把它的第一个数字1,变成0写在这里
-
4:44 - 4:48这样一来,我们就朝单位矩阵前进了一步
-
4:48 - 4:50怎么让这里得到0?
-
4:50 - 4:55我可以这么做:拿上面的第三行减去第一行
-
4:56 - 5:00然后把结果写在新的第三行的位置上
-
5:00 - 5:04第三行减去第一行,结果是什么?
-
5:04 - 5:071减去1,得0
-
5:08 - 5:101减去0,得1
-
5:11 - 5:131减去1,得0
-
5:14 - 5:16我在左边做了一次减法
-
5:16 - 5:18也必须在右边做相同的操作
-
5:18 - 5:20也就是拿第三行减去第一行
-
5:20 - 5:23即,0减去1,得负1
-
5:24 - 5:270减去0,得0
-
5:27 - 5:291减去0,得1
-
5:30 - 5:31很好
-
5:31 - 5:33接下来怎么办?
-
5:33 - 5:38现在左边的第三行,两边是0,中间是1
-
5:38 - 5:41很像单位矩阵里的第二行
-
5:42 - 5:44那何不直接交换这两行呢?
-
5:44 - 5:46直接交换第二行和第三行
-
5:46 - 5:47我们把它写下来
-
5:48 - 5:50交换第二行和第三行
-
5:50 - 5:53第一行不变,还是1, 0, 1
-
5:55 - 5:58右边的第一行也是一样
-
5:58 - 6:02现在我们交换第二行和第三行
-
6:02 - 6:05所以第二行变成:0, 1, 0
-
6:05 - 6:07右边也同样交换
-
6:07 - 6:09变成:负1, 0, 1
-
6:09 - 6:12直接交换两行的位置就行了
-
6:13 - 6:16所以第三行现在就变成了前面的第二行
-
6:16 - 6:180, 2, 1
-
6:18 - 6:21这边是0, 1, 0
-
6:22 - 6:23好的
-
6:23 - 6:25接下来又该怎么办?
-
6:25 - 6:27如果第三行的这个2变成0就好了
-
6:27 - 6:30这样一来等于朝单位矩阵前进了一大步
-
6:30 - 6:33我怎么才能把它变成0呢?
-
6:33 - 6:37拿第三行减去2倍的第二行怎么样?
-
6:37 - 6:402倍的第二行,中间的数就是2
-
6:41 - 6:45从第三行中减去它,中间就得0
-
6:45 - 6:46就这么办
-
6:48 - 6:51第一行,很幸运地,一直不用动
-
6:51 - 6:53我们照写下来
-
6:53 - 6:581, 0, 1, 1, 0, 0
-
6:59 - 7:02第二行这回也不需要变
-
7:02 - 7:05右边是:负1, 0, 1
-
7:06 - 7:07我刚才说要怎么做来着?
-
7:07 - 7:12我要从第三行里减去“2倍的第二行”
-
7:13 - 7:18就是:0,减去“2乘以0”,得0
-
7:19 - 7:242,减去“2乘以1”,就是0
-
7:24 - 7:291,减去“2乘以0”,得1
-
7:29 - 7:440,减去“2乘以负1”,就是0减去负2,得正2
-
7:45 - 7:501,减去“2乘以0”,还是等于1
-
7:50 - 7:560,减去“2乘以1”,得到负2
-
7:57 - 7:58我都算对了吗?
-
7:58 - 7:59我来检查下
-
7:59 - 8:050减去“2乘以负1”,“2乘以负1”等于负2
-
8:05 - 8:070减去负2,所以是正2
-
8:07 - 8:08好的,快完成了
-
8:08 - 8:10左边看起来已经很像单位矩阵了
-
8:10 - 8:12或者说“简式行阶梯形”
-
8:12 - 8:14唯一不同的是右上角的1
-
8:14 - 8:16所以我们终于要对第一行下手了
-
8:17 - 8:18我应该怎么做?
-
8:19 - 8:24我从第一行里减去第三行怎么样?
-
8:24 - 8:26因为右上角的1减去右下角的1,就得0
-
8:26 - 8:28我们把它写下来
-
8:28 - 8:31从第一行里减去第三行
-
8:32 - 8:351减去0,得1
-
8:36 - 8:380减去0,得0
-
8:39 - 8:411减去1,得0
-
8:41 - 8:43这就是我们想要的
-
8:44 - 8:48然后是:1减去2,得负1
-
8:48 - 8:530减去1,得负1
-
8:54 - 8:580减去负2,就得到正2
-
8:59 - 9:02其余的两行不变
-
9:02 - 9:070, 1, 0, 负1, 0, 1
-
9:08 - 9:15下面是:0, 0, 1, 2, 1, 负2
-
9:16 - 9:17大功告成
-
9:17 - 9:20我们对左边的矩阵做了一系列运算
-
9:20 - 9:23也对右边的矩阵进行同样的操作
-
9:23 - 9:27左边的变成了单位矩阵,或者叫“简式行阶梯形”
-
9:27 - 9:30所用的方法叫“高斯-若当消元法”
-
9:30 - 9:32那么右边的这是什么?
-
9:32 - 9:35它就是左边原矩阵的逆矩阵
-
9:37 - 9:39原矩阵和它相乘,就等于单元矩阵
-
9:39 - 9:43如果原矩阵叫A的话
-
9:44 - 9:46那么这个就是“A逆”
-
9:47 - 9:48就这么简单
-
9:48 - 9:51你们可以看到,这只花了我上次所用时间的一半
-
9:51 - 9:53而且计算更容易
-
9:53 - 9:57不用求伴随矩阵、余因子、行列式什么的
-
9:58 - 10:01为了帮助你们理解,我稍微讲讲这个方法的原理
-
10:01 - 10:07我对左边这个矩阵所做的每一步操作
-
10:07 - 10:10都可以视为是对它做了一次矩阵乘法
-
10:10 - 10:13比如,要从原矩阵,到下面这个矩阵
-
10:13 - 10:15就好像说,存在某个矩阵
-
10:15 - 10:18乘以它的效果,就等于做了这第一步的操作
-
10:18 - 10:22而第二步操作,相当于乘上了另一个矩阵
-
10:22 - 10:24所以实质上,我们相当于拿原矩阵
-
10:24 - 10:28乘上一系列的矩阵,最终得到单位矩阵
-
10:28 - 10:31这一系列矩阵,叫做“消元矩阵”(elinimation matrix)
-
10:31 - 10:34我们把它们相乘,就得到原矩阵的逆矩阵
-
10:34 - 10:36这是什么意思呢?
-
10:36 - 10:39比如,我们有原矩阵A
-
10:41 - 10:47从A到下面这个矩阵,相当于乘上了一个消元矩阵
-
10:47 - 10:51要是你们觉得一头雾水,可以完全忽略
-
10:51 - 10:53但它也可能会有所启发
-
10:53 - 10:58因为第一步操作消去了元素(3, 1)(第三行第一列)
-
10:58 - 11:03所以我们管这一步对应的消元矩阵叫做E(3,1)
-
11:04 - 11:07而第二步操作,相当于乘上另一个矩阵
-
11:07 - 11:09以后的视频里,会有更详细的解释
-
11:09 - 11:12我会教你们如何构造这些消元矩阵
-
11:12 - 11:16这里的第二步操作,是两行元素交换位置
-
11:16 - 11:20我们姑且管它对应的矩阵,叫做“交换矩阵”S
-
11:20 - 11:25乘上它,效果是交换第二行和第三行,所以写成S(2, 3)
-
11:25 - 11:28第三步也相当于一次乘法
-
11:28 - 11:32我们消去了什么?消去了第三行第二列
-
11:33 - 11:36所以其对应的消元矩阵叫做E(3, 2)
-
11:37 - 11:40最后一步,也相当于乘上了一个消元矩阵
-
11:40 - 11:44消去了右上角的元素,也就是第一行第三列
-
11:44 - 11:47所以它叫做E(1, 3)
-
11:47 - 11:51你们现在不用搞清楚这些矩阵长什么样
-
11:51 - 11:54后面我会教你们如何去构建它们
-
11:54 - 11:56我现在只是想让你们提前确信:
-
11:56 - 12:01这里的每一步操作,都可以通过“乘上一个矩阵”来完成
-
12:01 - 12:04而我们知道,乘上这些矩阵之后
-
12:04 - 12:07原矩阵A就变成了单位矩阵I
-
12:07 - 12:08也就是这里
-
12:08 - 12:11所以这几个矩阵的乘积
-
12:11 - 12:13如果我们把它们相乘的话
-
12:13 - 12:15肯定就等于A的逆矩阵
-
12:16 - 12:22这些消元、交换矩阵乘起来,肯定等于A的逆矩阵
-
12:23 - 12:26因为拿它们乘上A,结果等于单位矩阵
-
12:27 - 12:29那么,这会给我们什么结论呢?
-
12:29 - 12:33如果这些矩阵相乘等于逆矩阵
-
12:33 - 12:37那么拿单位矩阵乘上它们
-
12:37 - 12:41也就是:第一步乘以E(3, 1)
-
12:41 - 12:43第二步乘以S(2, 3)
-
12:43 - 12:45第三步乘以E(3, 2)
-
12:45 - 12:46如此往复
-
12:46 - 12:48当你把这些步骤合在一起
-
12:48 - 12:53实际上就相当于拿逆矩阵乘以单位矩阵,明白吗?
-
12:53 - 12:55我不希望把你弄糊涂
-
12:55 - 12:58你明白我所说的当然好,不明白也没关系
-
12:58 - 13:01但是,如果你着眼于大效果的话
-
13:01 - 13:04这些步骤的效果,实际上相当于:
-
13:04 - 13:10把这个扩增矩阵的左右两边都乘上逆矩阵
-
13:11 - 13:14左边的乘上逆矩阵,得到单位矩阵
-
13:14 - 13:19而右边,单位矩阵乘上逆矩阵,当然就得到逆矩阵
-
13:19 - 13:22话说回来,我不想把你弄糊涂
-
13:22 - 13:24只是希望能给你一点点解释
-
13:24 - 13:26以后我会用更具体的例子来解释它的原理
-
13:26 - 13:28目前你只要知道有这么个简便的方法
-
13:28 - 13:33不用去算伴随、余因子、子式矩阵、行列式之类的
-
13:33 - 13:35好的,那我们下段视频再见
![]() |
brucheium edited Chinese, Simplified subtitles for Inverting Matrices (part 3) | |
![]() |
brucheium edited Chinese, Simplified subtitles for Inverting Matrices (part 3) | |
![]() |
brucheium edited Chinese, Simplified subtitles for Inverting Matrices (part 3) | |
![]() |
brucheium edited Chinese, Simplified subtitles for Inverting Matrices (part 3) | |
![]() |
brucheium added a translation |