Thank you all for solutions. I hadn't mentioned, for my need, map is either a sparse boolean matrix, or in some cases, encoded using it's dimensions and a vector I.,map
On Wed, Sep 22, 2021, 7:55 AM Igor Zhuravlov <[email protected]> wrote: > acp=: 1 : '; (<"0 x) ,"0 L: 0 m <@#"1 y' > 'abc' map acp 'ABCD' > aA > aD > bB > bC > > -- > Regards > Igor > > > On Tue, 21 Sep 2021, 19: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
