1
$\begingroup$

The function

$ f(T) = 1/T^2 Exp(1/T) [Exp(1/T) + 1]^{-2} $

in low $T$ limit is $ f(T)=Exp(-1/T)$

and in high $T$ limit $(T)=1/T^2$.

Is there a command in mathematica to find the the function in low and high $T$ limit?

$\endgroup$
3
$\begingroup$

Following code does the trick:

limiter=Function[{input,variable,limit},
FullSimplify[TrigToExp[
Simplify[Normal[FullSimplify[
input SeriesData[variable,limit,List[1],0,1,1]
]]]]//.Plus[a_,b_]:>a/;AsymptoticEqual[a+b,a,variable->limit]]
];

For example:

f[x_] := 1/x^2 Exp[1/x] (Exp[1/x] + 1)^-2;

limiter[f[x], x, 0]

Sech[1/x]/(2 x^2)

limiter[f[x], x, Infinity]

1/(4 x^2)

limiter[f[x], x, a]

1/(2 a^2 (1 + Cosh[1/a]))

The main issue is that we are trying to obtain asymptotic forms around singular points hence naive series command would not work. Above, we use SeriesData command to force a series form, replace $a+b$ with $a$ if both produce same result in the limit, and simplify.

The asymptotic forms are exact, in the sense that they numerically converge appropriately. For example, for $x\rightarrow 0$ limit, you need both $e^{-1/x}$ and $e^{1/x}$ to approximate correct result, so we indeed need hyperbolic function:

\begin{align} f(0.005)=\text{5.53558610694695$\grave{ }$*${}^{\wedge}$-83}\\ \frac{\text{sech}\left(\frac{1}{x}\right)}{2 x^2}\text{/.}\, x\to 0.005=\text{5.53558610694695$\grave{ }$*${}^{\wedge}$-83}\\ \exp \left(-\frac{1}{x}\right)\text{/.}\, x\to 0.005=\text{1.3838965267367376$\grave{ }$*${}^{\wedge}$-87} \end{align}

Of course, the limiting result becomes less accurate for higher values: \begin{align}f(0.1)=0.00453958\\\frac{\text{sech}\left(\frac{1}{x}\right)}{2x^2}\text{/.}\, x\to 0.1=0.00453999\end{align}

$\endgroup$
  • 2
    $\begingroup$ With 11.3 you can check with AsymptoticEqual[1/x^2 Exp[1/x] (Exp[1/x] + 1)^-2, Sech[1/x]/(2 x^2), x -> 0] and AsymptoticEqual[1/x^2 Exp[1/x] (Exp[1/x] + 1)^-2, 1/(4 x^2), x -> Infinity]. $\endgroup$ – b.gates.you.know.what Mar 22 '18 at 8:45
  • $\begingroup$ Tricky application of a new function AsymptoticEqual which I didn't know(MMA 11.0.1)! One question remains looking at Simplify[ ExpToTrig[f[x]] ] (*Sech[1/(2 x)]^2/(4 x^2) *): Is there any advantage to approximate f[x] with a similar function (*Sech[1/( x)]/(2 x^2) *)? $\endgroup$ – Ulrich Neumann Mar 22 '18 at 8:57
  • $\begingroup$ An approximation should be of simple form. The function E^(-1/x)/x^2 is more simple, but yields the same good approximation than Sech[1/x]/(2 x^2) . See E^(-1/x)/x^2 /. x -> .005 gives also 5.53559*10^-83 and E^(-1/x)/x^2 /. x -> .1 gives also 0.00453999 . Sech[1/x]/(2 x^2) // TrigToExp // Simplify // ExpandAll is equal E^(1/x)/(x^2 + E^(2/x) x^2) . The first x^2 in the denominator can totaly be negelected. $\endgroup$ – Akku14 Mar 24 '18 at 8:38
  • $\begingroup$ Thanks for the detailed analysis of the low limit function approximation. @UlrichNeumann I think we have to rely on our analytical skills in subtle cases. $\endgroup$ – Mark Robinson Mar 24 '18 at 9:51
0
$\begingroup$

Get a simple graphical solution.

Expand all terms of the function and regard, which summand of the denominator is dominating the behavior of f[x] approaching zero.

f[x_] = 1/x^2 Exp[1/x] (Exp[1/x] + 1)^-2 // ExpandAll

(*    E^(1/x)/(x^2 + 2 E^(1/x) x^2 + E^(2/x) x^2)   *)

Table[n[i] = Numerator[f[x]]/Denominator[f[x]][[i]], {i, 3}] // Simplify

(*   {E^(1/x)/x^2, 1/(2 x^2), E^(-1/x)/x^2}   *)

Plot[{f[x], n[1], n[2], n[3]}, {x, 0, 1}, PlotRange -> {0, 4}, 
   PlotStyle -> {Red, Green, Magenta, Blue}]

enter image description here

You see, E^(-1/x)/x^2 is the best approximation. It yields the same good approximation like Sech[1/x]/(2 x^2) , but is more simple. (See my comment to the answer of @Soner)

$\endgroup$
0
$\begingroup$

Another way is as follows.

Normal[Series[1/T^2*Exp[1/T]*(Exp[1/T] + 1)^(-2), {T, Infinity, 3}]]

1/(4 T^2)

Normal[Series[1/T^2*Exp[1/T]*(Exp[1/T] + 1)^(-2), {T, 0, 1}]]

E^(1/T)/((1 + E^(1/T))^2 T^2)

Addition. Here is a minor improvement of the Soner's answer.

limiterFA = Function[{input, variable, limit},FullSimplify[
TrigToExp[Simplify[Normal[FullSimplify[input SeriesData[variable, limit, 
List[1], 0, 1, 1]]]]] //. 
 Plus[a_, b_] :>  /; AsymptoticEqual[a + b, a, variable -> limit, 
    Direction -> "FromAbove"]]];
f[x_] := 1/x^2 Exp[1/x] (Exp[1/x] + 1)^-2;limiterFA[f[x], x, 0]

E^(-1/x)/x^2

$\endgroup$
  • $\begingroup$ Your approximation to the function in 0 T limit yields the function itself! $\endgroup$ – Mark Robinson Mar 24 '18 at 9:41
  • 1
    $\begingroup$ @Chandan Sharma: This is caused by the different behavior of Exp[1/T] at $T=0$ from the right and from the left. $\endgroup$ – user64494 Mar 24 '18 at 10:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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