class AbstractMatrix(object):

    def __init__(self):
        self.data = np.array([[1, 2], [3, 4]])

def __mul__(self, other):
    return np.dot(self.data, other)

def __rmul__(self, other):
    return np.dot(other, self.data)
__array_priority__ = 10000
A = AbstractMatrix()
B = np.array([[4, 5], [6, 7]])
Переопределение других __rmul__ с помощью __mul__ вашего класса