高斯消元学习笔记(一)——转载

本文深入探讨了高斯消元法解决线性方程组的步骤,包括增广矩阵行变换、求解变量及方程组通解,同时讲解了行列式的概念与性质,如行列式的不变性和计算公式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做法

具体来说,以 b a s e base base 为四位二进制数举例,此时 b a s e = ( a b c d ‾ ) 2 base=(\overline{abcd})_{2} base=(abcd)2。也就是下面这个矩阵:

1 1 1 2 2 2 3 3 3 4 4 4
a a a1000
b b b0100
c c c0010
d d d0001

由于伪随机代码已给出,所以我们可以模拟左移、右移以及异或。
比如上面这个矩阵左移一位就变成了:

1 1 1 2 2 2 3 3 3 4 4 4
a a a0000
b b b1000
c c c0100
d d d0010

右移和异或操作同理。

然后我们可以根据对方的手势反推出当前 b a s e base base 的最后一位的表达式。
比如对于以下矩阵:

1 1 1 2 2 2 3 3 3 4 4 4
a a a0111
b b b1001
c c c0110
d d d1011

并且推出此时 x x x 的最后一位为 1 1 1,那么有 a  xor  b  xor  d = 1 a\text{ xor }b\text{ xor }d=1 a xor b xor d=1

同理,每一轮进行一遍这样的操作,我们可以得到一堆这样的式子。最后高斯消元求解出 a b c d ‾ \overline{abcd} abcd,接下来就可以随便做做了。


高斯消元

用高斯消元解下列方程组。

{ 2 x 1 + 5 x 3 + 6 x 4 = 9 x 3 + x 4 = − 4 2 x 3 + 2 x 4 = − 8 \begin{cases}2x_1+5x_3+6x_4=9\\x_3+x_4=-4\\2x_3+2x_4=-8 \end{cases} 2x1+5x3+6x4=9x3+x4=42x3+2x4=8

第一步:增广矩阵行(初等)变换为行最简形

所谓增广矩阵,即为方程组系数矩阵 A A A 与常数列 b b b 的并生成的新矩阵,即 ( A ∣ b ) (A|b) (Ab),增广矩阵行初等变换化为行最简形,即是利用了高斯消元法的思想理念,省略了变量而用变量的系数位置表示变量,增广矩阵中用竖线隔开了系数矩阵和常数列,代表了等于符号。

( 2 0 5 6 0 0 1 1 0 0 2 2    9 − 4 − 8 )   r 3 − 2 r 2 → ( 2 0 5 6 0 0 1 1 0 0 0 0    9 − 4 0 ) \left(\begin{matrix}2&0&5&6\\0&0&1&1\\0&0&2&2\end{matrix}\ \ \begin{array}{|c}9\\-4\\-8\end{array}\right)\\\ \\ \underrightarrow{r_3-2r_2}\left(\begin{matrix}2&0&5&6\\0&0&1&1\\0&0&0&0\end{matrix}\ \ \begin{array}{|c}9\\-4\\0\end{array}\right) 200000512612  948  r32r2200000510610  940

化为行阶梯形

r 1 2 → ( 1 0 2.5 3 0 0 1 1 0 0 0 0    4.5 − 4 0 )   r 1 − 2.5 × r 2 → ( 1 0 0 0.5 0 0 1 1 0 0 0 0    14.5 − 4 0 ) \underrightarrow{\frac{r_1}{2}}\left(\begin{matrix}1&0&2.5&3\\0&0&1&1\\0&0&0&0\end{matrix}\ \ \begin{array}{|c}4.5\\-4\\0\end{array}\right)\\\ \\ \underrightarrow{r_1-2.5\times r_2}\left(\begin{matrix}1&0&0&0.5\\0&0&1&1\\0&0&0&0\end{matrix}\ \ \begin{array}{|c}14.5\\-4\\0\end{array}\right) 2r11000002.510310  4.540  r12.5×r21000000100.510  14.540

化为最简形

第二步:还原线性方程组

{ x 1 + 0.5 x 4 = 14.5 x 3 + x 4 = − 4 \begin{cases}x_1+0.5x_4=14.5\\x_3+x_4=-4\end{cases} {x1+0.5x4=14.5x3+x4=4

所谓的还原线性方程组,即是在行最简形的基础上,将之重新书写为线性方程组的形式,即将行最简形中各位置的系数重新赋予变量,中间的竖线还原为等号。

第三步:求解第一个变量

{ x 1 = − 0.5 x 4 + 14.5 x 3 = − x 4 − 4 \begin{cases}x_1=-0.5x_4+14.5\\x_3=-x_4-4\end{cases} {x1=0.5x4+14.5x3=x44

即是对于所还原的线性方程组而言,将方程组中每个方程的第一个变量,用其他量表达出来。如方程组两方程中的第一个变量 x 1 x_1 x1 x 3 x_3 x3

第四步:补充自由未知量

{ x 1 = − 0.5 x 4 + 14.5 x 2 = x 2 x 3 = − x 4 − 4 x 4 = x 4 \begin{cases}x_1=-0.5x_4+14.5\\x_2=x_2\\x_3=-x_4-4\\x_4=x_4\end{cases} x1=0.5x4+14.5x2=x2x3=x44x4=x4

第 3 步中,求解出变量 x 1 x_1 x1 x 3 x_3 x3,从而说明了方程剩余的变量 x 2 x_2 x2 x 4 x_4 x4 不受方程组的约束,是自由未知量,可以取任意值,所以需要在第 3 步骤解得基础上进行解得补充,补充的方法为 x 2 = x 2 , x 4 = x 4 x_2=x_2,x_4=x_4 x2=x2,x4=x4,这种解得补充方式符合自由未知量定义,并易于理解,因为是自由未知量而不受约束,所以只能自己等于自己。

第五步:列表示方程组的通解

( x 1 x 2 x 3 x 4 ) = ( 0 1 0 0 ) x 2 + ( − 0.5 0 − 1 1 ) x 4 + ( 14.5 0 − 4 0 )               = ( 0 1 0 0 ) C 1 + ( − 0.5 0 − 1 1 ) C 2 + ( 14.5 0 − 4 0 ) \begin{matrix}\left(\begin{matrix}x_1\\x_2\\x_3\\x_4\end{matrix}\right)=\left(\begin{matrix}0\\1\\0\\0\end{matrix}\right)x_2+\left(\begin{matrix}-0.5\\0\\-1\\1\end{matrix}\right)x_4+\left(\begin{matrix}14.5\\0\\-4\\0\end{matrix}\right)\\\\\ \ \ \ \ \ \ \ \ \ \ \ \ =\left(\begin{matrix}0\\1\\0\\0\end{matrix}\right)C_1+\left(\begin{matrix}-0.5\\0\\-1\\1\end{matrix}\right)C_2+\left(\begin{matrix}14.5\\0\\-4\\0\end{matrix}\right)\end{matrix} x1x2x3x4=0100x2+0.5011x4+14.5040             =0100C1+0.5011C2+14.5040

其中 C 1 C_1 C1 C 2 C_2 C2 为任意常数。

即在第 4 步的基础上,将解表达为列向量组合的表示形式,同时由于 x 2 x_2 x2 x 4 x_4 x4 是自由未知量,可以取任意值,所以在解得右边,令二者分别为任意常数 C 1 C_1 C1 C 2 C_2 C2,即实现了对方程组的求解。

行列式

N × N N\times N N×N 方阵行列式(Determinant)可以理解为所有列向量所夹的几何体的有向体积,

例如:

∣ 1 0 0 1 ∣ = 1   ∣ 1 2 2 1 ∣ = − 3 \begin{vmatrix}1&0\\0&1\end{vmatrix}=1\\\ \\ \begin{vmatrix}1&2\\2&1\end{vmatrix}=-3 1001=1 1221=3

行列式有公式

D = ∣ A ∣ = ∑ ( − 1 ) v a 1 , l 1 , a 2 , l 2 … a n , l n , D=|A|=\sum(-1)^va_{1,l_1},a_{2,l_2} \ldots a_{n,l_n}, D=A=(1)va1,l1,a2,l2an,ln,

其中 v v v l 1 , l 2 , ⋯   , l n l_1,l_2,\cdots,l_n l1,l2,,ln 中逆序对的个数。

通过体积概念理解行列式不变性是一个非常简单的办法:

  • 矩阵转置,行列式不变;
  • 矩阵行交换,行列式取反;
  • 矩阵行叠加,行列式不变;
  • 矩阵行伸长,行列式等比例变大。

由此,发现高斯消元不改变矩阵行列式,且最终行列式等于倒三角矩阵的对角线乘积。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值