日期:2024年5月5日标签:Algorithm/Math

线性系统 #

线性方程 #

线性方程的各项不是线性项(实数与次数为 1 的变量之积)就是常数。例如:

5x+3=72x1+4=12+17x25x3x+y=5\begin{aligned} & 5x + 3 = 7 \\ & 2x_{1} + 4 = 12 + 17x_{2} - 5x_{3} \\ & x + y = 5 \end{aligned}

我们知道含有两个未知数的线性方程的所有解,是一个二维空间中的直线。

两个未知数的线性系统 #

我比较感兴趣的是线性系统,即由多个线性方程所构成的线性方程组。这里只讨论两个未知数的方程所构成的线性系统。方程如下:

a1,1x+a1,2y=c1a2,1x+a2,2y=c2\begin{aligned} & a_{1,1}x + a_{1,2}y = c_1 \\ & a_{2,1}x + a_{2,2}y = c_{2} \end{aligned}

上面两个方程可以表示二维空间中的两条直线,所以方程的解可以从以下三个方面考虑:

  • 两条直线交于一点,方程有一个解
  • 两条直线不相交,平行,方程无解
  • 两条直线重合,方程有无数解

一般线性系统 #

m×nm \times n 的线性系统形式如下:

a1,1x1+a1,2x2++a1,nxn=c1a2,1x1+a2,2x2++a2,nxn=c2am,1x1+am,2x2++am,nxn=cma_{1,1}x_{1} + a_{1,2}x_{2} + \cdots + a_{1,n}x_{n} = c_{1} \\ a_{2,1}x_{1} + a_{2,2}x_{2} + \cdots + a_{2,n}x_{n} = c_{2} \\ \vdots \\ a_{m,1}x_{1} + a_{m,2}x_{2} + \cdots + a_{m,n}x_{n} = c_{m}

上述方程组可以用矩阵表示:

AX=CAX = C

即:

[a1,1a1,2a1,na2,1a2,2a2,nam,1am,2am,n][x1x2xm]=[c1c2cm]\begin{bmatrix} a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\ a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\ & & \vdots \\ a_{m,1} & a_{m,2} & \cdots & a_{m,n} \end{bmatrix} \begin{bmatrix} x_{1} \\ x_{2} \\ \vdots \\ x_{m} \\ \end{bmatrix} = \begin{bmatrix} c_{1} \\ c_{2} \\ \vdots \\ c_{m} \\ \end{bmatrix}

矩阵 A 为 系数矩阵(coefficient matrix),而矩阵

[a1,1a1,2a1,nc1a2,1a2,2a2,nc2am,1am,2am,ncm]\begin{bmatrix} a_{1,1} & a_{1,2} & \cdots & a_{1,n} & c_{1}\\ a_{2,1} & a_{2,2} & \cdots & a_{2,n} & c_{2}\\ & & \vdots \\ a_{m,1} & a_{m,2} & \cdots & a_{m,n} & c_{m} \end{bmatrix}

称为 增广矩阵(augmented matrix)

c1=c2==cm=0c_{1} = c_{2} = \cdots = c_{m} = 0 时,线性系统为 齐次系统(homogeneous system)

矩阵的秩 #

给一个方程组如下:

3x+2y=6xy=1\begin{align} 3x + 2y = 6 \\ x - y = 1 \end{align}

使用消元法求解,用 3-3 乘以(2),将结果与 (1) 相加,得到 5y=35y = 3,所以得到 y=3/5y = 3/5,将 y 带回(1)可得 x=8/5x = 8/5

将上述消元过程用矩阵表示。增广矩阵为:

[326111]\begin{bmatrix} 3 & 2 & 6 \\ 1 & -1 & 1 \end{bmatrix}

-3 乘以第二行:

[326333]\begin{bmatrix} 3 & 2 & 6 \\ -3 & 3 & -3 \end{bmatrix}

将第一行与第二行相加,并将得到的结果替换其中一个方程:

[326013/5]\begin{bmatrix} 3 & 2 & 6 \\ 0 & 1 & 3/5 \end{bmatrix}

上述对矩阵的 “消元” 过程,就是矩阵的减行过程,应用这些运算,即用一个数乘以矩阵的一行,用该行与另一行之和替换其中一行,显然不会影响系统的解。另一个不影响系统解的操作是交换矩阵的两行,显然线性方程组并不关心方程的次序。

对于 m×nm \times n 的线性系统

a1,1x1+a1,2x2+a1,3x3++a1,nxn=c1a2,1x1+a2,2x2+a2,3x3++a2,nxn=c2am,1x1+am,2x2+am,3x3++am,nxn=cma_{1,1}x_{1} + a_{1,2}x_{2} + a_{1,3}x_{3} + \cdots + a_{1,n}x_{n} = c_1 \\ a_{2,1}x_{1} + a_{2,2}x_{2} + a_{2,3}x_{3} + \cdots + a_{2,n}x_{n} = c_2 \\ \vdots \\ a_{m,1}x_{1} + a_{m,2}x_{2} + a_{m,3}x_{3} + \cdots + a_{m,n}x_{n} = c_m \\

进行“消元”后,得到

b1,1x1+b1,2x2+b1,3x3++b1,nxn=d1b2,k2xk2+b2,k3xk3++b2,nxn=d2br,krxkr++br,nxn=dr\begin{aligned} b_{1,1}x_{1} + b_{1,2}x_{2} + b_{1,3}x_{3} + \cdots + b_{1,n}x_{n} & = d_1 \\ b_{2,k_2}x_{k_2} + b_{2,k_3}x_{k_3} + \cdots + b_{2,n}x_{n} & = d_2 \\ & \vdots \\ b_{r,k_r}x_{k_r} + \cdots + b_{r,n}x_{n} & = d_r \end{aligned}

最后一个方程的下标不再与 m 有关,因为进行消元后,某些方程可能可以被完全消除,所以 rmr \leq m

  • 如果 r=mr = m,则系统有唯一解
  • 如果 r<mr < m,则未知数的个数比方程多,方程有无数解

总结,不会影响线性系统解的基本运算包含以下操作:

  • 交换两行。
  • 用一个非零常数乘以一行。
  • 用该行与另一行之和替代其中一行。

进行完全减行后的矩阵的非零行数,叫做矩阵的 ,秩是矩阵线性无关的行的向量的个数,如果秩等于维数,则矩阵的行可作为矩阵所定义空间的基。

(完)

目录