如何在MATLAB中求解GF(2)上Ax=B的所有解

  • 本文关键字:Ax MATLAB GF matlab
  • 更新时间 :
  • 英文 :


给定A和B,在GF(2(上求解x应给出2个解。示例:

A = [
1 0 0 0 1;
0 1 0 0 0;
0 0 1 0 0;
0 0 0 1 1;  ]

B(转置(=[0 0 0 0]

因此Ax=B产生x=[0 0 0 0]和x=[1 0 0 1 1]你可以看到

x1 + x5 = 0
x2 = 0
x3 = 0
x4 + x5 = 0

显然,x1和x5可以是0或1,x4可以是1或0

我应该补充一点:我试过使用

gflineq(A, B, 2);

但只有一个解决方案

您基本上已经有了一个布尔方程组,并且正在寻找所有的解决方案。如果方程和变量的数量很小,最简单的事情可能就是列举所有可能的解决方案(在你的小例子中,2^5=32种情况(,依次检查每个方案,并保留满足系统的方案。

如果你正在寻找一种在许多情况下更实用的通用表示(尽管显然总体上仍然是指数型的(,我建议使用BDD(https://en.wikipedia.org/wiki/Binary_decision_diagram(有各种完善的软件包可用于操作它们。不过,我不确定是否要将它们连接到Matlab。

相关内容

  • 没有找到相关文章