[Numpy-discussion] Indexing empty dimensions with empty arrays

Jordi Gutiérrez Hermoso jordigh at octave.org
Mon Dec 26 18:35:47 EST 2011


On 26 December 2011 14:56, Ralf Gommers <ralf.gommers at googlemail.com> wrote:
>
>
> On Mon, Dec 26, 2011 at 8:50 PM, <josef.pktd at gmail.com> wrote:
>> I have a hard time thinking through empty 2-dim arrays, and don't know
>> what rules should apply.
>> However, in my code I might want to catch these cases rather early
>> than late and then having to work my way backwards to find out where
>> the content disappeared.
>
>
> Same here. Almost always, my empty arrays are either due to bugs or they
> signal that I do need to special-case something. Silent passing through of
> empty arrays to all numpy functions is not what I would want.

I find it quite annoying to treat the empty set with special
deference. "All of my great-grandkids live in Antarctica" should be
true for me (I'm only 30 years old). If you decide that is not true
for me, it leads to a bunch of other logical annoyances up there

The rule that shouldn't be special cased is what I described: x[idx1,
idx2] should be a valid construction if it's true that all elements of
idx1 and idx2 are integers in the correct range. The sizes of the
empty matrices are also somewhat obvious.

Special-casing vacuous truth makes me write annoying special cases.
Octave doesn't error out for those special cases, and I think it's a
good thing it doesn't. It's logically consistent.

- Jordi G. H.



More information about the NumPy-Discussion mailing list