09/09/2014, 09:45 PM
(09/09/2014, 07:43 PM)jaydfox Wrote: Treating Gamma(k) at negative integers as infinity, and the reciprocal of such as zero, we can take the limit from negative to positive infinity. And we can replace k with (k+b), where b is zero in the original solution, but can now be treated as any real (well, any complex number, but the complex versions are less interesting).
\(
f_{\beta}(x) = \sum_{k=-\infty}^{\infty}\frac{2^{-(k+\beta)(k+\beta-1)/2}}{\Gamma(k+\beta+1)} x^{k+\beta}
\)
One minor correction: treating Gamma(k) at non-positive integers as infinity... Anyway...
Sheldon or Gottfried, if either of you is still interested in this problem, here's some code to calculate f_b(x):
Code:
InitF(beta=0, n=50, prec=77) = {
local (defprec, a_k, func);
defprec = default(realprecision);
default(realprecision, prec);
a_k = 2.^(-beta*(beta-1)/2) / gamma(beta+1.);
func = List();
listput(func, a_k);
listput(func, beta);
for (k=1, n,
a_k /= (2.^(k-1.+beta) * (k+beta));
func[1] += a_k * x^k;
);
default(realprecision, defprec);
return (func);
}
EvalF(func, k) = {
return (subst(func[1], x, k) * k^func[2]);
}I named this code bp1.gp, and here's a screenshot showing how it can be used. Basically, you can use beta=0 for the original version (which is entire), or use a non-integer, preferably negative. If you use a positive value for beta, or if you use a negative value close to zero, it won't be accurate near the origin. I used -25/2 in this example. The closer to the origin you intend to evaluate, the smaller beta needs to be (i.e., negative and larger in absolute value).
~ Jay Daniel Fox

