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

Reply via email to