如何在numpy中定义一个使用模2运算的矩阵?
例如:
0 0 1 0 1 0
1 1 + 0 1 = 1 0
谢谢!
答案 0 :(得分:7)
此操作称为“xor”。
>>> import numpy
>>> x = numpy.array([[0,0],[1,1]])
>>> y = numpy.array([[1,0],[0,1]])
>>> x ^ y
array([[1, 0],
[1, 0]])
BTW,(逐元素)乘法模2可以用“和”完成。
>>> x & y
array([[0, 0],
[0, 1]])
答案 1 :(得分:1)
你可以继承numpy.ndarray
并覆盖__add__
方法,但我认为只是明确一点要简单得多。例如:
import numpy as np
x = np.array([[0,0],[1,1]])
y = np.array([[1,0],[0,1]])
print (x + y) % 2
哪个收益率:
array([[1, 0],
[1, 0]])