Similar here, but I was going to add that you can embed the
ravel in the verb:
(,a)*" 1 b NB. same as EelVex
10 22 36 52
14 30 48 68
a (*"1, )~ b NB. hooking the ravel:
10 22 36 52
14 30 48 68
or
b (*"1, ) a NB. if you're ok with b f a
10 22 36 52
14 30 48 68
Mike
On 18/04/2016 09:49, EelVex wrote:
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
---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm