If Dan Bron would have been still active, this solution certainly had deserved 
his Jem-qualification (https://code.jsoftware.com/wiki/User:Dan_Bron) .
It is among the most elegant I've seen in years.


R.E. Boss


-----Original Message-----
From: Programming <[email protected]> On Behalf Of Ric 
Sherlock
Sent: dinsdag 21 september 2021 11:53
To: Programming forum <[email protected]>
Subject: Re: [Jprogramming] cross product

Some variation on this?

   |:(m,:n) {~"1 |: 4$.$. map
aA
aD
bB
bC




On Tue, 21 Sep 2021, 21:37 bill lam, <[email protected]> wrote:

> Say I have a boolean matrix
>    ] map=. 3 4 $ 1 0 0 1 0 1 1 0 0 0 0 0
> 1 0 0 1
> 0 1 1 0
> 0 0 0 0
>
> and 2 vectors of dimension equal to the 2 sides of the matrix
>    m=. 'abc' [ n=. 'ABCD'
>  I want a cross product for those 1 in the matrix, with result like this
>    _2 ]\ 'aAaDbBbC'
> aA
> aD
> bB
> bC
>
> Is it possible to do it without explicit loops? The dimension of the 
> matrix can be very large so that generating all cross products then 
> eliminating is not an option.
> ----------------------------------------------------------------------
> 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

Reply via email to