这一节介绍求解Ax=0,主变量和特解。本节的内容重点将从定义转向算法(turning the definition into an algorithm)。让我们来看看求解Ax=0的算法是怎样的。
1. 求解\(Ax=0\)的基础算法
我们从一个例子着手
\( A=\begin{bmatrix}1&2&2&2\\2&4&6&8\\3&6&8&10\end{bmatrix}\)
对于矩阵\(A\)消元,在消元过程中它的零空间不会改变,通过消元解\(Ax=0\)
\( A \to \begin{bmatrix}1&2&2&2\\0&0&2&4\\0&0&2&4\end{bmatrix} \to \begin{bmatrix}1&2&2&2\\0&0&2&4\\0&0&0&0\end{bmatrix} = U \)
我们把矩阵\( U \)中主元所在的列称为主列(pivot columns),其它的列称为自由列(free columns)。
这里可以看出,矩阵的秩在算法中的意义。矩阵中主元的数量就是矩阵的秩。
rank of \(A\) = number of pivots
对于上面的矩阵\(A\),它的主元的数量也就是它的秩为2。
自由列,顾名思义表示可以自由或任意分配数值,通常我们依次赋值为1和0。
原方程\(Ax=0\)就可以得出
\( \begin{bmatrix}*\\1\\*\\0\end{bmatrix}\)解得\( x=\begin{bmatrix}-2\\1\\0\\0\end{bmatrix}, 或\begin{bmatrix}*\\0\\*\\1\end{bmatrix}\)解得\( x=\begin{bmatrix}2\\0\\-2\\1\end{bmatrix} \)
两个特解
两个特解的所有线性组合
\( x=c \begin{bmatrix}-2\\1\\0\\0\end{bmatrix} +d \begin{bmatrix}2\\0\\-2\\1\end{bmatrix}\)
就是\(Ax=0\)的解
对本例子而言,矩阵\(A\)的秩\(r=2\),表示它的主变量的个数也就是主元的个数是2
对于\( (m\times n) \)矩阵,它有\(n\)个变量,若其秩为\(r\)即\(r\)个主变量,那么就有\( (n-r) \)个自由变量。
总结一下,求解\(Ax=0\)的完整算法
- 首先是消元
- 之后得到主元个数\(r\)
- 剩下\( (n-r) \)个自由变量
- 然后令自由变量依次取1和0,解出特解
- 特解的线性组合构成\(Ax=0\)的解
2.简化行阶梯形式
\( R=reduced\; row\; echelon\; form \)
简化行阶梯形式中,主元上下全是\( 0 \),且主元为\(1\)
\( \begin{bmatrix}1&2&2&2\\0&0&2&4\\0&0&0&0\end{bmatrix} \to \begin{bmatrix}1&2&0&-2\\0&0&2&4\\0&0&0&0\end{bmatrix} \to \begin{bmatrix}1&2&0&-2\\0&0&1&2\\0&0&0&0\end{bmatrix}=R \)
Matlab中 rref( ) 就是求简化行阶梯形式的命令
简化行阶梯形式以最简形式包含了矩阵\(A\)的所有信息:
主行、主列、自由列,并且主行和主列的交汇处构成了一个单位阵\(I\)
这样方程\(\;Ax=0\;\)就进行了转化,\( Ax=0 \to Ux=0 \to Rx=0 \)
对于上面的例子,\(R\)的构成可以分解为
\( \qquad \begin{bmatrix}1&0\\0&1\end{bmatrix} \qquad \qquad \begin{bmatrix}2&-2\\0&2\end{bmatrix}\)
主列构成的单位阵\(I\) , 自由列构成的矩阵\(F\)
矩阵\(A\)的简化行阶梯形式(rref form)
\(R=\left[ \begin{array}{c|c} I & F \\ \hline 0 & 0 \end{array} \right],r个主行\)
\( \qquad r个主列,(n-r)个自由列\)
\( 若RN=0,则N=\begin{bmatrix}-F\\I \end{bmatrix} \)
再看一个例子:
\( A=\begin{bmatrix}1&2&3\\2&4&6\\2&6&8\\2&8&10\end{bmatrix} \to \begin{bmatrix}1&2&3\\0&0&0\\0&2&2\\0&4&4\end{bmatrix} \to \begin{bmatrix}1&2&3\\0&2&2\\0&0&0\\0&4&4\end{bmatrix} \to \begin{bmatrix}1&2&3\\0&2&2\\0&0&0\\0&0&0\end{bmatrix}=U \to \begin{bmatrix}1&0&1\\0&1&1\\0&0&0\\0&0&0\end{bmatrix}=R\)
\(r=2\),自由列数=3-2=1
\(x=c\begin{bmatrix}-1\\-1\\1\end{bmatrix}=c\begin{bmatrix}-F\\I\end{bmatrix},这里\begin{bmatrix}-F\\I\end{bmatrix}就是N\)