there is also the adverb (no source transforms) (i. 1 4) *"1 1"1 2 i. 2 4 0 1 4 9 0 5 12 21
(or shorthand) "1"1 2 ----- Original Message ----- From: EelVex <eel...@gmail.com> To: Programming forum <programm...@jsoftware.com> Sent: Monday, April 18, 2016 4:49 AM Subject: Re: [Jprogramming] Simple scalar multiplication of matrices If you remove the first axis of a you can multiply-1: (,a) *"1 b 10 22 36 52 14 30 48 68 Do you really need a to be 1xn ? On Mon, Apr 18, 2016 at 11:41 AM, 'Jon Hough' via Programming < programm...@jsoftware.com> wrote: > 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 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm