首先,我们来说一下定义:
线性方程:表示成 a 1 x 1 + a 2 x 2 + a 3 x 3 + ⋯ + a n x n = c a_1x_1+a_2x_2+a_3x_3+\cdots+a_nx_n=c a1x1+a2x2+a3x3+⋯+anxn=c的方程称为线性方程。
比如 2 x 1 − 2 = 3 x 2 , 3 x 1 + 2 − 2 x 2 = 2 x 2 − 2 + 1 2 x 3 2x_1-2=3x_2,3x_1+2-2x_2=\sqrt2x_2-2+\dfrac12x_3 2x1−2=3x2,3x1+2−2x2=2x2−2+21x3都是线性方程,而 x 1 + x 2 = 3 , 3 x 1 + x 2 x 3 = − x 3 x_1+\sqrt{x_2}=3,3x_1+x_2x_3=-x_3 x1+x2=3,3x1+x2x3=−x3都不是线性方程。
而由线性方程构成的方程组称为线性方程组。
比如下面的方程组
{ x 1 + 2 x 2 = 3 2 x 1 − 3 x 2 = − 1 \begin{cases}x_1+2x_2=3\\2x_1-3x_2=-1 \end{cases} {x1+2x2=32x1−3x2=−1
{ x 1 − x 2 + 3 x 3 = 0 2 x 1 + 2 x 3 = 1 − 3 x 2 + x 3 = 2 \begin{cases} x_1-x_2+3x_3=0\\ 2x_1\qquad+2x_3=1\\\quad\ \ -3x_2+x_3=2\end{cases} ⎩⎪⎨⎪⎧x1−x2+3x3=02x1+2x3=1 −3x2+x3=2
都是线性方程组。线性方程组肯能有多解,用解集来表示线性方程组的解的集合。
二元线性方程可以理解成在平面上的一条直线。所以可以根据直线来判断二元线性方程组的解的形式。
我们可以引入一个数学工具矩阵来表示线性方程组。
比如上面那个例子:
{ x 1 − x 2 + 3 x 3 = 0 2 x 1 + 2 x 3 = 2 − 3 x 2 + x 3 = 2 \begin{cases} x_1-x_2+3x_3=0\\ 2x_1\qquad+2x_3=2\\\quad\ \ -3x_2+x_3=2\end{cases} ⎩⎪⎨⎪⎧x1−x2+3x3=02x1+2x3=2 −3x2+x3=2
将变量的系数写在一个矩阵里:
[ 1 − 1 3 2 0 2 0 − 3 1 ] \begin{bmatrix} 1&-1&3\\2&0&2\\0&-3&1\end{bmatrix} ⎣⎡120−10−3321⎦⎤
这个矩阵称为方程组的系数矩阵
但是,每个方程的值被忽略了呀!
所以,将系数和右端常数写在一个矩阵里,称为增广矩阵
上述方程的增广矩阵如下:
[ 1 − 1 3 0 2 0 2 2 0 − 3 1 2 ] \begin{bmatrix} 1&-1&3&0\\2&0&2&2\\0&-3&1&2\end{bmatrix} ⎣⎡120−10−3321022⎦⎤
可是,这样表示有什么用吗?
回忆一下,解线性方程的方法有什么?
可以将方程两端同乘一个非零常数,可以将两个方程加减。
所以,在增广矩阵中,也可以这么做。
对于上面的方程和增广矩阵,为了将其表示成 { x 1 = c 1 x 2 = c 2 x 3 = c 3 \begin{cases} x_1=c_1\\x_2=c_2\\x_3=c_3\end{cases} ⎩⎪⎨⎪⎧x1=c1x2=c2x3=c3,即矩阵 [ 1 0 0 c 1 0 1 0 c 2 0 0 1 c 3 ] \begin{bmatrix} 1&0&0&c_1\\0&1&0&c_2\\0&0&1&c_3\end{bmatrix} ⎣⎡100010001c1c2c3⎦⎤的形式,需要对矩阵进行变换
[ 1 − 1 3 0 2 0 2 2 0 − 3 1 2 ] \begin{bmatrix} 1&-1&3&0\\2&0&2&2\\0&-3&1&2\end{bmatrix} ⎣⎡120−10−3321022⎦⎤
将第二行减去两个第一行,相当于将方程②减掉两倍方程①,变成
[ 1 − 1 3 0 0 2 − 4 2 0 − 3 1 2 ] \begin{bmatrix} 1&-1&3&0\\0&2&-4&2\\0&-3&1&2\end{bmatrix} ⎣⎡100−12−33−41022⎦⎤
在将第二行除以 2 2 2,得到
[ 1 − 1 3 0 0 1 − 2 1 0 − 3 1 2 ] \begin{bmatrix} 1&-1&3&0\\0&1&-2&1\\0&-3&1&2\end{bmatrix} ⎣⎡100−11−33−21012⎦⎤
把第一行加上第二行,第三行加上两个第二行,得到
[ 1 0 1 1 0 1 − 2 1 0 0 − 5 5 ] \begin{bmatrix} 1&0&1&1\\0&1&-2&1\\0&0&-5&5\end{bmatrix} ⎣⎡1000101−2−5115⎦⎤
第三行除以 − 5 -5 −5得到
[ 1 0 1 1 0 1 − 2 1 0 0 1 − 1 ] \begin{bmatrix} 1&0&1&1\\0&1&-2&1\\0&0&1&-1\end{bmatrix} ⎣⎡1000101−2111−1⎦⎤
再把第一行减去第三行,第二行加上两个第三行
[ 1 0 0 2 0 1 0 − 1 0 0 1 − 1 ] \begin{bmatrix} 1&0&0&2\\0&1&0&-1\\0&0&1&-1\end{bmatrix} ⎣⎡1000100012−1−1⎦⎤
化成方程解的形式
{ x 1 = 2 x 2 = − 1 x 3 = − 1 \begin{cases} x_1=2\\x_2=-1\\x_3=-1\end{cases} ⎩⎪⎨⎪⎧x1=2x2=−1x3=−1
发现没有,这和解线性方程的过程完全相同,只需要一个变量一个变量的求解就可以了。
所以,总结一下,我们称上面说的这些变换称为矩阵的初等行变换
总的来说,初等行变换一共有下面几种:
很容易知道,两个线性方程组的增广矩阵是行等价的,则这两个方程组有相同解集。
有人会问了,既然使用矩阵能解出线性方程组,那能不能用矩阵判断线性方程组是否有解呢?
是可以的。很容易知道,形如
[ a 1 a 2 a 3 a 4 m 1 0 b 2 b 3 b 4 m 2 0 0 c 3 c 4 m 3 0 0 0 d 4 m 4 ] \begin{bmatrix} a_1&a_2&a_3&a_4&m_1\\0&b_2&b_3&b_4&m_2\\0&0&c_3&c_4&m_3\\0&0&0&d_4&m_4\end{bmatrix} ⎣⎢⎢⎡a1000a2b200a3b3c30a4b4c4d4m1m2m3m4⎦⎥⎥⎤
的增广矩阵一定有解,其中 a 1 , b 2 , c 3 , d 4 a_1,b_2,c_3,d_4 a1,b2,c3,d4不为 0 0 0,因为可以由下至上带入,即可解出每个未知数了。
并且我们知道,假如有一行前 n n n个数都是 0 0 0而后一个数不是 0 0 0,那这个方程一定无解,因为那就相当于等式 0 = 一 个 非 零 数 0=一个非零数 0=一个非零数了。
习题: