__mul__
中的类matrix
中的方法numpy
如何?
我想实现一个二进制矩阵乘法,并且我有Binary类
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__
。矩阵乘法有求和吗?
最佳答案
how does multiplication differ for NumPy Matrix vs Array classes?
http://wiki.scipy.org/NumPy_for_Matlab_Users
A * B是矩阵乘法,因此对于线性代数更方便。确保A和B是numpy数组/矩阵
关于python - 矩阵乘法。 python ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19755815/