2013-11-03 327 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__不使用。而矩陣乘法有一個總和?

回答