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
