Thank you, much appreciated!

On Sat, Mar 21, 2020 at 9:27 AM Marshall Lochbaum <[email protected]>
wrote:

> Here, |. should be called three times, and for each call the left
> argument is a scalar and the right argument is a row or vector. This
> suggests using rank 0 1, and it turns out that works:
>
>    (-i.#M) |."0 1 M
> 1 1 1 1 0 0 0 0
> 0 1 1 1 1 0 0 0
> 0 0 1 1 0 0 0 0
>
> Probably a better way to approach this is that you want to map over one
> axis on each side: the left argument has three things (atoms) and the
> right argument has three things (rows). A negative rank lets you specify
> how many leading axes the rank operator should go into:
>
>    (-i.#M) |."_1 M
> 1 1 1 1 0 0 0 0
> 0 1 1 1 1 0 0 0
> 0 0 1 1 0 0 0 0
>
> Rank _1 is probably the most common rank I use. The way I usually think
> about it is that it treats each argument as a list of its items
> (https://code.jsoftware.com/wiki/Vocabulary/Glossary#Item) and calls the
> function on every pair of items.
>
> Marshall
>
> On Sat, Mar 21, 2020 at 09:14:32AM +0000, Dimitri Georganas wrote:
> > Hi,
> >
> > I've been struggling to find an elegant way to shift each row i of a
> matrix
> > M by i to the right.
> >
> > 1 1 1 1 0 0 0 0
> > 1 1 1 1 0 0 0 0
> > 1 1 0 0 0 0 0 0
> >
> > becomes
> >
> > 1 1 1 1 0 0 0 0
> > 0 1 1 1 1 0 0 0
> > 0 0 1 1 0 0 0 0
> >
> > -(i.&#) M  returns the vector, in this case, 0 _1 _2
> > Now I want to apply 0 _1 _2 over each row of M as an argument to |.  to
> get
> > something like 0 _1 _2 |. / M but obviously this doesn't work (I tried
> > several combinations with the correct rank).
> >
> > I'm sure this is not hard to do, but I got stuck and would appreciate
> your
> > help
> >
> > Best regards,
> >
> > Dimitri
> > ----------------------------------------------------------------------
> > 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

Reply via email to