At2 is a function Cliff Reiter developed. The  at  is  arctan.  I'm not sure
what the 2 means.

Your version  at3  simply incorporates the  i:  of this example.  However  y
in his version allows different domains:

    at2=: 13 :'([:{:"1 *.) j./"1 y'
   
   at2 4
0
   
   at2 i.4
_2.35619
   
   at2 i:4
_1.5708
   
Without realizing it, I was getting a result without \

    i.0
   
   i:0
0
   
   i."0 >:i.5
0 0 0 0 0
0 1 0 0 0
0 1 2 0 0
0 1 2 3 0
0 1 2 3 4
   
   +/"1 i."0 >:i.5
0 1 3 6 10
   
   i:"0 i.5
 0  0  0  0 0 0 0 0 0
_1  0  1  0 0 0 0 0 0
_2 _1  0  1 2 0 0 0 0
_3 _2 _1  0 1 2 3 0 0
_4 _3 _2 _1 0 1 2 3 4
   
   +/"1 i:"0 i.5
0 0 0 0 0
   
   +/"1 +\ i.5
0 1 3 6 10   
So now you can probably see where I was going with this:

i:"0 i.7
 0  0  0  0  0  0 0 0 0 0 0 0 0
_1  0  1  0  0  0 0 0 0 0 0 0 0
_2 _1  0  1  2  0 0 0 0 0 0 0 0
_3 _2 _1  0  1  2 3 0 0 0 0 0 0
_4 _3 _2 _1  0  1 2 3 4 0 0 0 0
_5 _4 _3 _2 _1  0 1 2 3 4 5 0 0
_6 _5 _4 _3 _2 _1 0 1 2 3 4 5 6
   
   at2
[: ([: {:"1 *.) j./"1
   
   ([: ([: {:"1 *.) j./"1)i:"0 i.7
0 3.14159 _1.5708 3.14159 _1.5708 3.14159 _1.5708
 
An infinite alternating series!

Linda  

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Raul Miller
Sent: Tuesday, July 29, 2014 10:33 PM
To: Programming forum
Subject: Re: [Jprogramming] Analyze an alternating series

Taking a look at this, I'm not quite sure where you are going.
However, a few observations:

The first thing I notice when I try to read
   at2=: 13 :'([:{:"1 *.) j./"1 y'
is that those parenthesis are not really necessary. We could instead go:
   at2=: 13 :'{:"1 *. j./"1 y'
and let 13 : put in the parenthesis and [: to make it all work.

Next,  I'm noticing that you are using i: n each time you use at2, so
maybe instead:
   at3=: 13 :'{:"1 *. j./"1 i: y'

After that, I start thinking about what this is really doing. You've
got j./"1 on a list which is typically longer than length 2. And, at
the very bottom you had:
   at2 i:"0 i.7

I think my change is consistent, though, because you'll get padding on
the right which are zeros, and n j. 0 is n, so skipping the padding
step doesn't change anything.

So let's take a look at j./ on a list:
   j./\ i: 3
_3 _3j_2 _2j_2 _2j_2 _1j_2 _1 _4
   j./\ i: 4
_4 _4j_3 _2j_3 _2j_2 _2j_2 _2j_1 _4j_1 _4j_4 0j_4
   j./\ i: 5
_5 _5j_4 _2j_4 _2j_2 _3j_2 _3j_2 _4j_2 _4j_4 _1j_4 _1 _6

Or, skipping the scans:
   j./i:3
_4
   j./i:4
0j_4
   j./i:5
_6

It looks like odd numbers give a real valued result and even numbers
give a complex valued result.

And then you are using *. to get the angle of the complex number, so
that's where your final result comes from.

I imagine there's a variety of other ways of getting that final result?

Thanks,

-- 
Raul





On Tue, Jul 29, 2014 at 4:33 AM, Linda Alvord <[email protected]>
wrote:
> As I  am just heading for the airport after a delightful conference  I
seem
> to have captured a way to analyze alternating series.  What do you think
> about this?
>
> We stayed on the 7th floor of our hotel and had a great time.
>
>
>
>    f=:+/"1
>
>
>
>    f i."0 i.7
>
> 0 0 1 3 6 10 15
>
>
>
>    f i:"0 i.7
>
> 0 0 0 0 0 0 0
>
>
>
>    at2=: 13 :'([:{:"1 *.) j./"1 y'
>
>
>
>    ]at2 i:2
>
> _1.5708
>
>
>
>    at2 i:5
>
> 3.14159
>
>
>
>    at2 i:600
>
> _1.5708
>
>
>
>    at2 i:601
>
> 3.14159
>
>
>
>    at2 i:"0 i.7
>
> 0 3.14159 _1.5708 3.14159 _1.5708 3.14159 _1.5708
>
>
>
> Linda
>
>
>
>
>
> ----------------------------------------------------------------------
> 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