Or as J 'knows':

   1r6p2
1.64493



On 09-03-14 18:54, Aai wrote:
in fact something like:

   2 +/@:(%@^~) 1+i.100000
1.64492


On 09-03-14 18:49, Jon Hough wrote:
Ah, I see what's happened.z should be recipSorry.
It should be: zeta =. +/"_ @: recip NB. sum all> From: [email protected]
Date: Sun, 9 Mar 2014 13:41:18 -0400
To: [email protected]
Subject: Re: [Jprogramming] Zeta Function as Tacit Verb

But what is z?

Thanks,

--
Raul


On Sun, Mar 9, 2014 at 1:38 PM, Jon Hough <[email protected]> wrote:

Sorry, The verb zeta is dyadic.for example 2 zeta i.100 gives an
estimation of the functionzeta(x), for x =2,where zeta(x) is the Riemann
zeta function defined for positive integers > 1.

From: [email protected]
Date: Sun, 9 Mar 2014 13:32:54 -0400
To: [email protected]
Subject: Re: [Jprogramming] Zeta Function as Tacit Verb

Hypothetically speaking, you can get J to tell you how to build tacit
verb.
Practically speaking... here's the definitions you gave:

pwr =. ^~   NB. this is y to the power x (dyadic tacit verb)
recip =. %@ pwr  NB. take the reciprocal
zeta =. +/"_ @: z NB. sum all

And here's how I would examine them:

First, enable linear represenation of verbs:

    9!:3]5

Second, resolve the names in your definition:

    zeta f.
|value error: z

(oops)

It looks like you left out a part of your definition. I've not worked
with
zeta before, and I don't actually know which zeta function you were
trying
to compute. At a guess, though, you were using one that happens to work
nicely with this kind of implementation.

If you could supply the rest of the definition, though, I think one of us
could go into how it works.

Thanks,

--
Raul



On Sun, Mar 9, 2014 at 1:22 PM, Jon Hough <[email protected]> wrote:

I have created a tacit verb to calculate the Zeta function for any
integer
greater than 1.
http://mathworld.wolfram.com/ZetaFunction.html
My verb was built up step by step as follows:
pwr =. ^~   NB. this is y to the power x (dyadic tacit verb)
recip =. %@ pwr  NB. take the reciprocal
  zeta =. +/"_ @: z NB. sum all

I tested it
2 zeta >: i.100
1.63498
This seems about right (should be about pi*pi/6)
My first question is: I would like to make my verb in only one line,
not
using my step-by-step approach. But every time I tried this I got all
kinds
of errors or the calculation results were hopelessly wrong. How can I
write
this verb in a single line?
Secondly, I'm still not entirely sure how this works.
If I do 2 pwr 3 then that is 3*3, which is fine, but then doing "recip"
afterwards, I'm not sure how J parses the recip verb as monadic (it
takes
the reciprocal instead of "2 over". How does J do this?
Lastly, I am not sure why I needed to make +/ to be rank _. That was
just
a guess. Why is this? I understand it is the way @: and @ interact
with the
verbs but I'm struggling to see the cause.
Thanks.
Jon
---------------------------------------------------------------------- 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


--
Met vriendelijke groet,
@@i = Arie Groeneveld

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to