如何在未确定的线性方程组中找到"partial"解?



假设我有这个矩阵:

11 1 | 1 0 0 1 | 1

这个系统显然有无限的解决方案。

x1 = -x2 x3
= 1

x1 依赖于 x2,x2 是免费的,但我感兴趣的是 x3。 有没有一种算法可以找到如下所示的解决方案:[NaN, NaN, 1] 表示 x1、x2 和 x3?

我的猜测是你可以使用高斯消除算法的变体,但我不确定该怎么做。

我假设一个系统至少有一个解决方案(你可以使用标准高斯消除来检查它)。

引理:变量的值是固定的,当且仅当它是缩减行梯队形式中行中的唯一变量时。

证明: 如果它是行中的唯一变量,则对于齐次系统的任何解决方案,它必须为零。因此,它是原始系统的常数。

如果它不是行中的唯一变量,则其值不固定。事实上,行中的另一个变量是自由的,因此我们可以任意选择它的值。此自由变量的两个不同选择给出了两个不同的枢轴变量值。

所以最终的解决方案看起来像这样:

  1. 使用高斯消除法获取矩阵的缩减行梯队形式。

  2. 检查是否至少有一个解决方案。如果没有返回某些内容。

  3. 如果变量是行中唯一的变量,则返回包含变量值的向量,否则Nan返回。

在您的情况下,简化的梯队形式为:

1 1 0 0
0 0 1 1

最后一个变量的唯一值为 1。第二个变量是自由变量。第一个变量不是其行中的唯一变量。因此,结果是[Nan, Nan, 3].

最新更新