In J6.03: 0j1 ^ i.5 4 1 0j1 _1 0j_1 1 0j1 _1 0j_1 1 0j1 _1 0j_1 1 0j1 _1 0j_1 1 0j1 _1 0j_1
----- Original Message ----- From: Roger Hui <[email protected]> Date: Thursday, May 21, 2009 17:46 Subject: Re: [Jchat] Clean elementary functions? To: Chat forum <[email protected]> > I am in sympathy with your concern. > A solution in the particular case of z^n is to do > repeated squaring instead of ^n*^.z . > The interpreter already does that for real z . > > > > ----- Original Message ----- > From: Kip Murray <[email protected]> > Date: Thursday, May 21, 2009 15:48 > Subject: [Jchat] Clean elementary functions? > To: Chat forum <[email protected]> > > > Caution, rant follows. /Kip Murray > > > > > > NB. It is too bad that whereas > > > > 0j1*0j1 > > _1 > > > > NB. and > > > > *:0j1 > > _1 > > > > NB. we get > > > > 0j1^2 > > _1j1.22465e_16 > > > > > > NB. The culprit appears to be > > > > 1 o. o. 1 > > 1.22465e_16 > > > > > > NB. because 0j1^2 is calculated as > > > > ^ 2 * ^. 0j1 > > _1j1.22465e_16 > > > > NB. which has real part > > > > 2 o. o. 1 > > _1 > > > > NB. and imaginary part > > > > 1 o. o. 1 > > 1.22465e_16 > > > > NB. Sometimes I think verb "clean" should be > > incorporated NB. in the elementary > > functions! Maybe just in 1&o. and 2&o. > > NB. The TI-83 calculator gives "clean" > > results for i^2 and e^(i pi). > > > > load 'numeric' > > > > clean 0j1^2 > > _1 > > > > clean ^ 0j1 * 1p1 > > _1 > > > > 0j1^2 > > _1j1.22465e_16 > > > > ^ 0j1 * 1p1 > > _1j1.22465e_16 > > > > clean > > 1e_10&$: :(4 : 0) > > if. L. y do. > > x clean each y > > else. > > if. (3!:0 y) e. 16 16384 do. > > j./"1 y * x <: | y=. +.y > > else. > > y * x <: |y > > end. > > end. > > ) ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
