title: XOR Matrix Multiplication in Python
body: <p>I am not sure how to multiply two matrices using the XOR addition. For example, here:</p>
  
  <pre><code>&gt;&gt;&gt; b = numpy.array([[1, 0, 0, 0, 1, 1, 0],
                       [0, 1, 0, 0, 0, 1, 1],
                       [0, 0, 1, 0, 1, 1, 1],
                       [0, 0, 0, 1, 1, 0, 1]])
  &gt;&gt;&gt; z = numpy.array([1, 1, 0, 1])
  &gt;&gt;&gt; z.dot(b)
  array([1, 1, 0, 1, 2, 2, 2])
  </code></pre>
  
  <p>I would like the 4th, 5th, and 6th indices of the resulting array to be computed by:</p>
  
  <pre><code>1(1) xor 0(1) xor 1(0) xor 1(1) = 0
  1(1) xor 1(1) xor 1(0) xor 0(1) = 0
  0(1) xor 1(1) xor 1(0) xor 1(1) = 0
  </code></pre>
  
  <p>Any suggestions?</p>