Lecture1 方程组与矩阵
1. Ax = b 的两种理解方式
- 行表示(Row Picture)
代表方程组的解,二维三维平面内表现为直线线或平面的交点,交线等等。 - 列表示(Column Picture)
表示矩阵列向量的线性组合。若 A A A为 n × n n \times n n×n方阵,且列向量均线性无关(即任意列向量不可以用其他列向量线性组合表示),则 n n n维空间内任意n维向量可以用A的列向量的线性组合表示。 A A A的列为一组基。相反,若其中一个向量可由其他向量线性表示,例如9维空间内, 9 × 9 9 \times 9 9×9矩阵 B B B,其中一列可由其他8列线性表示, B B B的列的线性组合只能表示9维空间内的一个特定8维子空间。
2. 矩阵乘以向量的两种理解方式
- 向量乘以标量相加
例如:
[ 2 5 1 3 ] [ 1 2 ] = [ 12 7 ] \begin{bmatrix} 2&5\\ 1&3\\ \end{bmatrix} \begin{bmatrix} 1\\ 2\\ \end{bmatrix}= \begin{bmatrix} 12\\ 7\\ \end{bmatrix} [2153][12]=[127]
可以理解为:
[ 2 5 1 3 ] = 1 [ 2 1 ] + 2 [ 5 3 ] = [ 12 7 ] \begin{bmatrix} 2&5\\ 1&3\\ \end{bmatrix}= 1 \begin{bmatrix} 2\\ 1\\ \end{bmatrix}+2 \begin{bmatrix} 5\\ 3\\ \end{bmatrix}= \begin{bmatrix} 12\\ 7\\ \end{bmatrix} [2153]=1[21]+2[53]=[127]
A x Ax Ax is a combination of columns of A A A. - 矩阵左侧行与右侧列相乘再相加
以上例子中:
12 = 2 × 1 + 5 × 2 12 = 2 \times 1 + 5 \times 2 12=2×1+5×2
7 = 1 × 1 + 3 × 2 7 = 1 \times 1 + 3 \times 2 7=1×1+3×2
Lecture2 消元法的矩阵理解
1. 消元法求解线性方程组(elimination)
现代计算机主要都是用消元法对线性方程组进行求解的。消元法的步骤分为消元(elimination),回代(back-substitution)。
- 消元步骤(elimination)
对于以下方程组:
{ x + 2 y + z = 2 3 x + 8 y + z = 12 4 y + z = 2 \begin{cases} x+2y+z=2\\ 3x+8y+z=12\\ 4y+z=2\\ \end{cases} ⎩⎪⎨⎪⎧x+2y+z=23x+8y+z=124y+z=2
用矩阵表示为:
A x = b Ax = b Ax=b
对其增广矩阵(Augment Matrix)进行变换:
[ 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 ] \begin{bmatrix} 1&2&1&2\\ 3&8&1&12\\ 0&4&1&2\\ \end{bmatrix}\rightarrow \begin{bmatrix} 1&2&1&2\\ 0&2&-2&6\\ 0&4&1&2\\ \end{bmatrix}\rightarrow \begin{bmatrix} 1&2&1&2\\ 0&2&-2&6\\ 0&0&5&-10\\ \end{bmatrix} ⎣⎡1302841112122⎦⎤→⎣⎡1002241−21262⎦⎤→⎣⎡1002201−2526−10⎦⎤
最终经过变换:
A → U A\rightarrow U A→U , b → c b\rightarrow c b→c
注解:
1 , 2 , 5 1,2,5 1,2,5(每行第一个非零数)称为主元(pivot)。
行列式值为 1 × 2 × 5 = 10 1\times2\times5 = 10 1×2×5=10(后面介绍) - 回代步骤(back-substitution)
从方程组的角度来看是将已求得的未知数带入消元后的方程组,求解其他未知数的过程。
由化简后的增广矩阵再转化为方程组形式为:
{ x + 2 y + z = 2 2 y − 2 z = 6 5 z = − 10 \begin{cases} x+2y+z=2\\ 2y-2z=6\\ 5z=-10\\ \end{cases} ⎩⎪⎨⎪⎧x+2y+z=22y−2z=65z=−10
将 z = − 2 z=-2 z=−2代入第二个等式得 y = 1 y=1 y=1;
再将 z = − 2 , y = 1 z = -2,y=1 z=−2,y=1代入第一个等式得 x = 2 x=2 x=2;
这就是回代步骤。
2. 消元法的矩阵理解
- 行变换与矩阵
首先对于矩阵乘法而言我们知道:
[ 1 2 3 4 5 6 7 8 9 ] [ 1 2 3 ] = 1 × c o l u m n 1 + 2 × c o l u m n 2 + 3 × c o l u m n 3 \begin{bmatrix} 1&2&3\\ 4&5&6\\ 7&8&9\\ \end{bmatrix} \begin{bmatrix} 1\\ 2\\ 3\\ \end{bmatrix}= 1\times column1+2\times column2 +3\times column3 ⎣⎡147258369⎦⎤⎣⎡123⎦⎤=1×column1+2×column2+3×column3
如果现在不是从列的角度而是从行的角度来看(因为针对方程组做的是初等行变换):
[ 7 2 3 ] [ 1 2 3 4 5 6 7 8 9 ] = 7 × r o w 1 + 2 × r o w 2 + 3 × r o w 3 \begin{bmatrix} 7&2&3\\ \end{bmatrix} \begin{bmatrix} 1&2&3\\ 4&5&6\\ 7&8&9\\ \end{bmatrix}= 7\times row1+2\times row2 +3\times row3 [723]⎣⎡147258369⎦⎤=7×row1+2×row2+3×row3
即在一个矩阵左侧乘以一个行向量可看做其行向量的线性组合。 - 回到对A变换的例子
[ 1 2 1 2 3 8 1 12 0 4 1 2 ] → [ 1 2 1 2 0 2 − 2 6 0 4 1 2 ] \begin{bmatrix} 1&2&1&2\\ 3&8&1&12\\ 0&4&1&2\\ \end{bmatrix}\rightarrow \begin{bmatrix} 1&2&1&2\\ 0&2&-2&6\\ 0&4&1&2\\ \end{bmatrix} ⎣⎡1302841112122⎦⎤→⎣⎡1002241−21262⎦⎤
这一变换从方程组的角度而言是将第一个方程的-3倍加到第二个方程(或者矩阵第一行的-3倍加到第二行)
从矩阵乘法角度来看:
[ 1 0 0 − 3 1 0 0 0 1 ] [ 1 2 1 2 3 8 1 12 0 4 1 2 ] = [ 1 2 1 2 0 2 − 2 6 0 4 1 2 ] \begin{bmatrix} 1&0&0\\ -3&1&0\\ 0&0&1\\ \end{bmatrix} \begin{bmatrix} 1&2&1&2\\ 3&8&1&12\\ 0&4&1&2\\ \end{bmatrix}= \begin{bmatrix} 1&2&1&2\\ 0&2&-2&6\\ 0&4&1&2\\ \end{bmatrix} ⎣⎡1−30010001⎦⎤⎣⎡1302841112122⎦⎤=⎣⎡1002241−21262⎦⎤
这时将 [ 1 0 0 − 3 1 0 0 0 1 ] \begin{bmatrix} 1&0&0\\ -3&1&0\\ 0&0&1\\ \end{bmatrix} ⎣⎡1−30010001⎦⎤标识为E(elementary / elimination matrix)
更具体地,可以将矩阵表示为 E 2 , 1 E_{2,1} E2,1,代表着该矩阵是为了修正第二行第一列的值而存在的,通过左乘该矩阵可以让第二行第一列的元素变为0。
同理,在 A → U A\rightarrow U A→U第二步中,可以看出我们的目的是将第三行第二列的元素变为0,所以左乘的矩阵为 E 3 , 2 = [ 1 0 0 0 1 0 0 − 2 1 ] E_{3,2} = \begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&-2&1\\ \end{bmatrix} E3,2=⎣⎡10001−2001⎦⎤。
以上变换可以得到:
E 3 , 2 ( E 2 , 1 A ) = U E_{3,2}(E_{2,1}A) = U E3,2(E2,1A)=U
3. 矩阵乘法的性质
通过第二节的分析提出问题:是否存在一个矩阵使得可以直接让
A
→
U
A \rightarrow U
A→U
M
?
A
=
U
M_{?}A=U
M?A=U
exist M can does the whole job at once?
矩阵乘法没有交换律,但是有结合律(associate law),所以
E
3
,
2
(
E
2
,
1
A
)
=
U
E_{3,2}(E_{2,1}A) = U
E3,2(E2,1A)=U可以改变乘法的顺序。
E
3
,
2
(
E
2
,
1
A
)
=
U
→
(
E
3
,
2
E
2
,
1
)
A
=
U
E_{3,2}(E_{2,1}A) = U \rightarrow (E_{3,2}E_{2,1})A = U
E3,2(E2,1A)=U→(E3,2E2,1)A=U
M
=
E
3
,
2
E
2
,
1
M = E_{3,2}E_{2,1}
M=E3,2E2,1
注解:关于E矩阵
不仅存在以上形式,当需要作交换两行操作时,还有另一种形式,permutation matrix。
例如:
[
0
1
1
0
]
[
a
b
c
d
]
→
[
c
d
a
b
]
\begin{bmatrix} 0&1\\ 1&0\\ \end{bmatrix} \begin{bmatrix} a&b\\ c&d\\ \end{bmatrix}\rightarrow \begin{bmatrix} c&d\\ a&b\\ \end{bmatrix}
[0110][acbd]→[cadb]
称为
P
1
,
2
P_{1,2}
P1,2,由单位阵经相应行变换可以很容易得到。
引入逆矩阵概念
可逆的含义:
思考对于矩阵
E
2
,
1
E_{2,1}
E2,1,将矩阵第一行的-3倍加到第二行,现在如何撤销这一步的操作。答案是将减去的第二行的3倍再加上,重新加上的过程,就是乘以逆矩阵的过程。
[
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
]
\begin{bmatrix} 1&0&0\\ 3&1&0\\ 0&0&1\\ \end{bmatrix} \begin{bmatrix} 1&0&0\\ -3&1&0\\ 0&0&1\\ \end{bmatrix}= \begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&0&1\\ \end{bmatrix}
⎣⎡130010001⎦⎤⎣⎡1−30010001⎦⎤=⎣⎡100010001⎦⎤
由上例可见
[
1
0
0
3
1
0
0
0
1
]
\begin{bmatrix} 1&0&0\\ 3&1&0\\ 0&0&1\\ \end{bmatrix}
⎣⎡130010001⎦⎤就是
[
1
0
0
−
3
1
0
0
0
1
]
\begin{bmatrix} 1&0&0\\ -3&1&0\\ 0&0&1\\ \end{bmatrix}
⎣⎡1−30010001⎦⎤的逆矩阵。