消元矩阵执行消元步骤用到的矩阵。从第
i
i
i 个方程减去
l
i
j
l_{ij}
lij 乘第
j
j
j 个方程(将
x
j
x_j
xj 从第
i
i
i 行中消去)。我们需要很多个简单的矩阵
E
i
j
E_{ij}
Eij,每一个对应一个主对角线下方要消除的非零数字。
后面我们会把所有的
E
i
j
E_{ij}
Eij 结合成一个矩阵
E
E
E,一次性完成消元。最简洁的方法是将所有的逆矩阵
(
E
i
j
)
−
1
(E_{ij})^{-1}
(Eij)−1 结合成一个整体的矩阵
L
=
E
−
1
L=E^{-1}
L=E−1。本节的内容:
L L L 的特殊性质是其所有的乘数 l i j l_{ij} lij 都是有序的,这些乘数在 E E E 中是混乱的(从 A A A 到 U U U 的前向消元),在 L L L 中(撤销消元,从 U U U 返回到 A A A)会变得有序。反向可以让这些步骤与矩阵 ( E i j ) − 1 (E_{ij})^{-1} (Eij)−1 落在反向序列中,防止混乱。
上节的例题
3
×
3
3\times3
3×3 的方程组可以简写乘矩阵的形式
A
x
=
b
A\boldsymbol x=\boldsymbol b
Ax=b:
2
x
1
+
4
x
2
−
2
x
3
=
2
4
x
1
+
9
x
2
−
3
x
3
=
8
−
2
x
1
−
3
x
2
+
7
x
3
=
10
等价于
[
2
4
−
2
4
9
−
3
−
2
−
3
7
]
[
x
1
x
2
x
3
]
=
[
2
8
10
]
(
2.3.1
)
A
A
A 乘
x
\boldsymbol x
x 复习:矩阵乘向量得到向量。当方程的数目和未知数的数目相等时,矩阵为方阵。方阵通常表示为
n
×
n
n\times n
n×n。向量
x
\boldsymbol x
x 在
n
n
n 维空间。
未知数是
x
=
[
x
1
x
2
x
3
]
解是
x
=
[
−
1
2
2
]
未知数是\kern 5pt\boldsymbol x=
∑
\sum
∑ 表示累加,从
j
=
1
j=1
j=1 开始到
j
=
n
j=n
j=n 结束,从
a
i
1
x
1
a_{i1}x_1
ai1x1 开始一直累加到
a
i
n
x
n
a_{in}x_n
ainxn,得到点积
(
row
i
)
⋅
x
(\textrm{row}\,\,i)\cdot\boldsymbol x
(rowi)⋅x 。
矩阵表示法:第 1 行第 1 列的元素(左上角)是
a
11
a_{11}
a11,第 1 行第 3 列的元素是
a
13
a_{13}
a13,第 3 行第 1 列的元素是
a
31
a_{31}
a31(行数在前,列数在后)。一般规则:
a
i
j
=
A
(
i
,
j
)
a_{ij}=A(i,j)
aij=A(i,j),位置在第
i
i
i 行
j
j
j 列。
【例1】矩阵有
a
i
j
=
2
i
+
j
a_{ij}=2i+j
aij=2i+j,则
a
11
=
3
,
a
12
=
4
,
a
21
=
5
a_{11}=3,a_{12}=4,a_{21}=5
a11=3,a12=4,a21=5。下面是由行得到
A
x
A\boldsymbol x
Ax,分别用数字和字母表示:
[
3
4
5
6
]
[
2
1
]
=
[
3
⋅
2
+
4
⋅
1
5
⋅
2
+
6
⋅
1
]
[
a
11
a
12
a
21
a
22
]
[
x
1
x
2
]
=
[
a
11
x
1
+
a
12
x
2
a
21
x
1
+
a
22
x
2
]
方程
A
x
=
b
A\boldsymbol x=\boldsymbol b
Ax=b,从第二个式子中减去
2
2
2 乘第一个式子,在右侧,
b
\boldsymbol b
b 的第二个分量减去
2
2
2 乘第一个分量:
第一步
b
=
[
2
8
10
]
变为
b
new
=
[
2
4
10
]
第一步\kern 10pt\boldsymbol b=
消元矩阵
E
E
E 是将单位矩阵
I
I
I 其中的一个
0
0
0 变为乘数
−
l
-l
−l。
单位矩阵对角线上的元素都是 1 1 1,其余的元素全为 0 0 0。对于任意的 b \boldsymbol b b 都有 I b = b I\boldsymbol b=\boldsymbol b Ib=b。消元矩阵 E i j E_{ij} Eij 在 i , j i,j i,j 位置处多了一个非零元素 − l -l −l,被 E i j E_{ij} Eij 乘会使得第 i i i 行减去 l l l 乘第 j j j 行。
【例2】矩阵
E
31
E_{31}
E31 的位置
3
,
1
3,1
3,1 是
−
l
-l
−l:
单位矩阵
I
=
[
1
0
0
0
1
0
0
0
1
]
消元矩阵
E
31
=
[
1
0
0
0
1
0
−
l
0
1
]
单位矩阵\kern 10ptI=
进行消元时,从矩阵
A
A
A 开始,需要使用多个
E
E
E 使得主元下方位置都产生
0
0
0,第一个
E
E
E 是
E
21
E_{21}
E21,最终得到三角形
U
U
U。
消元过程中,向量
x
\boldsymbol x
x 不会变化,解
x
\boldsymbol x
x 也不会因消元而改变。只有系数矩阵会改变。若
A
x
=
b
A\boldsymbol x=\boldsymbol b
Ax=b,则
E
A
x
=
E
b
EA\boldsymbol x=E\boldsymbol b
EAx=Eb,新矩阵
E
A
EA
EA 是
E
E
E 乘
A
A
A 的结果。
两个矩阵如何相乘?若第一个矩阵是
E
E
E,目标是
E
A
EA
EA,
E
E
E 会使得
A
A
A 的行
2
2
2 减去
2
2
2 乘行
1
1
1,乘数是
2
2
2:
E
A
=
[
1
0
0
−
2
1
0
0
0
1
]
[
2
4
−
2
4
9
−
3
−
2
−
3
7
]
=
[
2
4
−
2
0
1
1
−
2
−
3
7
]
(
得到一个零
)
(
2.3.3
)
EA=
E
A
x
EA\boldsymbol x
EAx 虽然简单,确含有一个巧妙的思想。从
A
x
=
b
A\boldsymbol x=\boldsymbol b
Ax=b 开始,两边同时用
E
E
E 乘得到
E
(
A
x
)
=
E
b
E(A\boldsymbol x)=E\boldsymbol b
E(Ax)=Eb。使用矩阵乘法,也是
(
E
A
)
x
=
E
b
(EA)\boldsymbol x=E\boldsymbol b
(EA)x=Eb。
第一个是 E E E 乘 A x A\boldsymbol x Ax,第二个是 E A EA EA 乘 x \boldsymbol x x,它们是相同的。
括号不需要了,可直接写成
E
A
x
EA\boldsymbol x
EAx。
这个规律可以扩展至有多个列向量的矩阵
C
C
C,计算
E
A
C
EAC
EAC 可以先算
A
C
AC
AC,也可以先算
E
A
EA
EA,这个规律就是结合律。
注意通常情况下
E
A
EA
EA 不等于
A
E
AE
AE。当
E
E
E 乘在右侧时,它作用于
A
A
A 的列而不是行。
A
E
AE
AE 会使得
A
A
A 的列
1
1
1 减去
2
2
2 乘列
2
2
2
结合律正确
A
(
B
C
)
=
(
A
B
)
C
交换律错误
通常
A
B
≠
B
A
结合律正确\kern 10ptA(BC)=(AB)C\\交换律错误\kern 10pt通常AB\neq BA\kern 12pt
结合律正确A(BC)=(AB)C交换律错误通常AB=BA矩阵乘法还有另外一个要求,假设
B
B
B 只有一列(列
b
\boldsymbol b
b),矩阵 - 矩阵相乘
E
B
EB
EB 应和矩阵 - 向量相乘的法则一致。甚至矩阵乘法
E
B
EB
EB 可以一次乘一列:
如果
B
B
B 有多个列
b
1
,
b
2
,
b
3
b_1,b_2,b_3
b1,b2,b3,则
E
B
EB
EB 的列为
E
b
1
,
E
b
2
,
E
b
3
Eb_1,Eb_2,Eb_3
Eb1,Eb2,Eb3。
矩阵乘法
E
B
=
E
[
b
1
,
b
2
,
b
3
]
=
[
E
b
1
,
E
b
2
,
E
b
3
]
(
2.3.4
)
矩阵乘法\kern 10ptEB=E[b_1,b_2,b_3]=[Eb_1,Eb_2,Eb_3]\kern 15pt(2.3.4)
矩阵乘法EB=E[b1,b2,b3]=[Eb1,Eb2,Eb3](2.3.4)对于式(2.3.3),也可以使用这项性质。
E
E
E 乘
A
A
A 的列
3
3
3,也可以得到正确的
E
A
EA
EA 的列
3
3
3:
[
1
0
0
−
2
1
0
0
0
1
]
[
−
2
−
3
7
]
=
[
−
2
1
7
]
E
(
A
的列
j
)
=
E
A
的列
j
从行
i
i
i 减去行
j
j
j 使用
E
i
j
E_{ij}
Eij,交换或置换这些行使用另外一种矩阵
P
i
j
P_{ij}
Pij(置换矩阵)。如果主元位置出现零时,那么就需要行交换,往下方看,主元这一列可能存在非零数字,交换这两行就有主元了,消元也可以继续进行。
置换矩阵
P
23
P_{23}
P23 可以交换行
2
2
2 与行
3
3
3,将单位矩阵的行
2
2
2 与行
3
3
3 交换,就可得到
P
23
:
P_{23}:
P23:
置换矩阵
P
23
=
[
1
0
0
0
0
1
0
1
0
]
置换矩阵\kern 10ptP_{23}=
置换矩阵可以交换行的顺序。例如行
1
,
2
,
3
1,2,3
1,2,3 可以变为行
3
,
1
,
2
3,1,2
3,1,2。
行交换矩阵: 单位矩阵的行 i i i 与 j j j 交换顺序可以得到 P i j P_{ij} Pij。当置换矩阵 P i j P_{ij} Pij 乘一个矩阵时,则该矩阵交换行 i i i 与行 j j j。
交换方程
1
与方程
3
,左边乘上
P
13
=
[
1
0
0
0
1
0
0
0
1
]
交换方程\,1\,与方程\,3,左边乘上 P_{13}=
下面是一个矩形矩阵也是来源于原始方程,但是包括了右侧的
b
\boldsymbol b
b。
关键点:消元法对于
A
A
A 与
b
\boldsymbol b
b 有相同的行操作,我们可以将
b
\boldsymbol b
b 当做一个额外的列,一起进行消元。额外列
b
\boldsymbol b
b 加入后,矩阵
A
A
A 就变大了,称为增广(augmented)矩阵:
增广矩阵
[
A
b
]
=
[
2
4
−
2
2
4
9
−
3
8
−
2
−
3
7
10
]
\pmb{增广矩阵}\kern 5pt[A\kern 6pt\boldsymbol b]=
方程右侧的引入形成了增广矩阵,最后结果是一个方程的三角形系统。
【例3】什么样的
3
×
3
3\times3
3×3 矩阵
E
21
E_{21}
E21 使得矩阵
A
A
A 的行
2
2
2 减去
4
4
4 乘行
1
1
1?什么样的矩阵
P
32
P_{32}
P32 交换矩阵
A
A
A 的行
2
2
2 与行
3
3
3?如果对矩阵
A
A
A 右乘而不是左乘,描述
A
E
21
AE_{21}
AE21 与
A
P
32
AP_{32}
AP32 的结果?
解: 对单位矩阵
I
I
I 执行一些运算,可得
E
21
=
[
1
0
0
−
4
1
0
0
0
1
]
,
P
32
=
[
1
0
0
0
0
1
0
1
0
]
E_{21}=
【例4】写出下面方程组的增广矩阵
[
A
b
]
解:
E
21
E_{21}
E21 使列
1
1
1 的
4
4
4 变为
0
0
0,但是
0
0
0 也出现在了列
2
2
2:
[
A
b
]
=
[
1
2
2
1
4
8
9
3
0
3
2
1
]
,
E
21
[
A
b
]
=
[
1
2
2
1
0
0
1
−
1
0
3
2
1
]