I wanted to take 'mod' of the real part and leave the imaginary part untouched.
   f=:(|9&o.)+j.&(11&o.)&]
   7 f 73j73+i.6
3j73 4j73 5j73 6j73 0j73 1j73
Perhaps this is not done by a complex '|' ?




>________________________________
> Fra: Marshall Lochbaum <mwlochb...@gmail.com>
>Til: Programming forum <programming@jsoftware.com> 
>Sendt: 19:50 søndag den 22. januar 2012
>Emne: Re: [Jprogramming] 5|0 1 2 3 4 is not equal to 5|0 1 2 3 4 j.0
> 
>It would be possible to change complex mod without changing floor. Floor is
>consistent on reals and complex numbers, while complex mod is not, so it
>doesn't necessarily need to be fixed.
>
>The problem with complex mod is that for left argument b it that it ensures
>that the result is in the box defined by corners -:(j./~ _0.5 0.5)*b . That
>means that it subtracts the closest Gaussian integer multiple of b from the
>right argument. This is inconsistent with mod for the reals, which
>subtracts the floor under division by b.
>
>Marshall
>
>On Sun, Jan 22, 2012 at 1:28 PM, Henry Rich <henryhr...@nc.rr.com> wrote:
>
>> Well, I know complex floor was something Gene McDonnell was proud of,
>> and I expect it's embedded in some applications.  You'll need to produce
>> a compelling argument for changing it.
>>
>> Henry Rich
>>
>> On 1/22/2012 12:38 PM, Marshall Lochbaum wrote:
>> > I'm pretty sure I understand the definition, but I still don't get the
>> > rationale. Under my scheme the "obvious" complex floor would be (- 1&|),
>> > which also has the properties of convexity, translatability, and
>> > compatibility listed in the dictionary.
>> >
>> > Marshall
>> >
>> > On Sun, Jan 22, 2012 at 12:08 PM, Henry Rich<henryhr...@nc.rr.com>
>>  wrote:
>> >
>> >> As Don said, make sure you understand complex floor before you start
>> >> coding.
>> >>
>> >> Henry Rich
>> >>
>> >> On 1/22/2012 11:38 AM, Marshall Lochbaum 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
>> >>
>> > ----------------------------------------------------------------------
>> > 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
>
>
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to