This seems to me to be related to floor (<.) as well. Floor looks at diagonals.
>From the dictionary: The function <. can be viewed as a tiling<file:///C:/j602/help/index/t.htm#tiling>by rectangles of unit area, all arguments within a rectangle sharing the same floor <file:///C:/j602/help/dictionary/d011.htm#L5M4>. One rectangle has vertices at 1j0 and 0j1, with the other side passing through the origin. Rectangles along successive diagonals<file:///C:/j602/help/index/d.htm#diagonal(s)>are displaced by one-half the length. On Sun, Jan 22, 2012 at 9:38 AM, Marshall Lochbaum <mwlochb...@gmail.com>wrote: > The theory of moduli is based on the quotient group of the integers by a > subgroup. For instance, the integers (mod 2) are produced by taking all the > integers and identifying all the ones that are even, as well as all the > ones that are odd. Then we get a two-element group which we can preform > addition on: even+even=even, even+odd=odd, etc. > > To reduce a number in a particular modulus, we need to find a canonical > representation for that number. For positive numbers n the choice is fairly > simple: n|l gives the l' such that 0<=l'<n. In the complex plane, a number > generates a grid by taking its product with the Gaussian integers; try > 'dot; pensize 2' plot , 1j2 * j./~i:10 > to see what I mean. Then what we want is a canonical form for what happens > when we identify all those points together. We're allowed to "shift" by any > Gaussian integer times the modulus. > > Based on this, I think a good way to calculate the modulus is to get the > number into the square that lies counterclockwise of the modulus number. > Practically, this means we decompose a complex number y into (a j.b)*x, and > then return (1|a)j.(1|b) . > > I'll see if I can get around to editing this. I have a working copy of the > source, but I haven't made sense of it entirely. > > Marshall > > On Sun, Jan 22, 2012 at 10:45 AM, Raul Miller <rauldmil...@gmail.com> > wrote: > > > Yes, this is a bug. > > > > Someone should fix it. > > > > J is open source. (Though distributed sources do not compile for me, > > and I keep getting sidetracked when I investigate forks that might > > compile.) > > > > -- > > Raul > > ---------------------------------------------------------------------- > > 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