解线性方程组,一般来说,最有效的方法就是高斯消元法。我们来看一个例子。
例1:解线性方程组
\[\begin{cases}x+y+2z=9,\quad & \textcircled{1}\\2x+4y-3z=1,&\textcircled{2}\\ 3x+6y-5z=0,&\textcircled{3}\end{cases}\]
\(\textcircled{2}+\textcircled{1}\times (-2), \textcircled{3}+\textcircled{1}\times (-3)\),我们有
\[\begin{cases}x+y+2z=9,\quad & \textcircled{1}\\2y-7z=-17,&\textcircled{2}\\ 3y-11z=-27,&\textcircled{3}\end{cases}\]
\(\textcircled{2}\time\frac{1}{2}\),
\[\begin{cases}x+y+2z=9,\quad & \textcircled{1}\\y-\frac{7}{2}z=-\frac{17}{2},&\textcircled{2}\\ 3y-11z=-27,&\textcircled{3}\end{cases}\]
\(\textcircled{3}+\textcircled{2}\times(-3)\),
\[\begin{cases}x+y+2z=9,\quad & \textcircled{1}\\y-\frac{7}{2}z=-\frac{17}{2},&\textcircled{2}\\ -\frac{1}{2}z=-\frac{3}{2},&\textcircled{3}\end{cases}\]
\(\textcircled{3}\time(-2)\),
\[\begin{cases}x+y+2z=9,\quad & \textcircled{1}\\y-\frac{7}{2}z=-\frac{17}{2},&\textcircled{2}\\ z=3,&\textcircled{3}\end{cases}\]
\(\textcircled{2}+\textcircled{3}\time\frac{7}{2}, \textcircled{1}+\textcircled{3}\time(-2)\),
\[\begin{cases}x+y=3,\quad & \textcircled{1}\\y=2,&\textcircled{2}\\ z=3,&\textcircled{3}\end{cases}\]
\(\textcircled{1}+\textcircled{2}\time(-1)\),
\[\begin{cases}x=1\\ y=2\\z=3\end{cases}\]
这样我们就解出了方程组。
从上面我们求解的过程中我们看到,我们并没有对“变量”做什么,而是对变量的系数及非齐次项做了一些运算,我们可以将系数及非齐次项提出来,对它们进行运算,等价于对方程组做消元法。我们来看对应的运算
方程的系数与非齐次项按照顺序组成一个表,这样的数表我们称之为矩阵:
\[\begin{pmatrix}1&1&2&\vdots& 9&\textcircled{1}\\ 2&4&-3&\vdots&1&\textcircled{2}\\ 3&6&-5&\vdots&0&\textcircled{3}\end{pmatrix}\]
消元法的运算对应于矩阵的运算:
\[\begin{align*}\begin{pmatrix}1&1&2&\vdots& 9&\textcircled{2}\\ 2&4&-3&\vdots&1&\textcircled{2}+\textcircled{1}\times (-2)\\ 3&6&-5&\vdots&0&\textcircled{3}+\textcircled{1}\times (-3)\end{pmatrix}& \sim\begin{pmatrix}1&1&2&\vdots&9&\\ 0&2&-7&\vdots& -17&\textcircled{2}\times\frac{1}{2}\\ 0&3&-11&\vdots&-27\end{pmatrix}\\ \sim \begin{pmatrix}1&1&2&\vdots&9&\\ 0&1&-\frac{7}{2}&\vdots& -\frac{17}{2}&\\ 0&3&-11&\vdots&-27&\textcircled{3}+\textcircled{2}\times(-3)\end{pmatrix} &\sim \begin{pmatrix}1&1&2&\vdots&9&\\ 0&1&-\frac{7}{2}&\vdots& -\frac{17}{2}&\\ 0&0&-\frac{1}{2}&\vdots&-\frac{3}{2}&\textcircled{3}\times(-2)\end{pmatrix}\\ \sim \begin{pmatrix}1&1&2&\vdots&9&\\ 0&1&-\frac{7}{2}&\vdots& -\frac{17}{2}&\textcircled{2}+\textcircled{3}\times\frac{7}{2}\\ 0&0&1&\vdots&3\end{pmatrix}&\sim \begin{pmatrix}1&1&2&\vdots&9&\textcircled{1}+\textcircled{3}\times(-2)\\ 0&1&0&\vdots& 2&\\ 0&0&1&\vdots&3\end{pmatrix}\\ \sim \begin{pmatrix}1&1&0&\vdots&3&\textcircled{1}+\textcircled{2}\times(-1)\\ 0&1&0&\vdots& 2&\\ 0&0&1&\vdots&3\end{pmatrix}&\sim \begin{pmatrix}1&0&0&\vdots&1\\ 0&1&0&\vdots& 2\\ 0&0&1&\vdots&3\end{pmatrix} \end{align*}\]
回到方程组,上面的矩阵对应于方程组 \[\begin{cases}x=1\\y=2\\z=3\end{cases}\]
我们看到了,方程组的消元法,对应于矩阵的一系列的运算,这样的运算,我们称之为矩阵的初等(行)变换。
现在我们给出矩阵的一般概念。
2,矩阵:我们将 \(m\) 行, \(n\) 列数字组成的数叫做 \(m\times n\) 矩阵,记做 \(A_{m\times n}\),
\[A=\begin{pmatrix}a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\ \vdots&\vdots&&\vdots\\ a_{m1}&a_{m2}&\cdots&a_{mn}\end{pmatrix}\]如果不需要特别指出它的行、列数,我们可以直接以大写字母 \(A,B,\cdots\) 等等表示矩阵。
3,系数矩阵与增广矩阵:考虑方程组
\begin{cases}a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n=b_1\\ a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n=b_2\\ \vdots\quad \vdots\quad \vdots\\ a_{m1}x_1+a_{m2}x_2+\cdots+a_{mn}x_n=b_m\end{cases}
我们记
\[A=\begin{pmatrix}a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\ \vdots&\vdots&&\vdots\\ a_{m1}&a_{m2}&\cdots&a_{mn}\end{pmatrix},\quad \vec{x}=\begin{pmatrix}x_1\\x_2\\ \vdots\\ x_n\end{pmatrix},\quad \vec{b}=\begin{pmatrix}b_1\\b_2\\ \vdots b_m\end{pmatrix} \]
\[(A\vdots \vec{b})= \begin{pmatrix}a_{11}&a_{12}&\cdots&a_{1n}&\vdots &b_1\\ a_{21}&a_{22}&\cdots&a_{2n}&\vdots&b_2\\ \vdots&\vdots&&\vdots\\ a_{m1}&a_{m2}&\cdots&a_{mn}&\vdots& b_m\end{pmatrix}\]
系数矩阵与增广矩阵:我们称 \(A\) 为方程组的系数矩阵, \((A\vdots \vec{b})\) 为方程组的增方矩阵。
再由以上的记号,方程组可以简写为 \(A\vec{x}=\vec{b}\)。
4,矩阵的初等变换:我们之前看到了,方程组的消元法对应于矩阵的初等(行)变换。消元法主要是以下三种运算
- 将一个方程乘以某个不等于 \(0\) 的常数;
- 将一个方程加上另一个方程的某个倍数;
- 交换两个方程
那么对应于矩阵的运算为:
- 将矩阵的一行乘以某个不等于 \(0\) 的常数;
- 将一行加上另一行的某个倍数;
- 交换两行。
我们看到,矩阵的初等变换与行列式的初等变换是一样的。只是一般情况下,行列式的初等运算可以同时对行和列进行,但矩阵的初等变换一般只对行或者列进行。要同时进行有很多限制。
5,行阶梯矩阵:这种形状的矩阵称为行阶梯矩阵
\[\begin{pmatrix} 1&1&2&9\\ 0&2&-7& -17\\ 0&0& -1&3\\0&0&0&0\end{pmatrix}\]用文字描述就是满足下列两个条件的矩阵:
- 每一个非 \(0\) 行的第一个非 \(0\) 元的下方元素都是 \(0\);
- 每一个非 \(0\) 行的第一个非 \(0\) 元位于上一行第一个非 \(0\) 元的右边。
- 全 \(0\) 行位于矩阵的最下方
行最简矩阵,就是这种形状的矩阵
\[\begin{pmatrix}1&0&1&0&2\\ 0&1&2&0&-1\\ 0&0&0&1&3\\ 0&0&0&0&0\end{pmatrix}\]
用文字描述就是满足下列三个条件的矩阵:
- 每一个非 \(0\) 行最左边的非 \(0\) 元都是 \(1\)
- 每一个非 \(0\) 行的最左边的非 \(0\) 元的上、下方元素都是 \(0\);
- 每一个非 \(0\) 行的第一个非 \(0\) 元位于上一行第一个非 \(0\) 元的右边。
- 全 \(0\) 行位于矩阵的最下方 。
很显然,行最简矩阵都是行阶梯形矩阵。
解线性方程组的过程,我们就是将方程组的增广矩阵化成行最简矩阵,然后从行最简矩阵所对应的方程组,可以很容易地得到方程组的解。如果方程组是齐次的,就是方程组右边全为 \(0\),我们只需要对系数矩阵化简就行了,因为右边无论怎么变,始终是 \(0\)。
注意,一定要化成行最简矩阵,这样求解更方便快速。虽然化成行阶梯形就能求出解,但计算仍然不是很方便,也容易出错。我们来看一个利用矩阵的初等变换来解线性方程组的例子。
例2:解线性方程组
\begin{cases}-x_1+2x_2-5x_3=2\\ -2x_1-3x_2+4x_3=11\\ 4x_1-7x_2+17x_3=-7\end{cases}
解:我们对方程组的增广矩阵作初等行变换,
\begin{align*}(A,\vec{b})&=\begin{pmatrix}-1&2&-5&\vdots&2\\ -2&-3&4&\vdots&11\\ 4&-7&17&\vdots&-7\end{pmatrix}\sim \begin{pmatrix}-1&2&-5&\vdots&2\\ 0&-7&14&\vdots&7\\ 0&1&-3&\vdots&1\end{pmatrix}\\ &\sim \begin{pmatrix}-1&2&-5&\vdots&2\\ 0&1&-2&\vdots&-1\\ 0&1&-3&\vdots&1\end{pmatrix}\sim \begin{pmatrix}-1&2&-5&\vdots&2\\ 0&1&-2&\vdots&-1\\ 0&0&-1&\vdots&2\end{pmatrix}\\ &\sim \begin{pmatrix}1&-2&5&\vdots&-2\\ 0&1&-2&\vdots&-1\\ 0&0&1&\vdots&-2\end{pmatrix}\sim \begin{pmatrix}1&-2&0&\vdots&8\\ 0&1&0&\vdots&-5\\ 0&0&1&\vdots&-2\end{pmatrix}\\ &\sim \begin{pmatrix}1&0&0&\vdots&-2\\ 0&1&0&\vdots&-5\\ 0&0&1&\vdots&-2\end{pmatrix}\end{align*}
这已经是行最简矩阵了,它所对应的方程组为
\begin{cases}x_1=-2\\ x_2=-5\\ x_3=-2\end{cases} 这就是方程组的解。