< Return to Video

Inverting Matrices (part 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:21
    1, 0, 1
  • 4:22 - 4:23
    然後是分開線
  • 4:23 - 4:25
    1, 0, 0
  • 4:25 - 4:27
    第二行也不做任何操作
  • 4:27 - 4:29
    0, 2, 1
  • 4:33 - 4:36
    0, 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:07
    1減去1,得0
  • 5:08 - 5:10
    1減去0,得1
  • 5:11 - 5:13
    1減去1,得0
  • 5:14 - 5:16
    我在左邊做了一次減法
  • 5:16 - 5:18
    也必須在右邊做相同的操作
  • 5:18 - 5:20
    也就是拿第三行減去第一行
  • 5:20 - 5:23
    即,0減去1,得負1
  • 5:24 - 5:27
    0減去0,得0
  • 5:27 - 5:29
    1減去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:18
    0, 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:40
    2倍的第二行,中間的數就是2
  • 6:41 - 6:45
    從第三行中減去它,中間就得0
  • 6:45 - 6:46
    就這麽辦
  • 6:48 - 6:51
    第一行,很幸運地,一直不用動
  • 6:51 - 6:53
    我們照寫下來
  • 6:53 - 6:58
    1, 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:24
    2,減去“2乘以1”,就是0
  • 7:24 - 7:29
    1,減去“2乘以0”,得1
  • 7:29 - 7:44
    0,減去“2乘以負1”,就是0減去負2,得正2
  • 7:45 - 7:50
    1,減去“2乘以0”,還是等於1
  • 7:50 - 7:56
    0,減去“2乘以1”,得到負2
  • 7:57 - 7:58
    我都算對了嗎?
  • 7:58 - 7:59
    我來檢查下
  • 7:59 - 8:05
    0減去“2乘以負1”,“2乘以負1”等於負2
  • 8:05 - 8:07
    0減去負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:35
    1減去0,得1
  • 8:36 - 8:38
    0減去0,得0
  • 8:39 - 8:41
    1減去1,得0
  • 8:41 - 8:43
    這就是我們想要的
  • 8:44 - 8:48
    然後是:1減去2,得負1
  • 8:48 - 8:53
    0減去1,得負1
  • 8:54 - 8:58
    0減去負2,就得到正2
  • 8:59 - 9:02
    其余的兩行不變
  • 9:02 - 9:07
    0, 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
    好的,那我們下段影片再見
Title:
Inverting Matrices (part 3)
Description:

使用“高斯-若当消元法”来求一个3×3矩阵的逆矩阵

more » « less
Video Language:
English
Duration:
13:36
David Chiu added a translation

Chinese, Traditional subtitles

Revisions