[Jprogramming] Hermitian from triangular
Dan Bron
j at bron.us
Wed Jan 16 13:45:14 UTC 2013
Put another way, in the abstract, &.% is an identity transformation and (f -: f&.%) a tautology. So negative zero is -0 is -&.% 0 (only J is wise to the first trick, but not the second, sneakier one).
-Dan
Please excuse typos; composed on a handheld device.
On Jan 16, 2013, at 8:31 AM, Dan Bron <j at 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 <rauldmiller at 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 <HenryHRich at 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 <HenryHRich at 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
More information about the Programming
mailing list