<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 28, 2014 at 10:11 PM, Nathaniel Smith <span dir="ltr"><<a href="mailto:njs@pobox.com" target="_blank">njs@pobox.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">.diagonal has no magic, it just turns out that the diagonal of any strided array is also expressible as a strided array. (Specifically, new_strides = (sum(old_strides),).) </blockquote></div><br><br style="font-family:arial,sans-serif;font-size:12.6666669845581px"><span style="font-family:arial,sans-serif;font-size:12.6666669845581px">This is genius!  Once you mentioned this, it is obvious how the new diagonal() works and one can only wonder why it took over 20 years to get this feature in NumPy.</span><br></div></div>