For your particular example, it looks like what you want is (and I am just 
guessing what mag_sqr means):
dist = abs2.(x .- y.')
The performance should be the similar to a hand-written loop on version 0.5.

You can read about it here: 
http://docs.julialang.org/en/release-0.5/manual/functions/#dot-syntax-for-vectorizing-functions


On Monday, September 12, 2016 at 9:29:15 PM UTC+2, Neal Becker wrote:
>
> Some time ago I asked this question 
>
> http://stackoverflow.com/questions/25486506/julia-broadcasting-equivalent-of-numpy-newaxis
>  
>
> As a more interesting example, here is some real python code I use: 
> dist = mag_sqr (demod_out[:,np.newaxis] - const.map[np.newaxis,:]) 
>
> where demod_out, const.map are each vectors, mag_sqr performs element-wise 
> euclidean distance, and the result is a 2D array whose 1st axis matches 
> the 
> 1st axis of demod_out, and the 2nd axis matches the 2nd axis of const.map. 
>
>
> From the answers I've seen, julia doesn't really have an equivalent 
> functionality.  The idea here is, without allocating a new array, 
> manipulate 
> the strides to cause broadcasting. 
>
> AFAICT, the best for Julia would be just forget the vectorized code, and 
> explicitly write out loops to perform the computation.  OK, I guess, but 
> maybe not as readable. 
>
> Is there any news on this front? 
>
>

Reply via email to