But = is tolerant, and 0 = %__

-- 
Raul

On Wed, Jan 16, 2013 at 10:28 AM, km <k...@math.uh.edu> wrote:
> Henry's
>
>     hft =: 0&=`(,: +@|:)}
>
> tests each element of its argument A returning 1 or 0 depending on whether 
> the element is 0 .  He doesn't know where this A is coming from, maybe 
> somebody else's file.  If he is comparing the bit representations of his 0 
> and one of A's 0's the test may return 0 instead of 1, and then the wrong 
> element of A ,: +@|: A is chosen to go into the result B .
>
> Kip Murray
>
> Sent from my iPad
>
>
> On Jan 16, 2013, at 7:53 AM, Raul Miller <rauldmil...@gmail.com> wrote:
>
>> Ok, this makes sense, given the underlying hardware.
>>
>> But, I am having trouble reasoning about how this could cause problems
>> fro Henry's implementation, since:
>>
>>   0 = % __
>> 1
>>
>> and
>>
>>    % ::0:"0 j./~_*i:1
>> 0 0 0
>> 0 _ 0
>> 0 0 0
>>
>>   0j1 % __
>> 0
>>   % 0j1 % __
>> _
>>   0j1 * % __
>> 0
>>   % 0j1 * % __
>> _
>>
>> Is there some way of getting an imaginary negative zero?  Or is the
>> issue simply the result of % on the result of Henry's code on a matrix
>> with a negative zero off the diagonal?  (Are there any other ways for
>> this to be a problem?)
>>
>> Thanks,
>>
>> --
>> Raul
>>
>> On Wed, Jan 16, 2013 at 8:31 AM, Dan Bron <j...@bron.us> wrote:
>>> In J, the reciprocal of zero is infinity.  Correspondingly, the reciprocal 
>>> of negative zero is negative infinity. Ergo, the reciprocal of negative 
>>> infinity is negative zero.
>>>
>>>   %0
>>> _
>>>   %_
>>> 0
>>>   %__
>>> 0
>>>   % %_ NB. The two zeros look identical
>>> _
>>>   % %__ NB. But J knows their "signs"
>>> __
>>>
>>>
>>> So, you can produce a negative zero by inverting negative infinity, and you 
>>> can identify a negative zero by inverting it.  If __=%x then x is negative 
>>> zero (the only value whose reciprocal is negative infinity).
>>>
>>> -Dan
>>>
>>> Please excuse typos; composed on a handheld device.
>>>
>>> On Jan 16, 2013, at 7:49 AM, Raul Miller <rauldmil...@gmail.com> wrote:
>>>
>>>> I thought that J did not represent negative zero?
>>>>
>>>> Is it possible to trick J into revealing a negative zero?  If so, does
>>>> it involve foreigns or is there some native calculations that lead
>>>> here?
>>>>
>>>> Thanks,
>>>>
>>>> --
>>>> Raul
>>>>
>>>> On Wed, Jan 16, 2013 at 7:26 AM, Henry Rich <henryhr...@nc.rr.com> wrote:
>>>>> On my awaking, there was a whiff of sulfur in the air, and a greenish
>>>>> haze... and somehow in my mind the idea that that last program won't work,
>>>>> because of the possibility of negative zero.  I'll stay relegated to imp
>>>>> status.
>>>>>
>>>>> Henry Rich
>>>>>
>>>>>
>>>>> On 1/15/2013 6:20 PM, Henry Rich wrote:
>>>>>>
>>>>>> Nah, that's not beyond impish.  The devilish solution is to take the
>>>>>> bitwise OR of the matrix with its conjugate transpose (but that's easier
>>>>>> in assembler language than in J:
>>>>>> (23 b.&.(a.&i.)&.(2&(3!:5))&.+. +@|:))
>>>>>> ).  And you need to be sure that the zeros on the lower diagonal and
>>>>>> below are true zeros!
>>>>>>
>>>>>> Henry Rich
>>>>>>
>>>>>> On 1/15/2013 6:03 PM, km wrote:
>>>>>>>
>>>>>>> Oh, boy!  (v1`v2) } y <--> (v1 y) } (v2 y)
>>>>>>>
>>>>>>> Brief and devilish, take care for your soul, Henry!
>>>>>>>
>>>>>>> --Kip
>>>>>>>
>>>>>>> Sent from my iPad
>>>>>>>
>>>>>>>
>>>>>>> On Jan 15, 2013, at 3:39 PM, Henry Rich <henryhr...@nc.rr.com> wrote:
>>>>>>>
>>>>>>>> hft =: 0&=`(,: +@|:)}
>>>>>>>>
>>>>>>>> Henry Rich
>>>>>>>>
>>>>>>>> On 1/15/2013 5:25 AM, km wrote:
>>>>>>>>>
>>>>>>>>> This is an easy one.  A Hermitian matrix matches its conjugate
>>>>>>>>> transpose.  Write a verb hft that creates a Hermitian matrix from a
>>>>>>>>> triangular one that has a real diagonal.
>>>>>>>>>
>>>>>>>>>   ishermitian =: -: +@|:
>>>>>>>>>   ]A =: 2 2 $ 1 2j3 0 4
>>>>>>>>> 1 2j3
>>>>>>>>> 0   4
>>>>>>>>>   ]B =: hft A
>>>>>>>>>   1 2j3
>>>>>>>>> 2j_3   4
>>>>>>>>>   ishermitian A
>>>>>>>>> 0
>>>>>>>>>   ishermitian B
>>>>>>>>> 1
>>>>>>>>>
>>>>>>>>> Kip Murray
>>>>>>>>>
>>>>>>>>> Sent from my iPad
>>>>>>>>> ----------------------------------------------------------------------
>>>>>>>>> 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
>> ----------------------------------------------------------------------
>> 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