求解\(\symbfit{A}\symbfit{x}=\symbfit{0}\) 主变量 特解
本节主要说明利用消元法求解\(\symbfit{A}\symbfit{x}=\symbfit{0}\),即求解\(\symbf{N}\left(\symbfit{A}\right)\),同时理解上一节中所述的主列等进一步的含义。
假设\(\symbfit{A}=\begin{bmatrix}1&2&2&2\\2&4&6&8\\3&6&8&10\end{bmatrix}\),利用之前所述的消元法求解\(\symbfit{A}\symbfit{x}=\symbfit{0}\)。
实际上,消元法求得的解仍然是原方程组的解,求解出来的零空间是不变的,有理论依据。且由于增广矩阵最右列全为0,消元法只进行行变换,因此最右列始终不变,省略不写。
首先第一步,得到第一个主元(用$\Box $括起来)
\[\begin{bmatrix} \boxed 1& 2& 2& 2\\ 0& 0& 2& 4\\ 0& 0& 2& 4\\ \end{bmatrix} \] 第二步,得到第二个主元
\[\begin{bmatrix} \boxed 1& 2& 2& 2\\ 0& 0& \boxed 2& 4\\ 0& 0& 0& 0\\ \end{bmatrix} =\symbfit{U} \] 这样就把所有主元都找出来了,并且矩阵\(\symbfit{U}\)是阶梯形式(echelon form)(国内通常称为行阶梯型矩阵)。同时可见主元的数量为2,该数字称为矩阵的秩(rank)。
得到主元之后,下一步就要找出主变量(pivot variables),与之相对应的,还有自由变量(free variables)。
根据上门解出来的\(\symbfit{U}\),其主元对应的列称为主列(pivot columns),对应的变量\(x_1\)和\(x_3\)是主变量;其他的列称为自由列(free columns),对应的变量\(x_2\)和\(x_4\)是自由变量。“自由变量”的意思是,\(x_2\)和\(x_4\)可以任意赋值,例如令\(x_2=1,x_4=0\),那么\(\symbfit{x}=\begin{bmatrix}-2\\1\\0\\0\end{bmatrix}\);同理,令\(x_2=0,x_4=1\),那么\(\symbfit{x}=\begin{bmatrix}2\\0\\-2\\1\end{bmatrix}\)。
通过给自由变量赋特定的值,那么就可以得到特解(special solutions)\(\symbfit{x}\),根据前面给自由变量赋值得到的\(\symbfit{x}\),就可以得到其所有解(线性组合)
\[\symbfit{x} = c\begin{bmatrix}-2\\1\\0\\0\end{bmatrix} + d\begin{bmatrix}2\\0\\-2\\1\end{bmatrix} \] \(\color{red}{注意在国内教材中,通常将这两个向量称为\textbf{基础解系},其线性组合称为\textbf{通解}}。\)
零空间所包含的正好是特解的线性组合。一般来讲,\(m\times n\)大小的矩阵的秩为\(r\),则表示有\(r\)个主变量,\(n-r\)个自由变量。
前文我们已经得到了行阶梯型矩阵,但是为了更好的计算,通常会化为更简形式的行最简形矩阵(reduced row echelon form),记为\(\symbfit{R}\)。其要求是:主元上下全为0,且主元为1。
那么矩阵\(\symbfit{U}\)可以继续化简:
\[\begin{bmatrix} \boxed 1& 2& 0& -2\\ 0& 0& \boxed 2& 4\\ 0& 0& 0& 0\\ \end{bmatrix} \] 将第二个主元化为1:
\[\begin{bmatrix} \boxed 1& 2& 0& -2\\ 0& 0& \boxed 1& 2\\ 0& 0& 0& 0\\ \end{bmatrix} =\symbfit{R} \] 在MATLAB中,通过指令rref(A)即可获得矩阵的行最简形式。
可以注意到矩阵\(\symbfit{R}\)的主行(与主列的定义类似,主元所在的行)和主列“交汇处”(通过列交换实现)构成了一个单位矩阵\(\symbfit{I}=\begin{bmatrix}1&0\\0&1\end{bmatrix}\),自由列组成了矩阵\(\symbfit{F}=\begin{bmatrix}2&-2\\0&2\end{bmatrix}\),矩阵\(\symbfit{R}\)就可以表示为\(\symbfit{R}=\begin{bmatrix}\symbfit{I}&\symbfit{F}\\0&0\end{bmatrix}\)。如果要求解\(\symbfit{R}\symbfit{x}=\symbfit{0}\)的话,那么就可以构造一个零空间矩阵(nullspace matrix)\(\symbfit{N}\)(它的列由特解组成),实现\(\symbfit{R}\symbfit{N}=\symbfit{0}\),那么我们就可以推断出\(\symbfit{N}=\begin{bmatrix}-\symbfit{F}\\\symbfit{I}\end{bmatrix}\),如果主变量和自由变量分别由\(x_{pivot}\)和\(x_{free}\)表示,那么有\(\begin{bmatrix}\symbfit{I} &\symbfit{F}\end{bmatrix}\begin{bmatrix}x_{pivot} \\x_{free}\end{bmatrix}=\symbfit{0}\)(由\(\symbfit{R}\symbfit{x}=\symbfit{0}\)推出),可以得出:
\[x_{pivot}=-\symbfit{F}x_{free}\\ x_{pivot}=-\symbfit{F}\\ x_{free}=\symbfit{I} \]这也就是我们采用自由变量各自为1,其余为0的原因。
$\color{red}{注意!这里是经过了列变换的结果,得到x之后还是需要将其变换回原来的顺序的。}$这样就可以很便捷地求解矩阵的零空间了。
标签:begin,end,symbfit,求解,特解,矩阵,bmatrix,Ax,变量
From: https://www.cnblogs.com/zzzwwwqqq/p/18683822