1 2 3 4 (*"_ 1) 2 4 $ 10 11 12 13 14 15 16 17 10 22 36 52 14 30 48 68 (($b)$,a ) *b 10 22 36 52 14 30 48 68 a (*"1"1 _) b 10 22 36 52 14 30 48 68 R.E. Boss
> -----Original Message----- > From: Programming [mailto:programming-boun...@forums.jsoftware.com] > On Behalf Of 'Jon Hough' via Programming > Sent: maandag 18 april 2016 10:42 > To: Programming Forum <programm...@jsoftware.com> > Subject: [Jprogramming] Simple scalar multiplication of matrices > > 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. > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm