It seems to me that the limit as x -> 0 is correctly computed as 0.

The question originally asked in the discussion linked to, however,

was about the limit as x -> infinity.

For any real number a, Stirling's approximation shows that the

function

f: gamma(x + a)/(x^a*gamma(x));

tends to 1 as x -> infinity. This is also what

limit(x, a, inf);

gives you (after asking a few questions). However, for specific

rational but non-integral values of a the result returned by Maxima

seems to be either 0 or inf. Besides the above example (using

limit(y, x, inf)) one also gets, for example,

(%i23) f: gamma(x - 2/5)/(x^(-2/5)*gamma(x)); 2/5 2 x gamma(x - -) 5 (%o23) ----------------- gamma(x) (%i24) limit(f,x,inf); (%o24) 0

I tried to do a bit of debugging. It seems that the limit (in the

case a = 1/2, say) is computed via limit(g, x, inf), where

g: 1/sqrt(x)*exp(x*log(2*x-1)-(x-1/2)*log(x-1)-1/2)/2^x;

as obtained by Stirling's approximation. Indeed, trying to compute

this limit also yields infinity instead of the correct value 1.

When we instead simplify the expression for g to

g1: 1/sqrt(x)*exp(x*log(x-1/2)-(x-1/2)*log(x-1)-1/2);

the limit is still computed as infinity, but this time it takes

several minutes. I don't know if the slowness is related to the

incorrect answer. Finally, further simplifying g1 to

g2: exp(x*log(x-1/2)-(x-1/2)*log(x-1)-1/2-log(x)/2);

and computing limit(g2, x, inf) does instantaneously return the

correct answer 1.

(All of the above is in Maxima 5.33.0 on GCL.)

Thanks,

Peter Bruin