# How to study asymptotic behavior, built-in functions

My question is as follows. Suppose we have a function $f(r)$ and we want to study its asymptotic behavior at infinity ($r\rightarrow \infty$). For example, the function may reduce to $-\frac{a}{r}$ or $b e^{-cr}$ at infinity. How do I identify the constants $a,b$ and $c$ using Mathematica? Or, more generally, how do I identify the asymptote of a function? Can anybody point out useful built-in functions?

I am interested in the function:

$$f(r)=-\frac{\sqrt{3} e^{-2 r/3}}{\pi ^{2/3}}-\frac{\sqrt{2 \pi } e^{2 r/3}}{5 \left(\frac{3 \sqrt{\pi } e^{2 r/3} \sinh ^{-1}\left(2 \sqrt{2 \pi } e^{2 r/3}\right)}{5\ 2^{2/3}}+1\right)}$$

or

f[r_]:=-((3^(1/3) E^(-2 r/3))/\[Pi]^(2/3)) - (E^(2 r/3) (2 \[Pi])^(1/3))/(
5 (1 + (3 E^(2 r/3) \[Pi]^(1/3)
ArcSinh[2 E^(2 r/3) (2 \[Pi])^(1/3)])/(5 2^(2/3))))


I expect this function to have -$\frac{1}{r}$-behavior. How do I check it? I am not interested in a numerical value of the limit (which is 0), but rather in a function the original function reduces to at infinity.

P.S. Using Mathematica for a week

• Google for Asymptotic analysis ... there is a whole world in your hands Jan 17, 2013 at 17:58
• The second part of this question is broad and perhaps--if suitably narrowed--would be more appropriate on the math site. Is there a specific function you would like to analyze? Jan 17, 2013 at 17:59
• Closely related question: How to expand a function into a power series with negative powers?
– Jens
Jan 17, 2013 at 18:06
• For what it's worth, the expansion I did (with ArcSinh or ArcSin) does show explicitly that the asymptotic behavior is O(1/r). Jan 18, 2013 at 14:37
• I tried N[Normal[Series[f[r], {r, Infinity, 5}]]] /. r -> 100 and N[Normal[Series[f[r], {r, 0, 5}]]] /. r -> r^-1 /. r -> 100 (to get the expansion in negative powers, as suggested above). But two commands return different results. What am I doing wrong? Jan 18, 2013 at 16:10

f[r_] := 3^(1/3)*Exp[-2*r/3]/Pi^(2/3) - (2*Pi)^(1/3)*
Exp[2*r/3]/(5*(3*Pi^(1/3)*Exp[2*r/3]*
ArcSin[2*(2*Pi)^(1/3)*Exp[2*r/3]]/(5*2^(2/3)) + 1))


In this case you might just observe that there is a commonly appearing expression Exp[2*r/3]. Substitute in a enw variable and expand a series at infinity in both variables. Then replace the substituted variable.

g[r_] := f[r] /. {Exp[-2*r/3] -> 1/y, Exp[2*r/3] -> y}

hh = PowerExpand[
Normal[Series[g[r], {y, Infinity, 1}, {x, Infinity, 1}]] /.
y -> Exp[2*r/3]]

(* -(4/(3*(Pi - (4*I*r)/3 - I*(4*Log +
(2/3)*(Log + Log[Pi]))))) +
(3^(1/3)/Pi^(2/3) + (40*2^(2/3))/(9*Pi^(1/3)*
(Pi - (4*I*r)/3 -
I*(4*Log + (2/3)*(Log + Log[Pi])))^
2))/E^((2*r)/3) *)


This should give a good idea of the behavior at infinity.

There are ways of making this algorithmic. I won't pursue that though.

This result captures the asymptotic behavior quite well, I will say. Here's a quick numeric check.

f[111.]

(* Out= -0.000181229 - 0.00876831 I *)

hh /. r -> 111.

(* Out= -0.000181229 - 0.00876831 I *)


By the way, it would be most helpful if in future you use actual Mathematica notation rather than provide only a LaTeX form that needs to be translated.

• Yes, providing a formula in $\TeX$ is a problem. In this case, for instance, "ArcSinh" inadvertently became "ArcSin" in your answer--that's why you're getting complex values for real values of the argument. Jan 17, 2013 at 21:19
• @whuber I don't know if it was inadvertant...that 'h' might have been suicidal. Jan 17, 2013 at 21:30
• yep, you should have ArcSinh in place of ArcSin. Added Mathematica code Jan 17, 2013 at 22:45

You can use the Limit function:

f[r_] := -((3^(1/3) E^(-2 r/3))/\[Pi]^(2/3)) - (E^(2 r/3) (2 \[Pi])^(1/
3))/(5 (1 + (3 E^(2 r/3) \[Pi]^(1/3) ArcSinh[
2 E^(2 r/3) (2 \[Pi])^(1/3)])/(5 2^(2/3))))
Limit[f[r], r -> \[Infinity]]


...which returns 0. Plotting shows that this is correct:

Plot[f[r], {r, 1, 10000}, PlotRange -> All] • But how do I show that the function behaves like $-\frac{1}{r}$ at infinity? Jan 18, 2013 at 2:19
• @molkee You can show that the function behaves like -1/r at infinity via Limit[r*f[r], r->∞]. Note the factor of r multiplying f[r].
– user9892
Oct 8, 2013 at 2:14

Another possibility is to use new in M12 function AsymptoticSolve:

sol = AsymptoticSolve[y==f[r],y,{r,Infinity,4}]

{{y -> (-8 r^3 + 12 r^2 Log[4 (2 \[Pi])^(1/3)] -
18 r Log[4 (2 \[Pi])^(1/3)]^2 + 27 Log[4 (2 \[Pi])^(1/3)]^3)/(8 r^4)}}


Series[y /. First @ sol, {r, Infinity, 4}] //TeXForm


$$-\frac{1}{r}+\frac{3 \log \left(4 \sqrt{2 \pi }\right)}{2 r^2}-\frac{9 \log ^2\left(4 \sqrt{2 \pi }\right)}{4 r^3}+\frac{27 \log ^3\left(4 \sqrt{2 \pi }\right)}{8 r^4}+O\left(\left(\frac{1}{r}\right)^5\right)$$

• Making use of {{y -> (-8 r^3 + 12 r^2 Log[4 (2 \[Pi])^(1/3)] - 18 r Log[4 (2 \[Pi])^(1/3)]^2 + 27 Log[4 (2 \[Pi])^(1/3)]^3)/(8 r^4)}} // Expand gives a nicer result $$\left\{\left\{y\to \frac{27 \log ^3\left(4 \sqrt{2 \pi }\right)}{8 r^4}-\frac{9 \log ^2\left(4 \sqrt{2 \pi }\right)}{4 r^3}+\frac{3 \log \left(4 \sqrt{2 \pi }\right)}{2 r^2}-\frac{1}{r}\right\}\right\} .$$ Jul 8, 2021 at 4:25

When Series is not applicable, we can use a cycle of Limits

fun = f[r] (* for f[r] see above *); ser = 0; c = 0; Do[fun = (fun - c)*r;
c = Limit[fun, r -> Infinity];
ser += c/r^k, {k, 1, 4}]; Print[ser]


We get an asymptotic expansion with more terms $$-\frac{1}{r} + \frac{\log (128 \pi )}{2 r^2} - \frac{9 \log ^2\left(4 \sqrt{2 \pi }\right)}{4 r^3} + \frac{27 \log ^3\left(4 \sqrt{2 \pi }\right)}{8 r^4}$$