the Python documentation for
Matrix.__mul__(self, other) states:
If both objects are of type Matrix, multiplies the left hand matrix by the right hand matrix.
Which is very confusingly worded IMHO, since right-handed and left-handed matrices are defined terms, but most likely not what this section is referring to. To avoid ambiguities it should be probably something like this instead:
If both objects are of type Matrix, it multiplies the matrix on the left side of the operator by the matrix on the right side of the operator.
or preferably just :
If both objects are of type Matrix, it multiplies self by other.