I had sent that to you in obfuscated form so that you could wait until
June 21 to see it (much like I have been doing in previous "do not
respond until" contexts with you).
Here, the indented lines are meant to be entered interactively after
the definitions have been entered.
Note that you had or
13 :'(([: +/ [: *: -)"1& x)"1 y'
4 : '(([: +/ [: *: -)"1& x)"1 y'
13 : is not doing anything useful.
A f B is equivalent to
(([: +/ [: *: -)"1& A)"1 B
So this is building up a function based on A which is being applied to
each row of B. Note that it's first building up something based on
Thanks so much your very helpful message.
I would go one step beyond your last step:
g=: 13 :'+/"1 *:x-"1/~y'
In the future I can translate this easily to remember where the argument go.
+/"1 *:B-"1/A
18 17 10
13 16 5
10 17 2
9 20 1
13 10 9
8 9 4
5 10 1
4 13 0
10 5 10