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

Reply via email to