我想在 Python 中操作有限域 GF(2) 的元素矩阵,其中每个元素都是 1 或 0。我看到numpy可以使用dtype=bool,但它使用饱和加法,而不是包装,所以它没有实现GF(2),其中
1 + 1 = 0
。有没有办法在 numpy 或其他包中做到这一点?我特别需要能够在场内进行矩阵乘法、求逆和求解线性方程组。
如果您使用 numpy 包,您可以通过使用异或运算来实现“包装”加法。例如-
import numpy
x = numpy.array([[1,0],[1,1]])
y = numpy.array([[1,1],[1,0]])
x ^ y
给出
的输出array([[0, 1],
[0, 1]])
这似乎符合您的需求