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

Reply via email to