L7-求解 Ax=0 主变量和特解

linear-algebra

L7-求解 Ax=0 主变量和特解

参考

这一节主要讲解一个算法/步骤,以求出由方程组 Ax=0Ax=0 的所有可能解(以列向量的形式)所构成的零空间 N(A)N(A)

  1. 通过矩阵变换和(或)矩阵置换,将矩阵 AA 变换为 UU 形式
    说明

    这里的 UU 矩阵并不一定是上三角矩阵,它只是形成和上三角矩阵类似的阶梯形式 echelon form

    因为当系数矩阵是不可逆矩阵/非奇异矩阵,则此时并不能得到完整的上三角矩阵 UU

  2. 通过主元位置,确认主列所对应的主变量,以及自由列对应的自由变量
  3. 对自由变量分配任意值
  4. 通过回代替换,求出主变量的值
  5. 得到特解(零空间中一个向量)

可以重复以上 3~5 步骤(尽可能)求出所有 xx 值,构成零空间 N(A)N(A)

求解零空间

已知方程组 Ax=0Ax=0 的系数矩阵如下,其中 2×col1=col22 \times col1 = col2row1+row2=row3row1 + row2 = row3,即矩阵的列或行并非都「独立」

使用消元法求解方程组,得出的所有可能解(列向量) xx 就构成零空间 N(A)N(A)

A=[1222246836810]\begin{aligned} A= \begin{bmatrix} 1 &2 &2 &2\\ 2 &4 &6 &8\\ 3 &6 &8 &10\\ \end{bmatrix} \end{aligned}
提示

根据 L2-矩阵消元 这一节的算法,使用消元法求解 Ax=bAx=b 时需要使用增广矩阵,但在求解零空间时,并不需要使用增广矩阵

这是由于矩阵 AA 的零空间针对的是一个特定的方程组 Ax=0Ax=0它的右边都是 00(所以方程组的右侧对于最后回代替换并不影响,所以无需构建增广矩阵将其纳入考虑)

注意

消元过程并不会改变 Ax=0Ax=0 的零空间 N(A)N(A),但会改变它的列空间 C(A)C(A)

由于零空间只与方程组的等式相关,只要等式关系不变,求出的解所构成的零空间都相同,消元步骤就是基于等式两边同乘系数,或两等式之间相加减,并不会改变各等式内的未知数的关系。

而求解列空间时,是基于原方程组的系数矩阵 AA 各列构成的向量张成的,在消元时进行系数矩阵的变换改动了元素,使得最后得到的矩阵 UURR 对应的列空间与 AA 对应的列空间不一样。

使用消元法将系数矩阵 AA 变换为 UU(阶梯形式 echelon form):

A=[1222246836810]E[122200240024]E[122200240000]=U\begin{aligned} A = \begin{bmatrix} 1 & 2 & 2 & 2 \\ 2 & 4 & 6 & 8 \\ 3 & 6 & 8 & 10 \\ \end{bmatrix} \xrightarrow{E} \begin{bmatrix} {\color{Red}1} & 2 & 2 & 2 \\ 0 & 0 & 2 & 4 \\ 0 & 0 & 2 & 4 \\ \end{bmatrix} \xrightarrow{E} \begin{bmatrix} {\color{Red}1} & 2 & 2 & 2 \\ 0 & 0 & {\color{Red}2} & 4 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} = U \end{aligned}
提示

由于第二列与第一列线性相关,所以在消元的第一步中,第二列本该是主元的元素被同时消去

而由于第三行与第一、二行线性相关,所以消元过程中主元被消去

最后使得矩阵 UU 只有 2 个主元

消元后矩阵 UU 的各列有两种形式:

  • 主列 pivot column:主元所在的列,第 1 列和第 3 列,分别对应未知数 x1x_{1}x3x_{3},它们称为主变量
  • 自由列 free column:主元不在的列,第 2 列和第 4 列,分别对应未知数 x2x_{2}x4x_{4},它们称为自由变量
Ux=[122200240000][x1x2x3x4]=x1[100]+x2[200]+x3[220]+x4[240]=[000]\begin{aligned} Ux = \begin{bmatrix} {\color{Red}1} & 2 & 2 & 2 \\ 0 & 0 & {\color{Red}2} & 4 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} \begin{bmatrix} x_{1} \\ x_{2} \\ x_{3} \\ x_{4} \end{bmatrix} & = x_{1} \begin{bmatrix} 1 \\ 0 \\ 0 \\ \end{bmatrix} + x_{2} \begin{bmatrix} 2 \\ 0 \\ 0 \\ \end{bmatrix} + x_{3} \begin{bmatrix} 2 \\ 2 \\ 0 \\ \end{bmatrix} + x_{4} \begin{bmatrix} 2 \\ 4 \\ 0 \\ \end{bmatrix} & = \begin{bmatrix} 0 \\ 0 \\ 0 \\ \end{bmatrix} \end{aligned}

Ux=0Ux=0 写成方程组形式

{x1+2x2+2x3+2x4=02x2+4x4=00=0\begin{aligned} \left\{ \begin{matrix} x_{1} + 2x_{2} + 2x_{3} + 2x_{4} & = 0 \\ 2x_{2} + 4x_{4} & = 0 \\ 0 & = 0 \end{matrix} \right. \end{aligned}
说明

在回代替换时,对于自由变量可以取任意值(由于无法通过等式关系确定它们的值,即它们取任意值也不响应方程组等式关系的成立)。

假设 x2=1x_{2}=1x4=0x_{4}=0,代入方程组可以求出 x1=2x_{1}=-2x3=0x_{3}=0

所以零空间其中一个向量(方程组的特解)就是:

x=[2100]\begin{aligned} x= \begin{bmatrix} -2\\ 1\\ 0\\ 0 \end{bmatrix} \end{aligned}

如果假设 x2=0x_{2}=0x4=1x_{4}=1,代入方程组可以求出 x1=2x_{1}=2x3=2x_{3}=-2

所以零空间其中另一个向量(方程组的另一个特解)就是:

x=[2020]\begin{aligned} x= \begin{bmatrix} 2\\ 0\\ -2\\ 0 \end{bmatrix} \end{aligned}

根据向量空间对于线性组合的封闭性,可以通过两个特解的所有线性组合,构建(张成)零空间 N(A)N(A) 其中 c、d 是任意系数

N(A)=c[2100]+d[2020]\begin{aligned} N(A)= c \begin{bmatrix} -2\\ 1\\ 0\\ 0 \end{bmatrix}+ d \begin{bmatrix} 2\\ 0\\ -2\\ 0 \end{bmatrix} \end{aligned}
说明

如果希望通过特解之间进行线性组合来构成零空间,所需至少的特解数量是由自由变量的数量(自由度)决定的,它的值是xx 的向量维度 nn 和矩阵 UU 的主变量的 rr 的差值 (nr)(n-r)

由于主变量需要满足方程的等式关系(其自由度受到等式限制),而自由变量可以任意取值,其自由度对应于零空间的维度

示例中由于 nr=42=2n-r=4-2=2,则 N(A)N(A) 可以由两个特解张成,其维度是 2,它的几何形式是在 R4\mathbb{R}^{4} 上的一个平面(二维)。

简化行阶梯形式

将矩阵 UU 进一步使用消元法变换为简化行阶梯形式 reduced row echelon form,rref 形式(该过程零空间仍未改变),该形式的矩阵主元为 11,且主元所在列上下的元素全是 00,记作 RR,便于求出零空间。

U=[122200240000]E[120200240000]E[120200120000]=R\begin{aligned} U = \begin{bmatrix} {\color{Red}1} & 2 & 2 & 2 \\ 0 & 0 & {\color{Red}2} & 4 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} \xrightarrow{E} \begin{bmatrix} {\color{Red}1} & 2 & 0 & -2 \\ 0 & 0 & {\color{Red}2} & 4 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} \xrightarrow{E} \begin{bmatrix} {\color{Red}1} & 2 & 0 & -2 \\ 0 & 0 & {\color{Red}1} & 2 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} = R \end{aligned}

然后将 Rx=0Rx=0 写回方程组等式的形式

{x1+2x22x4=0x3+2x4=00=0\begin{aligned} \left\{ \begin{matrix} x_{1} + 2x_{2} - 2x_{4} & = 0 \\ x_{3} + 2x_{4} & = 0 \\ 0 & = 0 \end{matrix} \right. \end{aligned}

只要为自由变量指定值,可以基于等式直接求出主变量的值,得到特解。

说明

对于方程组 Ax=0Ax=0 经过变换得到 Rx=0Rx=0 形式,最后在简化行阶梯形式中,对于列都可以统一写成主列在前,(如果有)自由列在后;对于行,(如果有)元素全是 00 的情况,都可以统一将这些行置于最后。

如果 RR 原来不是这样的结构,可以通过列交换得到相应的结构,对应向量 xx 的元素进行相应的调换即可,最后得到的解也不变。

如果由于矩阵 AA 存在一些线性相关的行,在消元过程中元素都变成 00,将它们调到最后,行变换并不影响最后得到的解。

最后得到一个 Rx=0Rx=0 更一般的表达形式,根据分块乘法,将主列中包含主变量对应的系数(此时都为 11)的分块记作 II,由该局部分块构成单位矩阵;将自由列包含自由变量对应的系数的分块记作 FF,则可以表示为

Rx=[IF00][xpivotxfree]=0[IF][xpivotxfree]=Ixpivot+Fxfree=0\begin{aligned} Rx = \begin{bmatrix} I & F \\ 0 & 0 \\ \end{bmatrix} \begin{bmatrix} x_{pivot} \\ x_{free} \\ \end{bmatrix} =0 \Rightarrow \begin{bmatrix} I & F \\ \end{bmatrix} \begin{bmatrix} x_{pivot} \\ x_{free} \\ \end{bmatrix} & = I \cdot x_{pivot} + F \cdot x_{free} = 0 \end{aligned}

所以可以基于自由变量(所取的值)和相应的系数确定各主变量的解 xpivot=Fxfreex_{pivot}=-F \cdot x_{free}

通过求解 Rx=0Rx=0 得到的解 xx 构成零空间矩阵 NN,即 RN=0RN=0,可以列出以下等式

RN=[IF00]N=0\begin{aligned} RN = \begin{bmatrix} I & F \\ 0 & 0 \\ \end{bmatrix} N=0 \end{aligned}

即可以得到零空间矩阵为 N=[FI]N=\begin{bmatrix}-F\\I\\\end{bmatrix}

提示

可以从矩阵相乘的角度考虑,将表达式 N=[FI]N=\begin{bmatrix}-F\\I\\\end{bmatrix} 代入到以上等式,可以验证其正确性(根据矩阵的分块乘法,相乘结果为 00


Copyright © 2024 Ben

Theme BlogiNote

Icons from Icônes