Another example:

   (_1 4 5; 1 0 ; 2) |: y

Axis 2 is moved to the back;
axes 1 and 0 are run together and moved to be
in front of that (the effect would have been
the same for 0 1 instead of 1 0);
axes _1, 4, and 5 are run together and moved
to be in front of that;
and any remaining axes are moved to be in
front of that.

Dyadic transpose has been famously inscrutable
since the days of APL\360.



----- Original Message -----
From: Roger Hui <[EMAIL PROTECTED]>
Date: Friday, January 5, 2007 9:54 pm
Subject: Re: [Jprogramming] Dyadic Transpose

> No, it's correct as written:  2 and 3 are moved
> to the front.  Successive opened atoms of x
> specify axes to be moved to the tail, but since
> in the example no more axes remain after
> 0 1 and 2 3, 2 3 are in effect moved to the front.



> ----- Original Message -----
> From: June Kim <[EMAIL PROTECTED]>
> Date: Friday, January 5, 2007 9:43 pm
> Subject: Re: [Jprogramming] Dyadic Transpose
> 
> > 2007/1/6, Roger Hui <[EMAIL PROTECTED]>:
> > > Yes:
> > >
> > >   (2 3;0 1) |: i.2 3 4 5
> > >  0 80
> > >  6 86
> > > 12 92
> > > 18 98
> > >
> > > Run axes 2 and 3 together and move to the front,
> > 
> > I"m a bit confused. Shouldn't it be instead "move to the tail"?
> > 
> > "x|:y moves axes x to the tail end."
> > 
> >   $(0 1 ) |: i. 2 3 4 5
> > 4 5 2 3
> > 
> > > and run axes 0 and 1 together. i.e.  z[i;j] = y[j;j;i;i]
> > 
> > Thank you. That expression is very helpful to understanding.
> > 
> > >
> > > See also:
> > > http://www.jsoftware.com/jwiki/Essays/Transpose


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to