![](https://secure.gravatar.com/avatar/39916bae984cb93b797efd2b175f59c0.jpg?s=120&d=mm&r=g)
On Mon, 9 Jul 2007, Timothy Hochberg apparently wrote:
Why not simply use & and | instead of + and *?
A couple reasons, none determinative. 1. numpy is right a Python is wrong it this case (but granted, I would usually go with Python is such cases) 2. consistency with Boolean matrices Elaboration on 2: Boolean matrices currently behave as expected, with standard notation. Related to this, they handle exponents correctly. Suppose arrays are changed as you suggest. Then either - array behavior and matrix behavior are decoupled, or - matrix behavior is completely broken for boolen matrices Alan Isaac PS Examples of good behavior:
x matrix([[True, True], [True, False]], dtype=bool) y matrix([[False, True], [True, False]], dtype=bool) x*y matrix([[True, True], [False, True]], dtype=bool) x**2 matrix([[True, True], [True, True]], dtype=bool)