See also Inner Product -- An Old/New Problem
<http://www.jsoftware.com/papers/innerproduct/ip.htm>, 2009.




On Sat, Jul 25, 2015 at 12:11 PM, Raul Miller <[email protected]> wrote:

>    1 0 1 +/ .* 10 100 1000
> 1010
>
> The dot product is arguably a key feature of J. This allows you to
> multiply matrices:
>
>    1+i.2 3
> 1 2 3
> 4 5 6
>    7+i.3 2
>  7  8
>  9 10
> 11 12
>    (7+i.3 2)+/ .*1+i.2 3
> 39 54  69
> 49 68  87
> 59 82 105
>
> Note also that you can often use %. to go the other way:
>
>    ((7+i.3 2)+/ .*1+i.2 3)%.7+i.3 2
> 1 2 3
> 4 5 6
>
> But let's save that issue for later...
>
> Anyways, what . does is pair up the last dimension of the argument on
> the left with the first dimension of the argument on the right -
> combining things with the verb on the right and then applying the verb
> on the left to that.
>
> For example:
>    7 8 +/ .* 1+i.2 3
> 39 54 69
>    7 8 * 1+i.2 3
>  7 14 21
> 32 40 48
>    +/7 8 * 1+i.2 3
> 39 54 69
>
> And we can do the same thing with the other rows of 7+i.3 2:
>    +/9 10 * 1+i.2 3
> 49 68 87
>    +/11 12 * 1+i.2 3
> 59 82 105
>
> And you can see all of these in the result:
>    (7+i.3 2)+/ .*1+i.2 3
> 39 54  69
> 49 68  87
> 59 82 105
>
> Other operations are also possible. For example we can detect
> collisions between binary lists using *.
>
>    0 1 0 1 *. 0 0 1 1
> 0 0 0 1
>
> Or, of course, we could do exactly the same thing with *
>
>    0 1 0 1 * 0 0 1 1
> 0 0 0 1
>
> And we can check if there were any collisions using +./
>    +./ 0 1 0 1 * 0 0 1 1
> 1
>
> So basically, it's just:
>    dot=:2 :'u@(v"1 _)'
>
> And u is usually formed using the / adverb.
>
> I hope this helps, but I suspect I'm not doing a very good job of
> describing the process.
>
> Oh well...
>
> --
> Raul
> ----------------------------------------------------------------------
> 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