Ahhh. Now, that made sense (I did not know Julia actually had a function with capitals and underscores its name ;).
Thanks. Much obliged. Petr On Sunday, December 14, 2014 6:01:04 PM UTC-8, Andreas Noack wrote: > > The function K*M allocates a new array for the result, but if you write > J[:,:]=K*M then J is updated with the values from the new array. This > matter if e.g. J is input to a function > > function f1(J) > J = K*M > end > > function f2(J) > J[:,:] = K*M > end > > f1 will make a local variable J storing the result which will keep the > input array J unaffected whereas f2 will update the input J. However, they > will both allocate a new array. > > If you want to avoid allocation, you'll have to use either A_mul_B!(C,A,B) > where C stores the result or BLAS.gemm!. > > 2014-12-14 20:12 GMT-05:00 Petr Krysl <[email protected] <javascript:>>: >> >> ??? >> >> Could I have that again please? I don't follow. >> >> In-place in my usage of the word here means that the result of the >> multiplication is immediately stored in the matrix J,, without a temporary >> being created and then assigned to J. >> >> Thanks, >> >> Petr >> >> On Sunday, December 14, 2014 5:00:40 PM UTC-8, John Myles White wrote: >>> >>> Assigning in-place and creating temporaries are actually totally >>> orthogonal. >>> >>> One is concerned with mutating J. This is contrasted with writing, >>> >>> J = K * M >>> >>> The other is concerned with the way that K * M gets computed before any >>> assignment operation or mutation can occur. This is contrasted with >>> something like A_mul_B. >>> >>> -- John >>> >>> Sent from my iPhone >>> >>> > On Dec 14, 2014, at 7:48 PM, Petr Krysl <[email protected]> wrote: >>> > >>> > Hello everybody, >>> > >>> > I hope someone knows this: What is the use of writing >>> > >>> > J[:,:] = K*M >>> > >>> > where all of these quantities are matrices? I thought I'd seen >>> somewhere that it was assigning to the matrix "in-place" instead of >>> creating a temporary. Is that so? >>> > I couldn't find it in the documentation for 0.3. >>> > >>> > Thanks, >>> > >>> > Petr >>> >>
