matlab - 在有限域域中查找 A.x = b 中 x 的 "all solutions"

标签 matlab linear-algebra galois-field

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中找到所有解?

最佳答案

一般来说,

矩阵方程 Ax=b 的解不一定存在,即使存在,也不一定是唯一的。就您的情况而言,您知道存在多种解决方案。在这种情况下,您有一个“特定解决方案”,基本上是解决 Ax=b 的任何 x,现在,为了获得多个解决方案,您可以继续从 A 的零空间添加向量。

证明:

设 x 为特定解,y 位于 A 的零空间中(零空间中的任何向量都可以)。我们知道Ax=b。我们还知道Ay=0。将它们相加,A(x+y)=b。


TL;灾难恢复解决方案:

求 GF 中矩阵的零空间,并将零空间的任意向量添加到特定解中以生成更多解。

我没用过但是there seems to be a code on MATLAB Central它找到 GF 中矩阵的零空间。

关于matlab - 在有限域域中查找 A.x = b 中 x 的 "all solutions",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21956218/

相关文章:

python - 使用 Python 3 计算 gf(2^8) 中的乘法逆的纯 Python 方法

python - 求一个多项式以另一个系数在有限域中的多项式为模的倒数(倒数)

c++ - 是否有一种算法可以将 LAPACK 排列更改为真实排列?

algorithm - 线性方程的快速近似解?

python - NumPy矩阵加列向量

c# - 如何计算水平投影到有角度的线的点

python - 如何在伽罗华域上计算 numpy 数组?

Matlab "for loop"创建矩阵

Matlab 条形图和图例不在同一个方向

MATLAB fminunc() 未完成大型数据集。适用于较小的