初等行变换与初等列变换是线性代数比较基础的内容。学会了这个才能继续学习高斯消元解方程。初等行变换分为三种:
同理,初等列变换,也是三种:
但是这与矩阵乘法有什么关系呢?因为上面这六种变换,都与矩阵乘法的效果一样,初等行变换相当于左边乘以了一个矩阵,列变换相当于右边乘以了一个矩阵。而这个用来乘的矩阵就叫做初等矩阵elementary matrix。
先看看以下两个矩阵的乘法:
(
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
)
(
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4
)
=
(
1
1
1
1
3
3
3
3
2
2
2
2
4
4
4
4
)
(1000001001000001)
可以看到,乘法的左右是将矩阵的两行进行了交换。将一个单位矩阵进行行交换之后,再放在左边乘以某个矩阵,会使得这个矩阵进行行交换。这种把单位阵进行行交换之后的矩阵叫做置换矩阵。
再看下一个例子:
(
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
)
(
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
)
=
(
1
3
2
4
1
3
2
4
1
3
2
4
1
3
2
4
)
(1234123412341234)
把置换矩阵放在右边就是列交换了,上面的例子,第二列和第三列就完成了交换。
在初等矩阵中,效果是行交换和列交换的矩阵也叫做置换矩阵permutation matrix。
再看这个例子:
(
1
0
0
0
0
3
0
0
0
0
1
0
0
0
0
1
)
(
1
2
3
4
−
1
−
2
−
3
−
4
5
6
7
8
−
5
−
6
−
7
−
8
)
=
(
1
2
3
4
−
3
−
6
−
9
−
12
5
6
7
8
−
5
−
6
−
7
−
8
)
(1000030000100001)
可以看到不过是把第二行放大了三倍。这种很简单,就不必说了。
再看看下一个例子:
(
1
2
3
4
−
1
−
2
−
3
−
4
5
6
7
8
−
5
−
6
−
7
−
8
)
(
1
0
0
0
0
2
0
0
0
0
1
0
0
0
0
1
)
=
(
1
4
3
4
−
1
−
4
−
3
−
4
5
12
7
8
−
5
−
12
−
7
−
8
)
(1234−1−2−3−45678−5−6−7−8)
我们可以找到规律了,放在右边做乘法是做列变换。这次是把第二列变成了两倍。
大胆猜测,把单位阵做行倍加,再左乘一个矩阵,是不是也就对这个矩阵实现了行倍加呢?答案是对的:
(
1
0
0
0
3
1
0
0
0
0
1
0
0
0
0
1
)
(
9
8
1
5
9
2
7
3
3
6
7
2
5
1
10
2
)
=
(
9
8
1
5
36
26
10
18
3
6
7
2
5
1
10
2
)
(1000310000100001)
从例子可以看出确实是第一行乘以三倍加到了第二行了。
列倍加不过是左边换到右边而已,我是不厌其烦地举例子啊:
(
9
7
5
9
4
3
1
6
1
10
5
4
3
10
9
4
)
(
1
0
2
0
0
1
0
0
0
0
1
0
0
0
0
1
)
=
(
9
7
23
9
4
3
9
6
1
10
7
4
3
10
15
4
)
(975943161105431094)
实验了一下,我们的猜测是对的啊,就是把第一列乘以两倍加到了第三列上。
其实这些用线性变换的思想很容易理解。一个线性变换可以用矩阵表示,这个线性变换把一组自然基变成什么样子,就会把自然基下的矩阵变成什么样子。这么说起来,比较难理解,一组自然基,其实就是单位阵,也就是说一个矩阵是通过什么步骤从单位阵变过来的,它去乘别的矩阵,也会按照同样的步骤去变换别的矩阵,这就是线性变换。
初等矩阵与初等行变换、初等列变换是高斯消元的基础,我接下来的文章就是介绍高斯消元。