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