Matlab提供了一种在GF(2 ^ m)中找到Ax = b的特定解的方法。这是链接http://www.mathworks.in/help/comm/ref/gflineq.html但它只提供一个解决方案。我怎样才能找到其他解决方案?
例如:GF(4)中的A = [1 0 2 0 0 1],GF(4)中的b = [0]。 x = A \ b给出[0 0 0 0 0 0]'作为解。我也知道[0 1 2 3 2 3]'是另一个解决方案。但除了全部为零之外,我无法得到任何其他解决方案。如何在Matlab中找到所有解决方案?
答案 0 :(得分:1)
总的来说,
矩阵方程Ax = b的解决方案不需要存在,即使它存在,也不必是唯一的。在您的情况下,您知道存在多种解决方案。在这种情况下,你有一个“特定的解决方案”,基本上,任何解决Ax = b的x,现在,为了得到多个解,你可以继续从A的Nullspace添加向量。
证明:
设x是特定的解,y在A的Nullspace中(Nullspace中的任何向量都可以)。我们知道Ax = b。我们也知道Ay = 0。加起来,A(x + y)= b。
TL; DR解决方案:
在GF中找到Matrix的Nullspace,并将Nullspace的任何向量添加到特定解决方案中,以生成更多解决方案。
我没有使用它,但there seems to be a code on MATLAB Central在GF中找到了Matrix的Nullspace。