Linda, Boolean '0', and integer '0', and real '0.0', and complex '0j0', are 
merely different names for the same mathematical object, zero. The implementor 
makes distinctions for efficiency reasons, but the user does not need to know 
the internal representation.


I don't know if the modulo verb (dyadic |) can be generalized to complex 
numbers in a beautiful way that avoids ugly discontinuities, but any 
generalization should satisfy  (a|b)-:(a|c) when b-:c.

- Bo


>________________________________
> Fra: Linda Alvord <lindaalv...@verizon.net>
>Til: 'Programming forum' <programming@jsoftware.com> 
>Sendt: 13:00 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
> 
>More thoughts on the problem:
>
>   a=:i.5
>   a j. 0
>0 1 2 3 4
>
>If you make complex numbers, they should stay as complex numbers!
>
>If you don't want them, you have to take some action to undo them.
>
>What if the result above was 
>    
>   c=:0j0 1j0 2j0 3j0 4j0
>  
>    a-:c
>1
>
>One is a real and the other is complex so the result should be  0
>
>Once you are in the complex plane you stay there until you chose to leave.
>  
>   j.i.5
>0 0j1 0j2 0j3 0j4
>   j.j.i.5
>0 _1 _2 _3 _4
>   j.j.j.i.5
>0 0j_1 0j_2 0j_3 0j_4
>   j.j.j.j.i.5
>0 1 2 3 4
>  
>The second and fourth results would be better as
>
>0j0 _1j0 _2j0 _3j0 _4j0
>and
>0j0 1j0 2j0 3j0 4j0  
>
>Even if you look at c, it gets turned into reals and maybe  you don't want 
>them.
>  
>   c=:0j0 1j0 2j0 3j0 4j0
>   c
>0 1 2 3 4
>
>I don't quite know how you would indicate you want to convert the complex 
>numbers to real.
>
>Linda
>
>-----Original Message-----
>From: programming-boun...@jsoftware.com 
>[mailto:programming-boun...@jsoftware.com] On Behalf Of Linda Alvord
>Sent: Sunday, January 22, 2012 6:01 AM
>To: 'Programming forum'
>Subject: Re: [Jprogramming] 5|0 1 2 3 4 is not equal to 5|0 1 2 3 4 j.0
>
>   NB. j. y  ↔  0j1 * y 
>   NB.   x j. y  ↔  x + j. y 
>  
>   f=: 13 :'5|y'
>   f
>5 | ]
>
>   f 4
>4
>   4 j. 0 
>4
>   f 4 j. 0
>_1
>
>It seems to me that the code for  j.  fails to recognize that an entire array 
>of numbers has right arguments of 0 and it should then convert the array to 
>"real numbers". If it did that match would be correct. If match compares 
>numbers it must check that both are real or both are imaginary.
>
>Probably this is incredibly naïve, but those issues seems to be the problem.
>
>Linda
>
>
>Original Message-----
>From: programming-boun...@jsoftware.com 
>[mailto:programming-boun...@jsoftware.com] On Behalf Of David Mitchell
>Sent: Sunday, January 22, 2012 4:42 AM
>To: Programming forum
>Subject: Re: [Jprogramming] 5|0 1 2 3 4 is not equal to 5|0 1 2 3 4 j.0
>
>It also seems similar to this thread:
>
>http://jsoftware.com/pipermail/programming/2011-December/026261.html
>
>
>On 1/22/2012 4:23, Ian Clark wrote:
>> This has similarities to the issues discussed in:
>>    http://jsoftware.com/pipermail/programming/2011-July/023384.html
>>
>> On Sun, Jan 22, 2012 at 8:40 AM, Bo Jacoby<bojac...@yahoo.dk>  wrote:
>>> Equal arguments should give equal function values, but not here.
>>>
>>>     a=.i.5
>>>     b=.a j. 0
>>>     f=. 5&|
>>>     a-:b
>>> 1
>>>     (f a)-:(f b)
>>> 0
>>>
>>>     f a
>>> 0 1 2 3 4
>>>     f b
>>> 0 1 2 _2 _1
>>>
>>> -Bo
>>> ----------------------------------------------------------------------
>>> 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