I'm by far not the first one to state that subclassing itself is a large part of what makes np.matrix so unsuitable. It's also what makes incorrect results (rather than a hard crash) much more possible.