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.p...@gmail.com wrote:

On Sat, Nov 7, 2009 at 1:51 PM, Stas K <stanc...@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

_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to