Lecture7 求解齐次线性方程组Ax=0Ax=0Ax=0
1.零空间的计算
- 计算方法
例如:
A=[1222246836810] A=\begin{bmatrix} 1&2&2&2\\ 2&4&6&8\\ 3&6&8&10 \end{bmatrix} A=⎣⎡1232462682810⎦⎤
求解A的零空间。
方法:利用消元法
(消元法的本质是将一个方程的n倍加到另一个方程,因此不会改变方程组的解,可以用来求解零空间):
过程如下:
Step1:
A=[1222246836810]→[122200240024] A= \begin{bmatrix} 1&2&2&2\\ 2&4&6&8\\ 3&6&8&10 \end{bmatrix}\rightarrow \begin{bmatrix} 1&2&2&2\\ 0&0&2&4\\ 0&0&2&4 \end{bmatrix} A=⎣⎡1232462682810⎦⎤→⎣⎡100200222244⎦⎤
通过消元,我们发现在第二行第二列的位置为0且在下面的几行中也找不到可以替换的行,说明第二列其实是前面各列的线性组合,也即和前面的列线性相关。这时候可以称第二列是自由(free)的。
Step2:
[122200240024]→[122200240000]=U \begin{bmatrix} 1&2&2&2\\ 0&0&2&4\\ 0&0&2&4 \end{bmatrix} \rightarrow \begin{bmatrix} 1&2&2&2\\ 0&0&2&4\\ 0&0&0&0 \end{bmatrix}=U ⎣⎡100200222244⎦⎤→⎣⎡100200220240⎦⎤=U
进一步,将矩阵可以化成如下的阶梯状的形式(echelon form)。通过观察可以看出矩阵的主元数量为2,也就是有效方程的个数为2,矩阵的秩(rank)是2。
秩(Rank)在算法中的意义:
对于一个m×nm \times nm×n的矩阵,
它的秩r=r=r= 消元后主元的个数,从方程组的角度本质是有效方程的数量。
如果它的秩为rrr,它的自由变量的个数为n−rn-rn−r。
Step3:
根据UUU的主元变量,即每一行第一个不为零的数,得到主元列(pivot columns)和自由列(free columns),上例中主元列为1,3列,自由列为2,4列。
free的含义:
对于2,4列而言,我们可以取任意的两个数x2x_2x2和x4x_4x4,之后可以根据任取的x2x_2x2和x4x_4x4,利用方程组来求解x1x_1x1和x3x_3x3。
Step4:
(1) 假设:x2=1x_2=1x2=1,x4=0x_4=0x4=0:
可以解得:x1=−2x_1=-2x1=−2,x3=0x_3=0x3=0,也即x=[−2100]x=\begin{bmatrix}-2\\1\\0\\0\end{bmatrix}x=⎣⎢⎢⎡−2100⎦⎥⎥⎤。
对于xxx:
通过xxx可知第一列的-2倍加上第二列等于0向量。
xxx是方程组的一个特解。
xxx是0空间中的1个向量。
(2) 假设:x2=0x_2=0x2=0,x4=1x_4=1x4=1:
可以解得:x1=−2x_1=-2x1=−2,x3=0x_3=0x3=0,也即x′=[20−21]x^\prime=\begin{bmatrix}2\\0\\-2\\1\end{bmatrix}x′=⎣⎢⎢⎡20−21⎦⎥⎥⎤。x′x^\primex′也是0空间中的1个向量。
(3) 由以上两步得到零空间中的两个向量,由这两个向量的线性组合,可以得到整个零空间中的向量满足。
xN=c[−2100]+d[20−21]x_N=c\begin{bmatrix}-2\\1\\0\\0\end{bmatrix}+d\begin{bmatrix}2\\0\\-2\\1\end{bmatrix}xN=c⎣⎢⎢⎡−2100⎦⎥⎥⎤+d⎣⎢⎢⎡20−21⎦⎥⎥⎤
Step5:
为了以一种更清楚的方式得到零空间中的一组线性无关列向量:
将UUU简化得到简化的阶梯矩阵RRR(reduced row echelon form):
向上进行消元,将主元列中除主元外其他项变成0,然后将主元变为1;
U=[122200240000]→[120−200240000]→[120−200120000]=R U= \begin{bmatrix} 1&2&2&2\\ 0&0&2&4\\ 0&0&0&0 \end{bmatrix}\rightarrow \begin{bmatrix} 1&2&0&-2\\ 0&0&2&4\\ 0&0&0&0 \end{bmatrix}\rightarrow \begin{bmatrix} 1&2&0&-2\\ 0&0&1&2\\ 0&0&0&0 \end{bmatrix}=R U=⎣⎡100200220240⎦⎤→⎣⎡100200020−240⎦⎤→⎣⎡100200010−220⎦⎤=R
通过观察可以看出,在主元列和主元行恰好构成了一个单位阵III,
而自由列和自由行构成的部分,设为FFF。
假设RRR的前rrr列为主元列。
RRR可以写为:R=[I∣ F]R=\begin{bmatrix}I&| \ \ \ F&\end{bmatrix}R=[I∣ F]
设RRR的0空间为NNN列向量构成的空间,
RN=0,R=[I∣ F]RN = 0,R=\begin{bmatrix}I&| \ \ \ F&\end{bmatrix} RN=0,R=[I∣ F]
⇒N=[−F− −I] \Rightarrow N= \begin{bmatrix}-F\\-\ -\\I\end{bmatrix} ⇒N=⎣⎡−F− −I⎦⎤
上述寻找NNN的过程可以描述为:
(1)先在自由变量的位置写上一个III矩阵
相当于寻找每个特解时,将一个自由变量设为1,其余全部设为0,对于上例:
N=[∗∗10∗∗01] N= \begin{bmatrix} *&*\\ 1&0\\ *&*\\ 0&1 \end{bmatrix} N=⎣⎢⎢⎡∗1∗0∗0∗1⎦⎥⎥⎤
(2)将RRR的自由列取反后补充到剩余位置
N=[−22100−201] N= \begin{bmatrix} -2&2\\ 1&0\\ 0&-2\\ 0&1 \end{bmatrix} N=⎣⎢⎢⎡−210020−21⎦⎥⎥⎤
Lecture8 求解非齐次线性方程组Ax=bAx=bAx=b
1.解法
- 例如:
A=[1222246836810],Ax=b,b=[156] A=\begin{bmatrix} 1&2&2&2\\ 2&4&6&8\\ 3&6&8&10 \end{bmatrix} ,Ax=b,b=\begin{bmatrix}1\\5\\6\end{bmatrix} A=⎣⎡1232462682810⎦⎤,Ax=b,b=⎣⎡156⎦⎤
与Ax=0Ax=0Ax=0类似,也是利用消元法:
写出Ax=bAx=bAx=b的增广矩阵(augmented matrix),之后经过消元变为阶梯矩阵的形式。
[1222∣b12468∣b236810∣b3]→[1222∣b10024∣b2−2b10024∣b3−3b1]→[1222∣b1(1)0024∣b2−2b1(3)0000∣b3−b2−b1(0)] \begin{bmatrix} 1&2&2&2&|&b_1\\ 2&4&6&8&|&b_2\\ 3&6&8&10&|&b_3 \end{bmatrix}\rightarrow \begin{bmatrix} 1&2&2&2&|&b_1\\ 0&0&2&4&|&b_2-2b_1\\ 0&0&2&4&|&b_3-3b_1 \end{bmatrix}\rightarrow \begin{bmatrix} 1&2&2&2&|&b_1(1)\\ 0&0&2&4&|&b_2-2b_1(3)\\ 0&0&0&0&|&b_3-b_2-b_1(0) \end{bmatrix} ⎣⎡1232462682810∣∣∣b1b2b3⎦⎤→⎣⎡100200222244∣∣∣b1b2−2b1b3−3b1⎦⎤→⎣⎡100200220240∣∣∣b1(1)b2−2b1(3)b3−b2−b1(0)⎦⎤ - 方程组可解性(Solve Ability):
由之前学过的知识可知bbb在AAA的列空间时,方程组有解。
这里可以用另一种思维考虑:
若A的行的线性组合可以产生0行,右侧b按同种规则组合也为0。 - 如何求解Ax=bAx=bAx=b
(1) Step1:找到一个特解(particular solution)
将方程组的所有自由变量设成0,求解主元变量。
上例中为:
{x1+2x3=22x3=3\begin{cases} x_1+2x_3=2\\ 2x_3=3\\ \end{cases} {x1+2x3=22x3=3
特解可以得出为:xp=[−203/20]x_p=\begin{bmatrix}-2\\0\\3/2\\0\end{bmatrix}xp=⎣⎢⎢⎡−203/20⎦⎥⎥⎤。
(2)Step2:方程的解可以加上0空间中任何向量,得到通解(complete solution)
x=xp+xNx = x_p+x_Nx=xp+xN
解释:
由xpx_pxp得到的过程可知Axp=bAx_p=bAxp=b。而AxN=0Ax_N=0AxN=0
得到:A(xp+xN)=Axp+AxN=0A(x_p+x_N)=Ax_p+Ax_N=0A(xp+xN)=Axp+AxN=0。
所以例子中的解为:
x=xN+xp=c[−2100]+d[20−21]+[−203/20] x=x_N+x_p=c\begin{bmatrix}-2\\1\\0\\0\end{bmatrix}+d\begin{bmatrix}2\\0\\-2\\1\end{bmatrix}+\begin{bmatrix}-2\\0\\3/2\\0\end{bmatrix} x=xN+xp=c⎣⎢⎢⎡−2100⎦⎥⎥⎤+d⎣⎢⎢⎡20−21⎦⎥⎥⎤+⎣⎢⎢⎡−203/20⎦⎥⎥⎤
是4维空间内的一个平面。 - 关于矩阵秩的讨论
m×nm\times nm×n矩阵秩为rrr。
r≤m,r≤nr\leq m,r\leq nr≤m,r≤n
满秩情况分为两种:
(1)列满秩(r=nr = nr=n):意味着每一列都有主元,也就是没有自由变量。N(A)N(A)N(A)中只有零向量。
x=xpx = x_px=xp(Unique solution if it exist)
Ax=bAx=bAx=b如果存在解则为有唯一解。
(2)行满秩(r=mr = mr=m):每一行都有主元。
Ax=bAx=bAx=b一定有解,因为无解只出现在消元后方程组左侧为0,右侧不为0的情况。行满秩意味着消元后左侧没有零行。
将会有n−rn-rn−r个自由变量。
(3)总结- r=m=nr = m = nr=m=n:有且仅有唯一解,方阵可逆。
A消元后的矩阵为[ I ]\begin{bmatrix} \ I \ \end{bmatrix}[ I ]。 - r=n<mr = n < mr=n<m:有唯一解或无解。
A消元后的矩阵为[ I −−0]\begin{bmatrix} \ I \ \\ -- \\ 0\end{bmatrix}⎣⎡ I −−0⎦⎤。 - r=m<nr = m < nr=m<n:一定有无穷多解,且解的形式为一个特解+零空间内任意向量。
A消元后的矩阵为[ I ∣ F]\begin{bmatrix} \ I \ &| \ \ &F\end{bmatrix}[ I ∣ F]。 - r<m , r<nr < m \ , \ r<nr<m , r<n:可能无解,也可能有无穷多解。
A消元后的矩阵为[ I ∣ F−−−−−− 0 ∣ 0]\begin{bmatrix} \ I \ &| \ \ &F \\ --&--&--\\ \ 0\ &| \ \ &0 \end{bmatrix}⎣⎡ I −− 0 ∣ −−∣ F−−0⎦⎤。
- r=m=nr = m = nr=m=n:有且仅有唯一解,方阵可逆。