线性代数 - 线性方程组的原始解法(高斯消元法)
flyfish
线性方程组
方程组:{2x1+x2+x3=1(1)4x1+3x2+3x3=2(2)8x1+7x2+9x3=6(3)即 Ax=b, A=211433879, b=126 \text{方程组:}\begin{cases} 2x_1 + x_2 + x_3 = 1 \quad (1) \\ 4x_1 + 3x_2 + 3x_3 = 2 \quad (2) \\ 8x_1 + 7x_2 + 9x_3 = 6 \quad (3) \end{cases} \quad \text{即}\ \mathbf{Ax}=\mathbf{b},\ \mathbf{A}=\begin{bmatrix}2&1&1\\4&3&3\\8&7&9\end{bmatrix},\ \mathbf{b}=\begin{bmatrix}1\\2\\6\end{bmatrix} 方程组:⎩ ⎨ ⎧2x1+x2+x3=1(1)4x1+3x2+3x3=2(2)8x1+7x2+9x3=6(3)即 Ax=b, A= 248137139 , b= 126
高斯消元法
逐步消去未知数的系数
增广矩阵
增广矩阵是把线性方程组的系数矩阵 和常数项向量"拼在一起"形成的新矩阵,目的是让"系数"和"常数"同步进行行变换,避免分开操作出错。
{2x1+x2+x3=1(常数项1)4x1+3x2+3x3=2(常数项2)8x1+7x2+9x3=6(常数项6) \begin{cases} 2x_1 + x_2 + x_3 = 1 \quad (\text{常数项1}) \\ 4x_1 + 3x_2 + 3x_3 = 2 \quad (\text{常数项2}) \\ 8x_1 + 7x_2 + 9x_3 = 6 \quad (\text{常数项6}) \end{cases} ⎩ ⎨ ⎧2x1+x2+x3=1(常数项1)4x1+3x2+3x3=2(常数项2)8x1+7x2+9x3=6(常数项6)
系数矩阵A\mathbf{A}A(只放未知数的系数):211433879\begin{bmatrix}2&1&1\\4&3&3\\8&7&9\end{bmatrix} 248137139
常数项向量b\mathbf{b}b(只放等号右边的数):126\begin{bmatrix}1\\2\\6\end{bmatrix} 126
把两者用竖线隔开,拼在一起就是增广矩阵 :
A∣b=211143328796 \\mathbf{A}\|\\mathbf{b} = \left\\begin{array}{ccc\|c} 2 \& 1 \& 1 \& 1 \\\\ % 第1行:系数+常数项1 4 \& 3 \& 3 \& 2 \\\\ % 第2行:系数+常数项2 8 \& 7 \& 9 \& 6 % 第3行:系数+常数项6 \\end{array}\\right A∣b= 248137139126
竖线左边是"未知数的系数",右边是"等号后的常数",这样后续做行变换时,系数和常数能同步变化,保证方程组的等价性(比如"给第1行乘2",系数和常数会一起乘2,方程依然成立)
原始解法:高斯消元法(直接求解)
通过行变换 将增广矩阵A∣b\\mathbf{A}\|\\mathbf{b}A∣b转化为上三角矩阵,再回代求解。
一、:构造增广矩阵并消元(转化为上三角)
增广矩阵:
A∣b=211143328796 \\mathbf{A}\|\\mathbf{b} = \left\\begin{array}{ccc\|c} 2 \& 1 \& 1 \& 1 \\\\ 4 \& 3 \& 3 \& 2 \\\\ 8 \& 7 \& 9 \& 6 \\end{array}\\right A∣b= 248137139126
消去第2、3行的x1x_1x1:
行2 = 行2 - 2×行1 → 211101108796\left\\begin{array}{ccc\|c}2\&1\&1\&1\\\\0\&1\&1\&0\\\\8\&7\&9\&6\\end{array}\\right 208117119106
行3 = 行3 - 4×行1 → 211101100352\left\\begin{array}{ccc\|c}2\&1\&1\&1\\\\0\&1\&1\&0\\\\0\&3\&5\&2\\end{array}\\right 200113115102
消去第3行的x2x_2x2:
行3 = 行3 - 3×行2 → 211101100022\left\\begin{array}{ccc\|c}2\&1\&1\&1\\\\0\&1\&1\&0\\\\0\&0\&2\&2\\end{array}\\right 200110112102 (上三角增广矩阵)
二、回代求解
由第3行:2x3=2 ⟹ x3=12x_3=2 \implies x_3=12x3=2⟹x3=1
代入第2行:x2+1=0 ⟹ x2=−1x_2 + 1=0 \implies x_2=-1x2+1=0⟹x2=−1
代入第1行:2x1−1+1=1 ⟹ x1=0.52x_1 -1 +1=1 \implies x_1=0.52x1−1+1=1⟹x1=0.5