Linear Algebra-Lecture02 矩阵消元
本节目标
\qquad
几乎所有软件求解线性方程组都是使用的也是消元法。本节将学会用矩阵语言描述消元法,因为对于整个课程而言,核心概念是“矩阵变换”。
第一部分: 消元法
\qquad
例1,求解方程组
{
x
+
2
y
+
z
=
2
(
1
)
3
x
+
8
y
+
z
=
12
(
2
)
4
y
+
z
=
2
(
3
)
\left \{ \begin{matrix} x+2y+z=2 & \qquad (1)\\ 3x+8y+z=12& \qquad (2)\\ 4y+z=2& \qquad (3) \end{matrix}\right .\qquad\qquad
⎩⎨⎧x+2y+z=23x+8y+z=124y+z=2(1)(2)(3)
\qquad 写成矩阵形式: A x = b \bold{Ax}=\bold{b} Ax=b,其中 A = [ 1 2 1 3 8 1 0 4 1 ] r 1 r 2 r 3 \bold{A}=\left [ \begin{matrix} 1&2&1\\ 3&8&1\\ 0&4&1 \end{matrix}\right ] \left . \begin{matrix} \qquad r1\\\qquad r2\\\qquad r3 \end{matrix}\right . A=⎣⎡130284111⎦⎤r1r2r3
[
1
2
1
3
8
1
0
4
1
]
\left[ \begin{matrix} \boxed{1}&2&1\\ 3&8&1\\ 0&4&1 \end{matrix}\right ]
⎣⎡130284111⎦⎤
第一步,将
a
11
=
1
a_{11}=1
a11=1 确定为主元一(first pivot),与
x
x
x对应,第r1行不变。确定消元系数使得主元行
a
11
a_{11}
a11下方的系数都变为0 。这里r2-3r1,r3-0r1得:
[
1
2
1
0
2
−
2
0
4
1
]
\left[ \begin{matrix} 1&2&1\\ 0&\boxed{2}&-2\\ 0&4&1 \end{matrix}\right ]
⎣⎡1002241−21⎦⎤
第二步,将 a 22 = 2 a_{22}=2 a22=2 确定为主元二(second pivot),与 y y y对应,第r2行不变。确定消元系数使得主元行 a 22 a_{22} a22下方的系数都变为0,即使用主元二消掉 a 32 a_{32} a32 。这里r3-2*r2即可,得:
[
1
2
1
0
2
−
2
0
0
5
]
=
U
\left[ \begin{matrix} 1&2&1\\ 0&2&-2\\ 0&0&\boxed{5} \end{matrix}\right ]=\bold{U}
⎣⎡1002201−25⎦⎤=U
将行阶梯矩阵矩阵命名为
U
\bold{U}
U ,因此消元的目的就是从
A
\bold{A}
A 变到
U
\bold{U}
U ,这是计算科学中最普遍的运算 ,注意,消元过程中主元不能为0 。顺便,行列式等于主元之积。
消元失效的情形:
1.
\quad
0占据了主元位置,比如
a
11
=
0
a_{11}=0
a11=0 ,解决方式:进行行交换。
2.
\quad
若主元个数小于行阶梯矩阵行数,则方程无解。
第三步,回代
将等号右边的常数列加入到矩阵
A
\bold{A}
A 中,得到增广矩阵,将最后一列(b列)同样进行上述操作。
[
1
2
1
2
3
8
1
12
0
4
1
2
]
→
[
1
2
1
2
0
2
−
2
6
0
4
1
2
]
→
[
1
2
1
2
0
2
−
2
6
0
0
5
−
10
]
\left [ \begin{matrix} 1&2&1&2\\ 3&8&1&12\\ 0&4&1&2 \end{matrix}\right ]\rightarrow \left [ \begin{matrix} 1&2&1&2\\ 0&2&-2&6\\ 0&4&1&2 \end{matrix}\right ] \rightarrow \left [ \begin{matrix} 1&2&1&2\\ 0&2&-2&6\\ 0&0&5&-10 \end{matrix}\right ]
⎣⎡1302841112122⎦⎤→⎣⎡1002241−21262⎦⎤→⎣⎡1002201−2526−10⎦⎤
将增广矩阵最后一列命名为c,即
c
=
(
2
6
−
10
)
\bold{c}=\left ( \begin{matrix} 2\\6\\-10 \end{matrix}\right )
c=⎝⎛26−10⎠⎞
(这里先处理A再处理增广矩阵,主要是保持和Matlab的习惯一致)
至此,方程组变为:
{
x
+
2
y
+
z
=
2
2
y
−
2
z
=
6
5
z
=
−
10
(
4
)
\left \{ \begin{matrix} x+2y+z=2 & \\ 2y-2z=6& \\ 5z=-10& \end{matrix}\right .\qquad\qquad(4)
⎩⎨⎧x+2y+z=22y−2z=65z=−10(4)
由方程(4)易得方程的解为
{
x
=
2
y
=
1
z
=
−
2
\left \{ \begin{matrix} x=2 \\y=1\\z=-2\end{matrix}\right .\qquad\qquad
⎩⎨⎧x=2y=1z=−2
方程
A
x
=
b
\bold{Ax}=\bold{b}
Ax=b等价于
U
x
=
c
\bold{Ux}=\bold{c}
Ux=c
第二部分: 消元过程的矩阵表示
用矩阵表示r2-3r1:
[
1
0
0
−
3
1
0
0
0
1
]
[
1
2
1
3
8
1
0
4
1
]
=
[
1
2
1
0
2
−
2
0
4
1
]
\left[ \begin{matrix} 1&0&0\\ -3&1&0\\ 0&0&1 \end{matrix}\right ] \left[ \begin{matrix} 1&2&1\\ 3&8&1\\ 0&4&1 \end{matrix}\right ]= \left[ \begin{matrix} 1&2&1\\ 0&2&-2\\ 0&4&1 \end{matrix}\right ]
⎣⎡1−30010001⎦⎤⎣⎡130284111⎦⎤=⎣⎡1002241−21⎦⎤
将最左边矩阵记作
E
21
=
[
1
0
0
−
3
1
0
0
0
1
]
\bold{E_{21}}=\left[ \begin{matrix} 1&0&0\\ -3&1&0\\ 0&0&1 \end{matrix}\right ]
E21=⎣⎡1−30010001⎦⎤ ,表示
a
21
a_{21}
a21位置上的变换。同理,r3-2r2可以表示为
[
1
0
0
0
1
0
0
−
2
1
]
[
1
2
1
0
2
−
2
0
4
1
]
=
[
1
2
1
0
2
−
2
0
0
5
]
\left[ \begin{matrix} 1&0&0\\ 0&1&0\\ 0&-2&1 \end{matrix}\right ] \left[ \begin{matrix} 1&2&1\\ 0&2&-2\\ 0&4&1 \end{matrix}\right ]= \left[ \begin{matrix} 1&2&1\\ 0&2&-2\\ 0&0&5 \end{matrix}\right ]
⎣⎡10001−2001⎦⎤⎣⎡1002241−21⎦⎤=⎣⎡1002201−25⎦⎤
将最左边矩阵记作
E
32
=
[
1
0
0
0
1
0
0
−
2
1
]
\bold{E_{32}}=\left[ \begin{matrix} 1&0&0\\ 0&1&0\\ 0&-2&1 \end{matrix}\right ]
E32=⎣⎡10001−2001⎦⎤ ,表示
a
21
a_{21}
a21位置上的变换。
消元的完整过程用矩阵表示如下:
E
32
(
E
21
A
)
=
U
(
5
)
\bold{E_{32} (E_{21} A)}=\bold{U}\qquad (5)
E32(E21A)=U(5)
矩阵乘法具有结合律(此处不作证明,注意没哟交换律),因此(5)式也可写成
(
E
32
E
21
)
A
=
U
(
6
)
\bold{(E_{32} E_{21}) A}=\bold{U}\qquad (6)
(E32E21)A=U(6)
(补充)置换矩阵(permutation):
交换行
[
0
1
1
0
]
[
a
b
c
d
]
=
[
c
d
a
b
]
\left[ \begin{matrix} 0&1\\ 1&0\\ \end{matrix}\right ] \left[ \begin{matrix} a&b\\ c&d\\ \end{matrix}\right ]= \left[ \begin{matrix} c&d\\ a&b\\ \end{matrix}\right ]
[0110][acbd]=[cadb]
最左边的矩阵为置换矩阵,记为
P
=
[
0
1
1
0
]
\bold{P}=\left[ \begin{matrix} 0&1\\ 1&0\\ \end{matrix}\right ]
P=[0110]
不难发现,对单位矩阵进行行变换就能得到置换矩阵。
交换列:
[
a
b
c
d
]
[
0
1
1
0
]
=
[
b
a
d
c
]
\left[ \begin{matrix} a&b\\ c&d\\ \end{matrix}\right ] \left[ \begin{matrix} 0&1\\ 1&0\\ \end{matrix}\right ]= \left[ \begin{matrix} b&a\\ d&c\\ \end{matrix}\right ]
[acbd][0110]=[bdac]
左乘置换矩阵,进行行变换,右乘置换矩阵,交换列。行变换左乘,列变换右乘
第三部分: 逆矩阵
逆变换(
U
→
A
\bold{U}\rightarrow \bold{A}
U→A)
[
1
0
0
3
1
0
0
0
1
]
[
1
0
0
−
3
1
0
0
0
1
]
=
[
1
0
0
0
1
0
0
0
1
]
\left[ \begin{matrix} 1&0&0\\ 3&1&0\\ 0&0&1 \end{matrix}\right ] \left[ \begin{matrix} 1&0&0\\ -3&1&0\\ 0&0&1 \end{matrix}\right ]= \left[ \begin{matrix} 1&0&0\\ 0&1&0\\ 0&0&1 \end{matrix}\right ]
⎣⎡130010001⎦⎤⎣⎡1−30010001⎦⎤=⎣⎡100010001⎦⎤
E
=
[
1
0
0
−
3
1
0
0
0
1
]
\bold{E}=\left[ \begin{matrix} 1&0&0\\ -3&1&0\\ 0&0&1\\ \end{matrix}\right ]
E=⎣⎡1−30010001⎦⎤ 则记
E
−
1
=
[
1
0
0
3
1
0
0
0
1
]
\bold{E^{-1}}=\left[ \begin{matrix} 1&0&0\\ 3&1&0\\ 0&0&1\\ \end{matrix}\right ]
E−1=⎣⎡130010001⎦⎤ ,
I
=
[
1
0
0
0
1
0
0
0
1
]
\bold{I}=\left[ \begin{matrix} 1&0&0\\ 0&1&0\\ 0&0&1\\ \end{matrix}\right ]
I=⎣⎡100010001⎦⎤
E
−
1
E
=
I
(
7
)
\bold{E^{-1}}\bold{E}=\bold{I} \qquad (7)
E−1E=I(7)
===================================================
课程资源
- 主课:bilibli、网易公开课都可以搜到,关键字(麻省理工,线性代数)
- 配套习题课:bilibli可以搜到,关键字(麻省理工,线性代数,陈莉楠)
- 教材:Gilbert Strang.Introduction to Linear Algebra
- 课程官网:http://web.mit.edu/18.06
\qquad\qquad https://mitmath.github.io/1806/