[Numpy-discussion] boolean arrays

Nils Wagner nwagner at iam.uni-stuttgart.de
Thu Nov 26 13:35:26 EST 2009


On Thu, 26 Nov 2009 15:14:04 +0100
  Fabrice Silva <silva at lma.cnrs-mrs.fr> wrote:
> Le jeudi 26 novembre 2009 à 14:44 +0100, Gael Varoquaux 
>a écrit :
>> On Thu, Nov 26, 2009 at 02:43:14PM +0100, Fabrice Silva 
>>wrote:
>> > Le jeudi 26 novembre 2009 à 18:26 +0200, Nadav Horesh 
>>a écrit :
>> > > It is obvious to me that True+False == True,. Why do 
>>you think it should
>> > > be False?
>> 
>> > I would understand it is not obvious that '+' stands 
>>for logical 'or',
>> > and '*' for logical 'and'...
>> 
>> In Bool's algebra, this is the common convention. The 
>>reason being that
>> only 'or' can correspond to the additive law of an 
>>algebra: its null
>> element is absorbant for 'and'.
>> 
>> In other words, if you map '+' and '*' to the opposite, 
>>you'll get
>> suprising behaviors.
> 
> I fully agree with you. My point was to complete Nadav's 
>comment with
> potentially missing information, trying to figrue why 
>Nils was expected
>False...
> 
> -- 
>Fabrice Silva <silva at lma.cnrs-mrs.fr>
> LMA UPR CNRS 7051
  

Sorry, I mixed up '+' and '&'

>>> a = array(([True,True],[True,True]))
>>> b = array(([False,False],[False,False]))
>>> a & b
array([[False, False],
        [False, False]], dtype=bool)

Cheers,

              Nils



More information about the NumPy-Discussion mailing list