[Jprogramming] Simple scalar multiplication of matrices

'Jon Hough' via Programming programming at jsoftware.com
Mon Apr 18 08:41:55 UTC 2016


I am sure there is a simple answer to this, but I would like to know it.

Say I have two matrices:

a =: 1 4 $ 1 2 3 4
b =: 2 4 $ 10 11 12 13 14 15 16 17

and I want to multiply a's single row element-wise with each of b's rows. Not matrix multiplication, so the resulting matrix should have dimensions 2 4, same as b.

Obviously a * b gives a length error,

So does a *"1 1 b 

My best solution is pretty ugly,

(($b)$,a ) * b

i.e. reshape a so it has the same number of rows as b, which duplicates the items of its top row into the second row and then multiply row-wise.

Is there a better way?
Incidentally, isn't a*1 1 b a row-to-row multiplication. I thought this would have worked, and am slightly confused why it doesn't.


More information about the Programming mailing list