主要内容
- 高斯消元法的矩阵表达
- 矩阵乘法的理解
- 逆矩阵
- 矩阵的LU分解
- 置换和转置
正文
对于高斯消元法,我们可以直观的感觉一下高斯消元的操作步骤,将下三角的元素全都变成0,这时候的主对角线上的元素就是主元,主元不能为零,如果主元中出现了零,那么该矩阵的行列式就等于0(行列式等于主元之积)。线性代数的核心就是矩阵变换,而理解矩阵变换之后,就很容易理解其他的计算现象。
矩阵乘法,我们一般的理解就是最常规的那种方法,各个元素积的和的形式。而这里给出了另外的比较重要的两种方法,行变换和列变换的理解。重点介绍的是矩阵相乘的条件;相乘的三种理解方法;矩阵的分块乘法,讲每一个块看成是矩阵中的元素时,分块乘法就退化成了基本的矩阵乘法。
逆矩阵,从变换的角度理解逆矩阵就是:我们可以认为,一个非单位矩阵是由单位矩阵通过一系列变换得到的,那么我们可以通过一系列操作将这个变换逆过来,即通过逆着变换将一个常规矩阵变成单位矩阵。那么如何记录这一系列的逆操作?这就可以引出 G a u s s − J o r d a n Gauss-Jordan Gauss−Jordan方法,就是求逆矩阵的方法。此外我们会判断矩阵是否可逆,一般可以在变换过程中观察主元是否为0来确定。
矩阵的LU分解:线性代数的目的就是求解线性方程组 A x = b Ax=b Ax=b,所以我们讨论某些工具时,仍然以这个方程组中的元素为例。比如元素:系数矩阵, x x x向量,常数向量 b b b。这里的矩阵也是以系数矩阵 A A A为例。实际上,在高斯消元法中,我们对 A A A的LU分解的大部分过程就已经进行完了,当我们将 A A A所左乘的矩阵移到右边时,这是时候,右边时两个矩阵的乘积,一个是下三角矩阵 L L L,一个是上三角矩阵 U U U,这时候达到了 A = L U A=LU A=LU的形式,这便是矩阵的LU分解。
置换和转置是对矩阵进行的比较常见的两种类型的操作。左乘一个矩阵是系数矩阵进行行变换,右乘一个矩阵是对系数矩阵进行列变换,我们希望只变换行或列,但是却不改变矩阵的元素的大小,这就需要用到单位矩阵,因为她是如此的洁白无瑕,我们将单位矩阵的行进行置换,然后系数矩阵再左乘这个变换的单位阵,这就完成了一次简单的置换操作。将单位矩阵进行所有可能的置换操作,所得的结果构成一个群,可以称之为置换矩阵群。而转置,从几何上看,就是将矩阵沿主对角线翻转180度,转置操作还有一些很好的性质,和对称矩阵还有一些很好的联系。
高斯消元法的矩阵表达
高斯消元的主要内容就是通过方程之间的相加减,一次消去每个方程中的含未知数的项,直到含未知数的项只有一个,这样就可以直接求出该未知数,然后依次回代,就可以求出所有的未知数。这里的相加减,本质上是系数的相加减,所谓消去某个未知数,就是使这个未知数的系数为零。所以,我们可以写出高斯消元的矩阵表达。
首先我们要明确一点:高斯消元的主要操作就是行变换。 我们知道,矩阵左乘一个一个行向量,就是以行向量中的每个数值作为矩阵中每行的权重对行进行加权得到新的一行。(也就是一个线性组合,这里通俗一点,用权重来讲) 那么当我们左乘一个矩阵的时候,即一个行向量的合集,我们就是使用不同的权重对矩阵中的行进行了加权得到了不同的行,这些不同的行组成了新的矩阵(就是乘法操作的结果),而新的矩阵中行与左乘矩阵中的行是对应的,也就是结果矩阵中的行是由左乘矩阵中的对应行中的元素作为矩阵中行的权重,进行加权得到的。例如:
A
A
A是系数矩阵,
W
W
W是左乘的一个行向量
W
=
[
w
11
w
12
w
13
w
14
]
W=\begin{bmatrix}w_{11} & w_{12} & w_{13}&w_{14}\end{bmatrix}
W=[w11w12w13w14]
A
=
[
a
11
a
12
a
13
a
21
a
22
a
23
a
31
a
32
a
33
a
41
a
42
a
43
]
A=\begin{bmatrix}a_{11} &a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\\a_{41}&a_{42}&a_{43}\end{bmatrix}
A=⎣⎢⎢⎡a11a21a31a41a12a22a32a42a13a23a33a43⎦⎥⎥⎤
W
×
A
=
{
w
11
×
[
a
11
a
12
a
13
]
+
w
12
×
[
a
21
a
22
a
23
]
+
w
13
×
[
a
31
a
32
a
33
]
+
w
14
×
[
a
41
a
42
a
43
]
}
=
[
b
11
b
12
b
13
]
=
B
W\times A=\begin{Bmatrix}w_{11}\times \begin{bmatrix}a_{11} &a_{12}&a_{13}\end{bmatrix}\\+\\w_{12}\times \begin{bmatrix} a_{21}&a_{22}&a_{23}\end{bmatrix}\\+\\w_{13}\times \begin{bmatrix} a_{31}&a_{32}&a_{33}\end{bmatrix}\\+\\w_{14}\times \begin{bmatrix} a_{41}&a_{42}&a_{43}\end{bmatrix} \end{Bmatrix}=\begin{bmatrix}b_{11} &b_{12}&b_{13}\end{bmatrix}=B
W×A=⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧w11×[a11a12a13]+w12×[a21a22a23]+w13×[a31a32a33]+w14×[a41a42a43]⎭⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎫=[b11b12b13]=B 当我们左乘一个矩阵的时候,例如:系数矩阵
A
A
A,左乘矩阵
W
W
W,结果矩阵记为
B
B
B。
W
=
[
w
11
w
12
w
13
w
14
w
21
w
22
w
23
w
24
w
31
w
32
w
33
w
34
w
41
w
42
w
43
w
44
]
W=\begin{bmatrix}w_{11} & w_{12} & w_{13}&w_{14}\\w_{21} & w_{22} & w_{23}&w_{24}\\w_{31} & w_{32} & w_{33}&w_{34}\\w_{41} & w_{42} & w_{43}&w_{44} \end{bmatrix}
W=⎣⎢⎢⎡w11w21w31w41w12w22w32w42w13w23w33w43w14w24w34w44⎦⎥⎥⎤
A
=
[
a
11
a
12
a
13
a
21
a
22
a
23
a
31
a
32
a
33
a
41
a
42
a
43
]
A=\begin{bmatrix}a_{11} &a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\\a_{41}&a_{42}&a_{43}\end{bmatrix}
A=⎣⎢⎢⎡a11a21a31a41a12a22a32a42a13a23a33a43⎦⎥⎥⎤
W
×
A
=
{
{
w
11
×
[
a
11
a
12
a
13
]
+
w
12
×
[
a
21
a
22
a
23
]
+
w
13
×
[
a
31
a
32
a
33
]
+
w
14
×
[
a
41
a
42
a
43
]
}
{
w
21
×
[
a
11
a
12
a
13
]
+
w
22
×
[
a
21
a
22
a
23
]
+
w
23
×
[
a
31
a
32
a
33
]
+
w
24
×
[
a
41
a
42
a
43
]
}
{
w
31
×
[
a
11
a
12
a
13
]
+
w
32
×
[
a
21
a
22
a
23
]
+
w
33
×
[
a
31
a
32
a
33
]
+
w
34
×
[
a
41
a
42
a
43
]
}
{
w
41
×
[
a
11
a
12
a
13
]
+
w
42
×
[
a
21
a
22
a
23
]
+
w
43
×
[
a
31
a
32
a
33
]
+
w
44
×
[
a
41
a
42
a
43
]
}
}
=
[
b
11
b
12
b
13
b
21
b
22
b
23
b
31
b
32
b
33
b
41
b
42
b
43
]
=
B
W\times A=\begin{Bmatrix}\begin{Bmatrix}w_{11}\times \begin{bmatrix}a_{11} &a_{12}&a_{13}\end{bmatrix}\\+\\w_{12}\times \begin{bmatrix} a_{21}&a_{22}&a_{23}\end{bmatrix}\\+\\w_{13}\times \begin{bmatrix} a_{31}&a_{32}&a_{33}\end{bmatrix}\\+\\w_{14}\times \begin{bmatrix} a_{41}&a_{42}&a_{43}\end{bmatrix} \end{Bmatrix}\\\\\begin{Bmatrix}w_{21}\times \begin{bmatrix}a_{11} &a_{12}&a_{13}\end{bmatrix}\\+\\w_{22}\times \begin{bmatrix} a_{21}&a_{22}&a_{23}\end{bmatrix}\\+\\w_{23}\times \begin{bmatrix} a_{31}&a_{32}&a_{33}\end{bmatrix}\\+\\w_{24}\times \begin{bmatrix} a_{41}&a_{42}&a_{43}\end{bmatrix} \end{Bmatrix}\\\\\begin{Bmatrix}w_{31}\times \begin{bmatrix}a_{11} &a_{12}&a_{13}\end{bmatrix}\\+\\w_{32}\times \begin{bmatrix} a_{21}&a_{22}&a_{23}\end{bmatrix}\\+\\w_{33}\times \begin{bmatrix} a_{31}&a_{32}&a_{33}\end{bmatrix}\\+\\w_{34}\times \begin{bmatrix} a_{41}&a_{42}&a_{43}\end{bmatrix} \end{Bmatrix}\\\\\begin{Bmatrix}w_{41}\times \begin{bmatrix}a_{11} &a_{12}&a_{13}\end{bmatrix}\\+\\w_{42}\times \begin{bmatrix} a_{21}&a_{22}&a_{23}\end{bmatrix}\\+\\w_{43}\times \begin{bmatrix} a_{31}&a_{32}&a_{33}\end{bmatrix}\\+\\w_{44}\times \begin{bmatrix} a_{41}&a_{42}&a_{43}\end{bmatrix} \end{Bmatrix}\end{Bmatrix}=\begin{bmatrix}b_{11} &b_{12}&b_{13}\\b_{21} &b_{22}&b_{23}\\b_{31} &b_{32}&b_{33}\\b_{41} &b_{42}&b_{43}\end{bmatrix}=B
W×A=⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧w11×[a11a12a13]+w12×[a21a22a23]+w13×[a31a32a33]+w14×[a41a42a43]⎭⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎫⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧w21×[a11a12a13]+w22×[a21a22a23]+w23×[a31a32a33]+w24×[a41a42a43]⎭⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎫⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧w31×[a11a12a13]+w32×[a21a22a23]+w33×[a31a32a33]+w34×[a41a42a43]⎭⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎫⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧w41×[a11a12a13]+w42×[a21a22a23]+w43×[a31a32a33]+w44×[a41a42a43]⎭⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎫⎭⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎫=⎣⎢⎢⎡b11b21b31b41b12b22b32b42b13b23b33b43⎦⎥⎥⎤=B
基于这种现象,以及高斯消元主要是对行进行变换,我们就可以写出消元的矩阵表达。在下面的这个式子中,
E
(
∗
∗
)
n
E_{(**)_n}
E(∗∗)n称为初等矩阵,下标n可以不写,两个**表示的是消去的位置,n表示初等矩阵与
A
A
A相乘的顺序。而这一系列初等矩阵经过相乘可以变换成一个矩阵
E
E
E(我称之为变换矩阵,或者是消元矩阵,在简单的时候可以直接写出),即
E
(
∗
∗
)
n
.
.
.
.
.
.
E
(
∗
∗
)
2
E
(
∗
∗
)
1
=
E
E_{(**)_n}......E_{(**)_2}E_{(**)_1}=E
E(∗∗)n......E(∗∗)2E(∗∗)1=E。
E
(
∗
∗
)
n
.
.
.
.
.
.
E
(
∗
∗
)
2
E
(
∗
∗
)
1
A
=
E
A
E_{(**)_n}......E_{(**)_2}E_{(**)_1}A=EA
E(∗∗)n......E(∗∗)2E(∗∗)1A=EA所以在矩阵
E
E
E中,每个行表示的就是:对系数矩阵中对应行进行消元操作时,其他行以及本行的权重应该是多少。就这样通过一个矩阵
E
E
E我们就可以将进行的变换操作全都表达出来了,并且通过左乘矩阵
E
E
E就实现了对系数矩阵的消元,也就化成了上三角矩阵
(
U
)
(U)
(U)。
矩阵乘法的理解
其实,上面介绍的左乘矩阵就是矩阵乘法的一种理解方式,即:左乘一个矩阵,相当于关于左乘矩阵中行向量进行的行向量的线性组合。这里就不再介绍这种方法,接下来,介绍另外两种方法,即常规方法和列向量的线性组合。
例如:系数矩阵
A
A
A,左乘矩阵
W
W
W,右乘矩阵
R
R
R
W
=
[
w
11
w
12
w
13
w
14
w
21
w
22
w
23
w
24
w
31
w
32
w
33
w
34
w
41
w
42
w
43
w
44
]
W=\begin{bmatrix}w_{11} & w_{12} & w_{13}&w_{14}\\w_{21} & w_{22} & w_{23}&w_{24}\\w_{31} & w_{32} & w_{33}&w_{34}\\w_{41} & w_{42} & w_{43}&w_{44} \end{bmatrix}
W=⎣⎢⎢⎡w11w21w31w41w12w22w32w42w13w23w33w43w14w24w34w44⎦⎥⎥⎤
A
=
[
a
11
a
12
a
13
a
21
a
22
a
23
a
31
a
32
a
33
a
41
a
42
a
43
]
A=\begin{bmatrix}a_{11} &a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\\a_{41}&a_{42}&a_{43}\end{bmatrix}
A=⎣⎢⎢⎡a11a21a31a41a12a22a32a42a13a23a33a43⎦⎥⎥⎤
R
=
[
r
11
r
12
r
13
r
21
r
22
r
23
r
31
r
32
r
33
]
R=\begin{bmatrix}r_{11} & r_{12}&r_{13}\\r_{21}&r_{22}&r_{23}\\r_{31}&r_{32}&r_{33}\end{bmatrix}
R=⎣⎡r11r21r31r12r22r32r13r23r33⎦⎤
[
w
11
w
12
w
13
w
14
w
21
w
22
w
23
w
24
w
31
w
32
w
33
w
34
w
41
w
42
w
43
w
44
]
×
[
a
11
a
12
a
13
a
21
a
22
a
23
a
31
a
32
a
33
a
41
a
42
a
43
]
=
[
b
11
b
12
b
13
b
21
b
22
b
23
b
31
b
32
b
33
b
41
b
42
b
43
]
\begin{bmatrix}w_{11} & w_{12} & w_{13}&w_{14}\\w_{21} & w_{22} & w_{23}&w_{24}\\w_{31} & w_{32} & w_{33}&w_{34}\\w_{41} & w_{42} & w_{43}&w_{44} \end{bmatrix}\times \begin{bmatrix}a_{11} &a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\\a_{41}&a_{42}&a_{43}\end{bmatrix}=\begin{bmatrix}b_{11} &b_{12}&b_{13}\\b_{21} &b_{22}&b_{23}\\b_{31} &b_{32}&b_{33}\\b_{41} &b_{42}&b_{43}\end{bmatrix}
⎣⎢⎢⎡w11w21w31w41w12w22w32w42w13w23w33w43w14w24w34w44⎦⎥⎥⎤×⎣⎢⎢⎡a11a21a31a41a12a22a32a42a13a23a33a43⎦⎥⎥⎤=⎣⎢⎢⎡b11b21b31b41b12b22b32b42b13b23b33b43⎦⎥⎥⎤
常规方法:
可能是矩阵乘法定义,即:
b
11
=
∑
i
=
1
4
w
1
i
×
a
i
1
b_{11}=\sum_{i=1}^{4} w_{1i}\times a_{i1}
b11=∑i=14w1i×ai1。这就是通常的对矩阵乘法的理解。更一般的形式是:
b
i
j
=
∑
k
=
1
4
w
i
k
×
a
k
j
b_{ij}=\sum_{k=1}^{4} w_{ik}\times a_{kj}
bij=∑k=14wik×akj。这种方式比较容易理解,也容易接受,但是计算起来会麻烦一些,而且在计算意义上,更不必行向量、列向量的线性组合。接下来接受列向量的线性组合
列向量的线性组合:
[
a
11
a
12
a
13
a
21
a
22
a
23
a
31
a
32
a
33
a
41
a
42
a
43
]
×
[
r
11
r
12
r
13
r
21
r
22
r
23
r
31
r
32
r
33
]
=
[
b
11
b
12
b
13
b
21
b
22
b
23
b
31
b
32
b
33
]
\begin{bmatrix}a_{11} &a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\\a_{41}&a_{42}&a_{43}\end{bmatrix}\times \begin{bmatrix}r_{11} & r_{12}&r_{13}\\r_{21}&r_{22}&r_{23}\\r_{31}&r_{32}&r_{33}\end{bmatrix}=\begin{bmatrix}b_{11} &b_{12}&b_{13}\\b_{21} &b_{22}&b_{23}\\b_{31} &b_{32}&b_{33}\end{bmatrix}
⎣⎢⎢⎡a11a21a31a41a12a22a32a42a13a23a33a43⎦⎥⎥⎤×⎣⎡r11r21r31r12r22r32r13r23r33⎦⎤=⎣⎡b11b21b31b12b22b32b13b23b33⎦⎤
实际上结果矩阵可以看成是列向量的线性组合:
[
b
11
b
21
b
31
]
=
{
[
a
11
a
21
a
31
a
41
]
×
r
11
+
[
a
12
a
22
a
32
a
42
]
×
r
21
+
[
a
13
a
23
a
33
a
43
]
×
r
31
}
\begin{bmatrix}b_{11} \\b_{21}\\b_{31}\end{bmatrix}=\begin{Bmatrix}\begin{bmatrix}a_{11}\\a_{21}\\a_{31}\\a_{41} \end{bmatrix}\times r_{11}+\begin{bmatrix}a_{12}\\a_{22}\\a_{32}\\a_{42} \end{bmatrix}\times r_{21}+\begin{bmatrix}a_{13}\\a_{23}\\a_{33}\\a_{43} \end{bmatrix}\times r_{31}\end{Bmatrix}
⎣⎡b11b21b31⎦⎤=⎩⎪⎪⎨⎪⎪⎧⎣⎢⎢⎡a11a21a31a41⎦⎥⎥⎤×r11+⎣⎢⎢⎡a12a22a32a42⎦⎥⎥⎤×r21+⎣⎢⎢⎡a13a23a33a43⎦⎥⎥⎤×r31⎭⎪⎪⎬⎪⎪⎫
[
b
12
b
22
b
32
]
=
{
[
a
11
a
21
a
31
a
41
]
×
r
12
+
[
a
12
a
22
a
32
a
42
]
×
r
22
+
[
a
13
a
23
a
33
a
43
]
×
r
32
}
\begin{bmatrix}b_{12} \\b_{22}\\b_{32}\end{bmatrix}=\begin{Bmatrix}\begin{bmatrix}a_{11}\\a_{21}\\a_{31}\\a_{41} \end{bmatrix}\times r_{12}+\begin{bmatrix}a_{12}\\a_{22}\\a_{32}\\a_{42} \end{bmatrix}\times r_{22}+\begin{bmatrix}a_{13}\\a_{23}\\a_{33}\\a_{43} \end{bmatrix}\times r_{32}\end{Bmatrix}
⎣⎡b12b22b32⎦⎤=⎩⎪⎪⎨⎪⎪⎧⎣⎢⎢⎡a11a21a31a41⎦⎥⎥⎤×r12+⎣⎢⎢⎡a12a22a32a42⎦⎥⎥⎤×r22+⎣⎢⎢⎡a13a23a33a43⎦⎥⎥⎤×r32⎭⎪⎪⎬⎪⎪⎫
[
b
13
b
23
b
33
]
=
{
[
a
11
a
21
a
31
a
41
]
×
r
13
+
[
a
12
a
23
a
32
a
42
]
×
r
21
+
[
a
13
a
23
a
33
a
43
]
×
r
33
}
\begin{bmatrix}b_{13}\\b_{23}\\b_{33}\end{bmatrix}=\begin{Bmatrix}\begin{bmatrix}a_{11}\\a_{21}\\a_{31}\\a_{41} \end{bmatrix}\times r_{13}+\begin{bmatrix}a_{12}\\a_{23}\\a_{32}\\a_{42} \end{bmatrix}\times r_{21}+\begin{bmatrix}a_{13}\\a_{23}\\a_{33}\\a_{43} \end{bmatrix}\times r_{33}\end{Bmatrix}
⎣⎡b13b23b33⎦⎤=⎩⎪⎪⎨⎪⎪⎧⎣⎢⎢⎡a11a21a31a41⎦⎥⎥⎤×r13+⎣⎢⎢⎡a12a23a32a42⎦⎥⎥⎤×r21+⎣⎢⎢⎡a13a23a33a43⎦⎥⎥⎤×r33⎭⎪⎪⎬⎪⎪⎫
而列的线性组合也可以看成是对列向量的一种加权,权重就是右乘矩阵的列向量。根据左乘一个矩阵是对行向量进行加权,实际就是对行进行变化,而这里对列向量的加权就是对列向量的变换。也就是说,系数矩阵右乘一个矩阵,相当于对系数矩阵进行了相应的列变换。
逆矩阵
有逆矩阵的矩阵是一种比较好的矩阵,所以实际过程中,比较喜欢这种矩阵,而没有逆矩阵的矩阵我们称之为奇异矩阵,它具有一些不好的性质,会妨碍我们的使用。
判断可逆的方法,这里没有具体的介绍,只是大致的提出来,简单的理解一下。从行列式的角度来看,如果一个矩阵的行列式为零,那么这个矩阵不可逆。行列式为0,说明矩阵的主元中出现了0,主元中出现了0是一种不好的现象,不过,可以发现,很多不好的现象都是因为主元中出现了0导致的。从乘法的角度看,如果一个矩阵乘以一个非零矩阵可以得到零矩阵,那么这个矩阵不可逆。实际上这里根本上还是主元出现零导致的,在后面学习了对角阵后,我们可以再回来,将矩阵化成对角阵,进行乘法运算,本质上是对角线上的元素进行的计算。不过从这里,我们可以发现,这个不可逆的矩阵中的行向量不是线性无关的。而线性相关就是,存在一组权重或者是系数,作用于一个向量组后,这个向量组经过线性组合可以得到零,那么这样,其中一个向量便可以由其他的线性线性表示出来(移项)。当乘以能够使得行向量线性组合为零的权重时,就得到了零矩阵。这里介绍的有点粗糙,有点超前,这一段看的有些模糊的可以忽略。
继续看逆矩阵这种现象。逆矩阵实际上就是记录了一个矩阵由它本身变换成单位矩阵的变换过程(可以称为矩阵的逆变换过程,矩阵的回源过程等等)。那么我们用矩阵乘以这个逆矩阵就是相当于对矩阵进行了一系列的逆操作,并回到最初的单位矩阵。这就引出了定义: A × A − 1 = E 或 A − 1 × A = E A\times A^{-1}=E或A^{-1}\times A = E A×A−1=E或A−1×A=E。从这个角度来看,逆矩阵并不奇怪,同其他矩阵一样,只不过就是记录一些变换过程罢了(几乎所有的矩阵都可以认为是一系列的变化过程,即从单位矩阵变到矩阵本身的过程)。是不是可以将单位矩阵看成一张洁白的白纸,上面没有存储任何的变换信息。这时候,我们想通过这个单位矩阵记录我们将一个矩阵变回到单位矩阵的过程,这个过程并不难操作,矩阵怎么变,单位矩阵就跟着怎么变,当矩阵变到单位矩阵时,也就完成了一系列的逆向操作,而单位矩阵就记录(存储)了这个变换过程的所有操作,这便是逆矩阵,这种方法就是 G a u s s _ J o r d a n Gauss\_Jordan Gauss_Jordan求逆矩阵法。
矩阵的LU分解
在前面高斯消元法的地方提到,一系列初等矩阵经过相乘可以变换成一个矩阵
E
E
E(我称之为变换矩阵,或者是消元矩阵,在简单的时候可以直接写出),即
E
(
∗
∗
)
n
.
.
.
.
.
.
E
(
∗
∗
)
2
E
(
∗
∗
)
1
=
E
E_{(**)_n}......E_{(**)_2}E_{(**)_1}=E
E(∗∗)n......E(∗∗)2E(∗∗)1=E。
E
(
∗
∗
)
n
.
.
.
.
.
.
E
(
∗
∗
)
2
E
(
∗
∗
)
1
A
=
E
A
E_{(**)_n}......E_{(**)_2}E_{(**)_1}A=EA
E(∗∗)n......E(∗∗)2E(∗∗)1A=EA就这样通过一个矩阵
E
E
E我们就可以将进行的变换操作全都表达出来了,并且通过左乘矩阵
E
E
E就实现了对系数矩阵的消元,也就化成了上三角矩阵
U
U
U,也就是
E
A
=
U
EA=U
EA=U。那么现在,我们再将这个式子整理一下,
E
A
=
U
⇒
A
=
E
−
1
U
EA=U\quad\Rightarrow\quad A=E^{-1}U
EA=U⇒A=E−1U可以发现
E
−
1
E^{-1}
E−1是一个下三角矩阵记为
L
L
L。所以这就是LU分解的形式。
这个过程并不复杂,只需要将
A
A
A变成上三角矩阵,然后再乘以变换矩阵的逆,就得到了分解的矩阵。实际上还有一种形式:
A
=
L
D
U
A=LDU
A=LDU,其中
D
D
D是对角矩阵,可以使得
U
U
U的主元元素都变成1。
置换和转置
置换就是进行行交换或者是列交换。而置换矩阵就是通过交换单位矩阵的行得到的一个矩阵,系数矩阵左乘这个矩阵可以实现行的交换。
置换矩阵用
P
P
P表示,而
P
i
j
P_{ij}
Pij表示交换
i
,
j
i,j
i,j得到的置换矩阵。下面列出了
3
×
3
3\times3
3×3置换矩阵的所有情况:
[
1
0
0
0
1
0
0
0
1
]
[
0
1
0
1
0
0
0
0
1
]
[
0
0
1
0
1
0
1
0
0
]
\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}\qquad\begin{bmatrix}0&1&0\\1&0&0\\0&0&1\end{bmatrix}\qquad\begin{bmatrix}0&0&1\\0&1&0\\1&0&0\end{bmatrix}
⎣⎡100010001⎦⎤⎣⎡010100001⎦⎤⎣⎡001010100⎦⎤
[
1
0
0
0
0
1
0
1
0
]
[
0
1
0
0
0
1
1
0
0
]
[
0
0
1
1
0
0
0
1
0
]
\begin{bmatrix}1&0&0\\0&0&1\\0&1&0\end{bmatrix}\qquad\begin{bmatrix}0&1&0\\0&0&1\\1&0&0\end{bmatrix}\qquad\begin{bmatrix}0&0&1\\1&0&0\\0&1&0\end{bmatrix}
⎣⎡100001010⎦⎤⎣⎡001100010⎦⎤⎣⎡010001100⎦⎤实际上这是一个矩阵群,一方面它包括
3
×
3
3\times3
3×3情况下的所有情况的置换矩阵,并且包括单位矩阵,另一方面,它是两两封闭的,还有就是每个矩阵的逆都在这些矩阵里面。所以它是一个置换矩阵群。
对于置换矩阵还有这样的性质:
p
−
1
=
p
T
p^{-1}=p{T}
p−1=pT。并且
n
n
n阶单位矩阵的置换矩阵的个数为
A
n
2
A^2_n
An2。