I'm not as conversant with rank as you are. To my way of thinking, you want to multiply each row of "a" by each row of the multiplier:
a *"1/2 4$ 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 2 2 1 1 0 0 0 0 3 3 1 1 0 0 0 0 4 4 This gives a 3-D result, which may be handy depending on what you next plan to do with this. However, as David shows, you can also ravel the first two dimensions into one: ,/a *"1/2 4$ 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 2 2 1 1 0 0 0 0 3 3 1 1 0 0 0 0 4 4 On Wed, Sep 5, 2012 at 9:56 PM, David Ward Lambert <b49p23t...@stny.rr.com> wrote: > Right! "Matrix multiplication" usually means something else. > You want a sort of element-by-corresponding-element multiplication. > > B ; A > +-------+-------+ > |1 1 0 0|1 1 1 1| > |0 0 1 1|1 1 2 2| > | |1 1 3 3| > | |1 1 4 4| > +-------+-------+ > > A solution uses rank conjunction twice. I couldn't begin to understand > it the first time I saw this sort of construction. Then one day I wrote > rank rank and retrospectively realized what I'd written and understood. > I practiced rank with sentences like 'abc' "2 i. 2 3 4 > > My thoughts to construct this sentence: > First I realized that you need to multiply row by row. > The ("1) adverb ensures this. The frames of these two matrices disagree > because there are 2 rows in B and 4 in A. The next adverb ("_ 1) means > (because ultimately the final verb is dyadic) "use all of the left array > with each row of the right hand array". > > B * ("1) ("_ 1) A > 1 1 0 0 > 0 0 1 1 > > 1 1 0 0 > 0 0 2 2 > > 1 1 0 0 > 0 0 3 3 > > 1 1 0 0 > 0 0 4 4 > > Finally, inserting append between the pages gives > > ,/B*"1"_ 1 A > 1 1 0 0 > 0 0 1 1 > 1 1 0 0 > 0 0 2 2 > 1 1 0 0 > 0 0 3 3 > 1 1 0 0 > 0 0 4 4 > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm -- Devon McCormick, CFA ^me^ at acm. org is my preferred e-mail ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm