[Numpy-discussion] How to get rid of the loop?

Stas K stanconn@gmail....
Sat Nov 7 13:16:51 CST 2009


Thank you, Josef

It is exactly what I want:
>>>> ar[:,None]**2 + ar**2

Do you know something about performance of this? In my real program  
ar  have ~ 10k elements, and expression for v more complicated (it has  
some trigonometric functions)


On 07.11.2009, at 21:57, josef.pktd@gmail.com wrote:

> On Sat, Nov 7, 2009 at 1:51 PM, Stas K <stanconn@gmail.com> wrote:
>> Can I get rid of the loop in this example? And what is the fastest  
>> way
>> to get v in the example?
>>
>> ar = array([1,2,3])
>> for a in ar:
>>    for b in ar:
>>        v = a**2+b**2
>
>>>> ar[:,None]**2 + ar**2
> array([[ 2,  5, 10],
>       [ 5,  8, 13],
>       [10, 13, 18]])
>
> I think, for this case there is also directly a function in numpy
> hypot which should also work.
>
> Josef
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion@scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20091107/f1ebf996/attachment.html 


More information about the NumPy-Discussion mailing list