L7-求解 Ax=0 主变量和特解
参考
这一节主要讲解一个算法/步骤,以求出由方程组 的所有可能解(以列向量的形式)所构成的零空间
- 通过矩阵变换和(或)矩阵置换,将矩阵 变换为 形式
说明
这里的 矩阵并不一定是上三角矩阵,它只是形成和上三角矩阵类似的阶梯形式 echelon form
因为当系数矩阵是不可逆矩阵/非奇异矩阵,则此时并不能得到完整的上三角矩阵
- 通过主元位置,确认主列所对应的主变量,以及自由列对应的自由变量
- 对自由变量分配任意值
- 通过回代替换,求出主变量的值
- 得到特解(零空间中一个向量)
可以重复以上 3~5 步骤(尽可能)求出所有 值,构成零空间
已知方程组 的系数矩阵如下,其中 ,,即矩阵的列或行并非都「独立」。
使用消元法求解方程组,得出的所有可能解(列向量) 就构成零空间
提示
根据 L2-矩阵消元 这一节的算法,使用消元法求解 时需要使用增广矩阵,但在求解零空间时,并不需要使用增广矩阵
这是由于矩阵 的零空间针对的是一个特定的方程组 ,它的右边都是 (所以方程组的右侧对于最后回代替换并不影响,所以无需构建增广矩阵将其纳入考虑)
注意
消元过程并不会改变 的零空间 ,但会改变它的列空间 。
由于零空间只与方程组的等式相关,只要等式关系不变,求出的解所构成的零空间都相同,消元步骤就是基于等式两边同乘系数,或两等式之间相加减,并不会改变各等式内的未知数的关系。
而求解列空间时,是基于原方程组的系数矩阵 各列构成的向量张成的,在消元时进行系数矩阵的变换改动了元素,使得最后得到的矩阵 或 对应的列空间与 对应的列空间不一样。
使用消元法将系数矩阵 变换为 (阶梯形式 echelon form):
提示
由于第二列与第一列线性相关,所以在消元的第一步中,第二列本该是主元的元素被同时消去
而由于第三行与第一、二行线性相关,所以消元过程中主元被消去
最后使得矩阵 只有 2 个主元
消元后矩阵 的各列有两种形式:
- 主列 pivot column:主元所在的列,第 1 列和第 3 列,分别对应未知数 和 ,它们称为主变量
- 自由列 free column:主元不在的列,第 2 列和第 4 列,分别对应未知数 和 ,它们称为自由变量
将 写成方程组形式
说明
在回代替换时,对于自由变量可以取任意值(由于无法通过等式关系确定它们的值,即它们取任意值也不响应方程组等式关系的成立)。
假设 和 ,代入方程组可以求出 和
所以零空间其中一个向量(方程组的特解)就是:
如果假设 和 ,代入方程组可以求出 和
所以零空间其中另一个向量(方程组的另一个特解)就是:
根据向量空间对于线性组合的封闭性,可以通过两个特解的所有线性组合,构建(张成)零空间 其中 c、d 是任意系数
说明
如果希望通过特解之间进行线性组合来构成零空间,所需至少的特解数量是由自由变量的数量(自由度)决定的,它的值是解 的向量维度 和矩阵 的主变量的 的差值 。
由于主变量需要满足方程的等式关系(其自由度受到等式限制),而自由变量可以任意取值,其自由度对应于零空间的维度。
示例中由于 ,则 可以由两个特解张成,其维度是 2,它的几何形式是在 上的一个平面(二维)。
将矩阵 进一步使用消元法变换为简化行阶梯形式 reduced row echelon form,rref 形式(该过程零空间仍未改变),该形式的矩阵主元为 ,且主元所在列上下的元素全是 ,记作 ,便于求出零空间。
然后将 写回方程组等式的形式
只要为自由变量指定值,可以基于等式直接求出主变量的值,得到特解。
说明
对于方程组 经过变换得到 形式,最后在简化行阶梯形式中,对于列都可以统一写成主列在前,(如果有)自由列在后;对于行,(如果有)元素全是 的情况,都可以统一将这些行置于最后。
如果 原来不是这样的结构,可以通过列交换得到相应的结构,对应向量 的元素进行相应的调换即可,最后得到的解也不变。
如果由于矩阵 存在一些线性相关的行,在消元过程中元素都变成 ,将它们调到最后,行变换并不影响最后得到的解。
最后得到一个 更一般的表达形式,根据分块乘法,将主列中包含主变量对应的系数(此时都为 )的分块记作 ,由该局部分块构成单位矩阵;将自由列包含自由变量对应的系数的分块记作 ,则可以表示为
所以可以基于自由变量(所取的值)和相应的系数确定各主变量的解
通过求解 得到的解 构成零空间矩阵 ,即 ,可以列出以下等式
即可以得到零空间矩阵为
提示
可以从矩阵相乘的角度考虑,将表达式 代入到以上等式,可以验证其正确性(根据矩阵的分块乘法,相乘结果为 )