system: [SYSTEM]

user: 4. 应用实例 4.1. 程序 restart:with(LinearAlgebra): sys:=[x[ 1 ]+x[ 2 ]-3x[ 3 ]-x[ 4 ]=1，3x[ 1 ]-x[ 2 ]-3x[ 3 ]+4x[ 4 ]=4，x[ 1 ]+5x[ 2 ]-9x[ 3 ]-8x[ 4 ]=0]: m:=nops(sys): wzs:=proc(m) local i，total; total:=0; for i from 1 to m do total:=total+100^i op(sys[i])[ 1 ] end do end proc: n:=nops([op(wzs(m))]): var:=[seq(x[i]，i=1..n)]: M:=GenerateMatrix(sys，var，augmented=true): A:=M[1..-1，1..-2]: b:=M[1..-1，-1]: U:=ReducedRowEchelonForm(M): R:=Rank(A): r:=Rank(M): jw:=n-r: X:=BackwardSubstitute(U，free=t): eta:=subs(seq(t[i]=0，i=1..jw)，X): X1:=NullSpace(A): xi:=seq(X1[i]，i=1..n-r): X0:=add(k[i] matrix(n，1，convert(X1[i]，list))，i=1..jw): C:=seq(k[i]，i=1..jw): zb:=U[1..r，1..n].Matrix(n，1，[seq(x[i]，i=1..n)]):# 等价方程组左边 zb1:=convert(zb，list): yb:=U[1..r，n+1]^%T:# 等价方程组右边 for i from 1 to r do if nops(zb1[i])=1 then r1[i]:=(zb1[i]=yb[i]) else r1[i]:=(op(solve(zb1[i]=yb[i]，{op(zb1[i])[ 1 ]}))) end if end do: sys1:={seq(r1[i]，i=1..r)}:# 等价方程组 if R=r=n then WYJ:=zb=U[1..r，n+1]:end if: for i from 1 to r do if nops(zb1[i])=1 then r0[i]:=(zb1[i]=0) else r0[i]:=(op(solve(zb1[i]=0，{op(zb1[i])[ 1 ]}))) end if end do: sys0:={seq(r0[i]，i=1..r)}:# 等价方程组对应的齐次方程组 var1:={seq(var[i]，i=1..n)} minus {seq(lhs(r1[i])，i=1..r)}: var1a:= : tj0:=seq(var1[i]=0，i=1..jw): TJ0:=var1a= : JC:=Matrix(jw，shape=identity): if jw>1 then TJ:=seq(var1a=JC[1..jw，jw-i]，i=0..jw-1) else TJ:=var1a[ 1 ]=1: end if : WZ1:=(解对方程组的增广矩阵)： WZ2:=(作初等行变换后得其行最简形)： WZ20:=(所以系数矩阵和增广矩阵的秩)： WZ21:=(增广矩阵的秩)： WZ22:=(因此方程组无解)： WZ23:=(因此方程组有唯一解)： WZ3:=(所以原方程组等价于方程组)： WZ4:=(令)： WZ5:=(得特解)： WZ6:=(把)： WZ7:=(分别代入等价方程组对应的齐次方程组)： WZ8:=(得基础解系)： WZ9:=(则方程组的通解为)： WZ10:=(其中)： WZ11:=(为任意常数) :#解题过程中文字表述 if R lprint(WZ3)，print(sys1)， lprint(WZ22) elif R=r=n then lprint(WZ1)，print(‘M’=M)， lprint(WZ2)，print(‘U’=U)， lprint(WZ20)，print(‘R’=R， ‘r’=r)， lprint(WZ3)，print(sys1)， lprint(WZ23)， print(WYJ) else lprint(WZ1)，print(‘M’=M)， lprint(WZ2)，print(‘U’=U)， lprint(WZ20)，print(‘R’=R， ‘r’=r)， lprint(WZ3)， print(sys1)， lprint(WZ4)， print(tj0)， lprint(WZ5)， print(‘η’=η)， lprint(WZ6)， print(TJ)， lprint(WZ7)， print(sys0)， lprint(WZ8)，print(ξ)， lprint(WZ9)，print( ‘X’=X0+eta)， lprint(WZ10)，print(C)， lprint(WZ11) end if #按三种模式输出解题过程 4.2. 三种解题模式 4.2.1. 线性方程组无解模式 例1：解方程组 { 2 x 1 − 3 x 2 + x 3 − 2 x 4 = 2 ， x 1 − x 3 + 2 x 4 = 2 ， 3 x 1 + 2 x 2 + x 3 = − 1 ， − x 1 + 2 x 2 − x 3 + 2 x 4 = − 4. 在《自动求解线性方程组》Maple工作表中录入线性方程组 sys:=[2x[ 1 ]-3x[ 2 ]+x[ 3 ]-2x[ 4 ]=2，x[ 1 ]-x[ 3 ]+2x[ 4 ]=2，3x[ 1 ]+2x[ 2 ]+x[ 3 ]=-1，-x[ 1 ]+2x[ 2 ]-x[ 3 ]+2x[ 4 ]=-4]: 并执行整个工作表得到 解： 对方程组的增广矩阵 M = [ 2 − 3 1 − 2 2 1 0 − 1 2 2 3 2 1 0 − 1 − 1 2 − 1 2 − 4 ] ， 作初等行变换后得其行最简形 U = [ 1 0 0 1 3 0 0 1 0 1 3 0 0 0 1 − 5 3 0 0 0 0 0 1 ] ， 所以系数矩阵和增广矩阵的秩 R = 3 ，   r = 4 原方程组等价于方程组 { 0 = 1 ， x 1 = − 1 3 x 4 ， x 2 = − 1 3 x 4 ， x 3 = 5 3 x 4 } ，因此方程组无解。 4.2.2. 唯一解模式 例2：求方程组 { 2 x 1 + x 2 − 5 x 3 + x 4 = 8 ， x 1 − 3 x 2 − 6 x 4 = 9 ， 2 x 2 − x 3 + 2 x 4 = − 5 ， x 1 + 4 x 2 − 7 x 3 + 6 x 4 = 0 ， 的解。 在《自动求解线性方程组》Maple工作表中录入线性方程组 sys:=[2x[ 1 ]+x[ 2 ]-5x[ 3 ]+x[ 4 ]=8，x[ 1 ]-3x[ 2 ]-6x[ 4 ]=9，2x[ 2 ]-x[ 3 ]+2x[ 4 ]=-5，x[ 1 ]+4x[ 2 ]-7x[ 3 ]+6x[ 4 ]=0]: 并执行整个工作表得到 解： 对方程组的增广矩阵 M = [ 2 1 − 5 1 8 1 − 3 0 − 6 9 0 2 − 1 2 − 5 1 4 − 7 6 0 ] ，作初等行变换后得其行最简形 U = [ 1 0 0 0 3 0 1 0 0 − 4 0 0 1 0 − 1 0 0 0 1 1 ] ， 所以系数矩阵和增广矩阵的秩 R = 4 ，   r = 4 原方程组等价于方程组 { x 1 = 3 ， x 2 = − 4 ， x 3 = − 1 ， x 4 = 1 } ，所以方程组有唯一解 [ x 1 x 2 x 3 x 4 ] = [ 3 − 4 − 1 1 ] 。 4.2.3. 有无穷多解模式 例3：求方程组 { x 1 + 2 x 2 − x 3 + 3 x 4 + x 5 = 2 ， 2 x 1 + 4 x 2 − 2 x 3 + 6 x 4 + 3 x 5 = 6 ， − x 1 − 2 x 2 + x 3 − x 4 + 3 x 5 = 4 ， 的通解。 在《自动求解线性方程组》Maple工作表中录入线性方程组 sys:=[x[ 1 ]+2x[ 2 ]-x[ 3 ]+3x[ 4 ]+x[ 5 ]=2，2x[ 1 ]+4x[ 2 ]-2x[ 3 ]+6x[ 4 ]+3x[ 5 ]=6，-x[ 1 ]-2x[ 2 ]+x[ 3 ]-x[ 4 ]+3x[ 5 ]=4]: 并执行整个工作表得到 解： 对方程组的增广矩阵 M = [ 1 2 − 1 3 1 2 2 4 − 2 6 3 6 − 1 − 2 1 − 1 3 4 ] ， 作初等行变换后得其行最简形 U = [ 1 2 − 1 0 0 3 0 0 0 1 0 − 1 0 0 0 0 1 2 ] ， 所以原方程组等价于方程组 { x 1 = 3 − 2 x 2 + x 3 ， x 4 = − 1 ， x 5 = 2 } 。 令 x 3 = 0 ， x 4 = 0 得特解 η = [ 3 0 0 − 1 2 ] ，把 [ x 3 x 4 ] = [ 0 1 ] ， [ x 3 x 4 ] = [ 1 0 ] ，分别代入等价方程组对应的齐次方程组 { x 1 = − 2 x 2 + x 3 ， x 4 = 0 ， x 5 = 0 } 得基础解系 ξ = [ 1 0 1 0 0 ] ， [ − 2 1 0 0 0 ] ，则方程组的通解为 X = k 1 [ 1 0 1 0 0 ] + k 2 [ − 2 1 0 0 0 ] + [ 3 0 0 − 1 2 ] ， 其中 k 1 ， k 2 为任意常数。