[Jprogramming] Simple scalar multiplication of matrices
'Pascal Jasmin' via Programming
programming at jsoftware.com
Mon Apr 18 23:28:33 UTC 2016
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 <eelvex at gmail.com>
To: Programming forum <programming at 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 <
programming at 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
More information about the Programming
mailing list