Question: Why doesn't evalf return a number?

In trying to evaluate the accuracy of an asymptotic approximation, I asked evalf to return the numerical value of the difference of two expressions.  It evaluated each expression but would not take their difference (see line 6).  Any idea what's going on?

restart

g := exp(-r*cosh(x))*x^(2*n); G := Int(g, x = 0 .. infinity)

Int(exp(-r*cosh(x))*x^(2*n), x = 0 .. infinity)

(1)

f0 := arccosh(1+y); df0 := diff(f0, y)

1/(y^(1/2)*(2+y)^(1/2))

(2)

f := f0^(2*n)*df0

arccosh(1+y)^(2*n)/(y^(1/2)*(2+y)^(1/2))

(3)

n := 2; series(f, y)

2*2^(1/2)*y^(3/2)-(7/6)*2^(1/2)*y^(5/2)+(47/80)*2^(1/2)*y^(7/2)-(17281/60480)*2^(1/2)*y^(9/2)+O(y^(11/2))

(4)

r := 6; evalf(G)

0.8560816424e-4

(5)

Ghat := exp(-r)*(2*sqrt(2)*GAMMA(5/2)*`-`*(7*sqrt(2)*(1/6))/r^(5/2)*(GAMMA(7/2)/r^(7/2))); Ghat1 := evalf(Ghat)

0.1056905544e-3-0.2568867641e-4*``

(6)

evalf(Ghat1)

0.1056905544e-3-0.2568867641e-4*``

(7)

 

Download asyapprox.mw

Please Wait...