Or, perhaps: map=. 3 4 $ 1 0 0 1 0 1 1 0 0 0 0 0 ($ #: I.@,) map 0 0 0 3 1 1 1 2
Thanks, -- Raul On Tue, Sep 21, 2021 at 5:53 AM Ric Sherlock <[email protected]> wrote: > > 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
