# How can I predict the asymptotic behavior of a function (not its numerical limit) by simplifying it?

I have a complicated function which I intend to predict its asymptotic behavior (specially I have a $$f(r)$$ which I want to know its asymptotic behavior in $$r\rightarrow \infty$$). I know that the command Limit gives me the numerical limit of the function in the special limits instead, I need a function which simulate the behavior of the original function in the limits in the best possible way. Let me get help from a toy example: We know the limit of Sin[x] for x->0 is 0 namely

Limit[Sin[x], x -> 0]
(*0*)


but we know it behaves just as x function in small xs. The following plot shows this fact:

Plot[{Sin[x], x}, {x, 0, 4}, PlotLegends -> "Expressions"]


So we say x function simulates the asymptotic behavior of Sin[x]. I need to find such a thing for my complicated function. Note that I don't want use fitting or something else, I just want to reach such a function by manipulating (for example choosing terms whit high growth rate and removing other terms) my original function (what was not possible for simple Sin[x] function). Is there any command in Mathematica to do this?

This is the closed form of my function:

f[re_] :=
1/(8 Sqrt[2]
mp re \[Gamma] (M^2 \[Beta] + mp^2 \[Gamma]) Sqrt[\[Beta] + (
mp^2 \[Gamma])/M^2]) E^(-2 re^2 \[Gamma]) M^2 norm^2 \[Pi]^(
3/2) (E^((M \[Alpha] - 2 mp re \[Gamma])^2/(
2 (M^2 \[Beta] +
mp^2 \[Gamma]))) ((-1 + E^((4 M mp re \[Alpha] \[Gamma])/(
M^2 \[Beta] + mp^2 \[Gamma]))) M \[Alpha] +
2 (1 + E^((4 M mp re \[Alpha] \[Gamma])/(
M^2 \[Beta] + mp^2 \[Gamma]))) mp re \[Gamma]) +
E^((M \[Alpha] - 2 mp re \[Gamma])^2/(
2 (M^2 \[Beta] + mp^2 \[Gamma]))) (M \[Alpha] -
2 mp re \[Gamma]) Erf[(M \[Alpha] - 2 mp re \[Gamma])/(
Sqrt[2] M Sqrt[\[Beta] + (mp^2 \[Gamma])/M^2])] -
E^((M \[Alpha] + 2 mp re \[Gamma])^2/(
2 (M^2 \[Beta] + mp^2 \[Gamma]))) (M \[Alpha] +
2 mp re \[Gamma]) Erf[(M \[Alpha] + 2 mp re \[Gamma])/(
Sqrt[2] M Sqrt[\[Beta] + (mp^2 \[Gamma])/M^2])]);


where all parameters are real and positive. I want to find asymptotic behavior of f[re] when re goes to infinity.

• Yes, there is. It is called Asymptotic. Use it as Asymptotic[f, r -> Infinity]. Mar 31, 2022 at 14:44
• OMG! Thanks a lot, However it returns 0 for me! Mar 31, 2022 at 14:54
• With v13.0.1, Asymptotic[Sin[x], x -> 0] evaluates to x; Asymptotic[Sin[x], x -> 0, SeriesTermGoal -> 3] evaluates to x - x^3/6 and Asymptotic[Sin[x], x -> Infinity] evaluates to Sin[x] Mar 31, 2022 at 15:05
• @Wisdom, it is hard to comment without you giving us the definition of your function ... Mar 31, 2022 at 15:24
• @bmf Apologizing to Wisdom for not reading the question carefully. Anyway, I think they've seen it, so I'll delete it. :) Mar 31, 2022 at 17:25

Maybe this:

FullSimplify[
Series[f[re], {re, Infinity, 1},
Assumptions ->
Thread[{γ, M, mp, norm, β, α} > 0]],
Thread[{γ, M, mp, norm, β, α} > 0]]

FullSimplify[Normal[%],
Thread[{γ, M, mp, norm, β, α} > 0]]
(*
-((E^((M (M α^2 -
4 re (mp α + M re β) γ))/(
2 (M^2 β + mp^2 γ))) M^3 norm^2 π^(
3/2) (M α - 2 mp re γ))/(
4 Sqrt[2] mp re γ (M^2 β + mp^2 γ)^(3/2)))
*)


Or, to remove an extra term:

FullSimplify[Normal@Series[%, {re, Infinity, 0}],
Thread[{γ, M, mp, norm, β, α} > 0]]
(*
(E^((M (M α^2 - 4 re (mp α + M re β) γ))/(
2 (M^2 β + mp^2 γ))) M^3 norm^2 π^(
3/2))/(2 Sqrt[2] (M^2 β + mp^2 γ)^(3/2))
*)


Or to get the same thing:

FullSimplify[
Asymptotic[f[re], re -> Infinity,
Assumptions ->
Thread[{γ, M, mp, norm, β, α} > 0],
SeriesTermGoal -> 1],
Thread[{γ, M, mp, norm, β, α} > 0]]

• Thanks a lot. I got the answer for your first code but the second returns a different answer, why? And I will be so grateful if you add some explanation about your first code using Series, how does it work? Mar 31, 2022 at 17:09
• @Wisdom The first code produces an extra term. Sometimes, esp. when there are factors without a series expansion, you have to go past the desired number of terms in order to get desired term. You can then apply Series to trim the series. Series works like Asymptotic. If you ask for Normal@Series[f[re], {re, Infinity, 0}] and simplify, you get 0 just like with your first try at Asymptotic. Mar 31, 2022 at 17:23
• The Asymptotic version can be simplified a bit with: Assuming[ Element[{γ, M, mp, norm, β, α}, PositiveReals], FullSimplify @ Asymptotic[f[re], re -> Infinity] ] Mar 31, 2022 at 17:56
• @MichaelE2 Sorry for delay and Thanks a lot for your answer. Mar 31, 2022 at 19:37