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

Reply via email to