[Numpy-discussion] complex comparisons
tim.hochberg at cox.net
Mon Mar 20 10:24:02 CST 2006
Travis Oliphant wrote:
> Tim Hochberg wrote:
>> I just noticed that complex arrays can be compared using [<, <=, >
>> and >=]. Do we really want this? I'd prefer to follow numarray's
>> lead here and only support [==, !=] on complex arrays.
> MATLAB has always provided complex comparisons by comparing the real
> part, so there is signifcant precedence for this.
> Anybody coming from MATLAB will appreciate it because while
> technically complex numbers are not ordered, often complex arrays are
> the result of calculations that result in real numbers but the
> data-type is still complex.
> But, now that .real and .imag work on *all* array data-types it is not
> an absolute necessity to support complex comparisons. I just think
> it's convenient and not especially confusing.
FWIW, it confused me. My first guess was that it was a bug. My second
guess that it was comparing complex numbers by their magnitude. It was
only after I dug into the code that I realized that it was comparing
real, then imaginary. (I suppose I could have tried to look in the docs
too, but it somehow seemed easier just to look in umathmodule).
Although I use complex numbers all the time, I'm not going to use this,
so in my case it's just a chance for errors to sneak into my code that
would otherwise be caught.
Much as I love MATLAB people, heck some of my best friends are MATLAB
people, I don't think this is a place we should be catering to them.
More information about the Numpy-discussion