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