2013-11-03 281 views
1

如何在类matrix中的方法__mul__numpy? 我想实现一个二元矩阵乘法,和我有类二进制矩阵乘法。 Python

class Binary(int): 
    def __init__(self, val): 
     if val != 0: 
      self.val = 1 
     else: self.val = 0 
    def __add__(self,other): 
     print('add') 
     return self.val^other 
    def __radd__(self, other): 
     print('radd') 
     return self.val^other 

我的测试:

from Binary import Binary 
from numpy import matrix 

i = Binary(1) 
o = Binary(0) 
a = matrix([i, i, o, i, i, o, o], dtype=Binary) 
b = matrix([[o, o, i], 
      [o, i, o], 
      [o, i, i], 
      [i, o, o], 
      [i, o, i], 
      [i, i, o], 
      [i, i, i]], dtype=Binary) 
print(a*b) 

结果:

/test.py 
[[2 1 2]] 

方法__add__不使用。而矩阵乘法有一个总和?

回答