假设我有这个矩阵:
1 1 1 | 1
0 0 1 | 1
这个系统显然有无限的解决方案。
x1 = -x2
x3 = 1
x1依赖于x2而x2是免费的,但我感兴趣的是x3。 有没有一种算法可以找到一个看起来像这样的解决方案:[NaN,NaN,1]用于x1,x2和x3?
我的猜测是你可以使用高斯消除算法的变体,但我不确定该怎么做。
答案 0 :(得分:1)
我假设系统至少有一个解决方案(您可以使用标准高斯消除检查它)。
引理:变量的值是固定的,当且仅当它是缩减行梯形形式中行中唯一的变量时。
证明: 如果它是行中唯一的变量,则对于均匀系统的任何解决方案,它必须为零。因此,它是原始系统的常量。
如果它不是行中唯一的变量,则其值不固定。实际上,行中的另一个变量是免费的,因此我们可以任意选择它的值。这个自由变量的两个不同选择给出了两个不同的枢轴变量值。
所以最终的解决方案如下:
使用高斯消元法得到矩阵的缩减行梯形。
检查是否至少有一个解决方案。如果没有退货的话。
如果变量是行中唯一的变量,则返回包含变量值的向量,否则返回1 1 0 0
0 0 1 1
。
在您的情况下,减少的梯队形式是:
[Nan, Nan, 3]
最后一个变量具有唯一值1.第二个变量是空闲的。第一个变量不是其行中唯一的变量。因此,结果是{{1}}。