Re: Can it be done - easily?
- To: mathgroup at smc.vnet.net
- Subject: [mg13254] Re: [mg13211] Can it be done - easily?
- From: BobHanlon at aol.com
- Date: Fri, 17 Jul 1998 03:17:48 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Z[X_, {Y_Symbol, Ymin_, Ymax_, Ystep_:1}] :=
Evaluate[Sum[X/Y, {Y, Ymin, Ymax, Ystep}]];
Z[X, {Y, Ymin, Ymax, Ystep}]
(X*(PolyGamma[0, Ymin/Ystep + Floor[(Ymax - Ymin)/Ystep] + 1] -
PolyGamma[0, Ymin/Ystep]))/Ystep
??PolyGamma
"PolyGamma[z] gives the digamma function psi(z). PolyGamma[n, z] gives
the \ nth derivative of the digamma function." Attributes[PolyGamma] =
{Listable, NHoldFirst, Protected, ReadProtected}
Sum[10000/Y, {Y, 100, 1000, 100}]
36905/126
Z[10000, {Y, 100, 1000, 100}]
36905/126
Z[10000, {Y, 1., 1.*^6, 1.}]
143927.2672286572
Note: speed requires use of real rather than integer values for
arguments.
Bob Hanlon
In a message dated 7/13/98 2:54:54 PM, barryc at schaffner.com wrote:
>Myself and two workmates are software developers. One guy wanted a
>formula to calculate a result for the following equation...
> Z = sum of X/Y where X is a fixed number, and Y ranges from A-B in
>fixed steps...
> i.e... X=10000 ; Y=100,200,300...1000
> i.e... Z= 10000/100 + 10000/200 + ... 10000/1000 = 292.896
>
>He and I tried to figure out a simple formula to calculate it, but
>couldn't. The third guy said it was *not* *possible* to derive a
>formula - we think he's wrong, but can't prove it. MathCad can solve
>it in the blink of an eye, even if the value of Y ranges from 1 to 1e6
>in steps of 1 !!!
>
>Can anyone come up with a simple formula to give a reasonably accurate
>result? It is too slow to actually divide X by Y for each value of Y
>as there may be 1000 or even 100,000 values of Y.