<div dir="ltr">I don't understand.  Are you at pycon by any chance?</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 15, 2015 at 6:12 PM,  <span dir="ltr"><<a href="mailto:josef.pktd@gmail.com" target="_blank">josef.pktd@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Wed, Apr 15, 2015 at 6:08 PM,  <<a href="mailto:josef.pktd@gmail.com">josef.pktd@gmail.com</a>> wrote:<br>
> On Wed, Apr 15, 2015 at 5:31 PM, Neil Girdhar <<a href="mailto:mistersheik@gmail.com">mistersheik@gmail.com</a>> wrote:<br>
>> Does it work for you to set<br>
>><br>
>> outer = np.multiply.outer<br>
>><br>
>> ?<br>
>><br>
>> It's actually faster on my machine.<br>
><br>
> I assume it does because np.corrcoeff uses it, and it's the same type<br>
> of use cases.<br>
> However, I'm not using it very often (I prefer broadcasting), but I've<br>
> seen it often enough when reviewing code.<br>
><br>
> This is mainly to point out that it could be a popular function (that<br>
> maybe shouldn't be deprecated)<br>
><br>
> <a href="https://github.com/search?utf8=%E2%9C%93&q=np.outer" target="_blank">https://github.com/search?utf8=%E2%9C%93&q=np.outer</a><br>
> 416914<br>
<br>
</span>After thinking another minute:<br>
<br>
I think it should not be deprecated, it's like toepliz. We can use it<br>
also to normalize 2d arrays where columns and rows are different not<br>
symmetric as in the corrcoef case.<br>
<br>
Josef<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
><br>
> Josef<br>
><br>
><br>
>><br>
>> On Wed, Apr 15, 2015 at 5:29 PM, <<a href="mailto:josef.pktd@gmail.com">josef.pktd@gmail.com</a>> wrote:<br>
>>><br>
>>> On Wed, Apr 15, 2015 at 7:35 AM, Neil Girdhar <<a href="mailto:mistersheik@gmail.com">mistersheik@gmail.com</a>><br>
>>> wrote:<br>
>>> > Yes, I totally agree.  If I get started on the PR to deprecate np.outer,<br>
>>> > maybe I can do it as part of the same PR?<br>
>>> ><br>
>>> > On Wed, Apr 15, 2015 at 4:32 AM, Sebastian Berg<br>
>>> > <<a href="mailto:sebastian@sipsolutions.net">sebastian@sipsolutions.net</a>><br>
>>> > wrote:<br>
>>> >><br>
>>> >> Just a general thing, if someone has a few minutes, I think it would<br>
>>> >> make sense to add the ufunc.reduce thing to all of these functions at<br>
>>> >> least in the "See Also" or "Notes" section in the documentation.<br>
>>> >><br>
>>> >> These special attributes are not that well known, and I think that<br>
>>> >> might<br>
>>> >> be a nice way to make it easier to find.<br>
>>> >><br>
>>> >> - Sebastian<br>
>>> >><br>
>>> >> On Di, 2015-04-14 at 22:18 -0400, Nathaniel Smith wrote:<br>
>>> >> > I am, yes.<br>
>>> >> ><br>
>>> >> > On Apr 14, 2015 9:17 PM, "Neil Girdhar" <<a href="mailto:mistersheik@gmail.com">mistersheik@gmail.com</a>><br>
>>> >> > wrote:<br>
>>> >> >         Ok, I didn't know that.  Are you at pycon by any chance?<br>
>>> >> ><br>
>>> >> >         On Tue, Apr 14, 2015 at 7:16 PM, Nathaniel Smith<br>
>>> >> >         <<a href="mailto:njs@pobox.com">njs@pobox.com</a>> wrote:<br>
>>> >> >                 On Tue, Apr 14, 2015 at 3:48 PM, Neil Girdhar<br>
>>> >> >                 <<a href="mailto:mistersheik@gmail.com">mistersheik@gmail.com</a>> wrote:<br>
>>> >> >                 > Yes, I totally agree with you regarding np.sum and<br>
>>> >> >                 np.product, which is why<br>
>>> >> >                 > I didn't suggest np.add.reduce, np.multiply.reduce.<br>
>>> >> >                 I wasn't sure whether<br>
>>> >> >                 > cumsum and cumprod might be on the line in your<br>
>>> >> >                 judgment.<br>
>>> >> ><br>
>>> >> >                 Ah, I see. I think we should treat them the same for<br>
>>> >> >                 now -- all the<br>
>>> >> >                 comments I made apply to a lesser or greater extent<br>
>>> >> >                 (in particular,<br>
>>> >> >                 cumsum and cumprod both do the thing where they<br>
>>> >> >                 dispatch to .cumsum()<br>
>>> >> >                 .cumprod() method).<br>
>>> >> ><br>
>>> >> >                 -n<br>
>>> >> ><br>
>>> >> >                 --<br>
>>> >> >                 Nathaniel J. Smith -- <a href="http://vorpus.org" target="_blank">http://vorpus.org</a><br>
>>> >> >                 _______________________________________________<br>
>>> >> >                 NumPy-Discussion mailing list<br>
>>> >> >                 <a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
>>> >> ><br>
>>> >> > <a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
>>> >> ><br>
>>> >> ><br>
>>> >> ><br>
>>> >> ><br>
>>> >> >         _______________________________________________<br>
>>> >> >         NumPy-Discussion mailing list<br>
>>> >> >         <a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
>>> >> >         <a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
>>> >> ><br>
>>> >> > _______________________________________________<br>
>>> >> > NumPy-Discussion mailing list<br>
>>> >> > <a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
>>> >> > <a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
>>> >><br>
>>> >><br>
>>> >> _______________________________________________<br>
>>> >> NumPy-Discussion mailing list<br>
>>> >> <a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
>>> >> <a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
>>> >><br>
>>> ><br>
>>> ><br>
>>> > _______________________________________________<br>
>>> > NumPy-Discussion mailing list<br>
>>> > <a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
>>> > <a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
>>> ><br>
>>><br>
>>><br>
>>> I'm just looking at this thread.<br>
>>><br>
>>> I see outer used quite often<br>
>>><br>
>>> corrcoef = cov / np.outer(std, std)<br>
>>><br>
>>> (even I use it sometimes instead of<br>
>>> cov / std[:,None] / std<br>
>>><br>
>>> Josef<br>
>>> _______________________________________________<br>
>>> NumPy-Discussion mailing list<br>
>>> <a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
>>> <a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
>><br>
>><br>
>><br>
>> _______________________________________________<br>
>> NumPy-Discussion mailing list<br>
>> <a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
>> <a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
>><br>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
</div></div></blockquote></div><br></div>