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]

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"]

enter image description here

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.

  • 3
    $\begingroup$ Yes, there is. It is called Asymptotic. Use it as Asymptotic[f, r -> Infinity]. $\endgroup$
    – Domen
    Mar 31, 2022 at 14:44
  • $\begingroup$ OMG! Thanks a lot, However it returns 0 for me! $\endgroup$
    – Wisdom
    Mar 31, 2022 at 14:54
  • 1
    $\begingroup$ 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] $\endgroup$
    – Bob Hanlon
    Mar 31, 2022 at 15:05
  • $\begingroup$ @Wisdom, it is hard to comment without you giving us the definition of your function ... $\endgroup$
    – Domen
    Mar 31, 2022 at 15:24
  • 2
    $\begingroup$ @bmf Apologizing to Wisdom for not reading the question carefully. Anyway, I think they've seen it, so I'll delete it. :) $\endgroup$
    – Michael E2
    Mar 31, 2022 at 17:25

1 Answer 1


Maybe this:

 Series[f[re], {re, Infinity, 1}, 
  Assumptions -> 
   Thread[{γ, M, mp, norm, β, α} > 0]], 
 Thread[{γ, M, mp, norm, β, α} > 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) (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:

 Asymptotic[f[re], re -> Infinity, 
  Assumptions -> 
   Thread[{γ, M, mp, norm, β, α} > 0], 
  SeriesTermGoal -> 1], 
 Thread[{γ, M, mp, norm, β, α} > 0]]
  • $\begingroup$ 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? $\endgroup$
    – Wisdom
    Mar 31, 2022 at 17:09
  • $\begingroup$ @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. $\endgroup$
    – Michael E2
    Mar 31, 2022 at 17:23
  • 2
    $\begingroup$ The Asymptotic version can be simplified a bit with: Assuming[ Element[{γ, M, mp, norm, β, α}, PositiveReals], FullSimplify @ Asymptotic[f[re], re -> Infinity] ] $\endgroup$
    – Carl Woll
    Mar 31, 2022 at 17:56
  • $\begingroup$ @MichaelE2 Sorry for delay and Thanks a lot for your answer. $\endgroup$
    – Wisdom
    Mar 31, 2022 at 19:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.