TransWikia.com

AsymptoticDSolveValue fails at some value

Mathematica Asked by user583893 on April 21, 2021

I have the following simple code for obtaining the asymptotic behavior of $r(rho)$ at infinity. The routine works well with $q=-1$ and $q=1/3$ but fails for the rest of the values where $q<1$ (e.g. $q=0$). What could be the problem here? My main goal here is to obtain an asymptotic solution $r(rho)$ given a particular value of q. Thanks

 q = 0; b0 = 1;
 sol = AsymptoticDSolveValue[{r'[[Rho]] == Sqrt[1 - (b0/r[[Rho]])^(1 - q)], r[0] == b0}, r[[Rho]], {[Rho], [Infinity], 1}]

One Answer

Assuming b0==1 you'll find an analytical solution looking for [Rho][r] ("inverse problem"):

rho = DSolveValue[{1 == [Rho]'[r] Sqrt[1 - 1/r^(1 - q)] , [Rho][1] == 0}, [Rho], r]
(*Function[{r}, -((2 (-Sqrt[[Pi]] Sqrt[-1 + q] Sqrt[(r - r^q)/r]Gamma[3/2 + 1/(1 - q)] 
+Sqrt[1 - q] r Sqrt[r^-q (-r + r^q)]Gamma[1 + 1/(1 - q)] Hypergeometric2F1[1/2, (-3 +q)/(2 (-1 + q)), 1 + (-3 + q)/(2 (-1 + q)), r^(1 - q)]))/(Sqrt[1 - q] (-3 + q) Sqrt[(r - r^q)/r] Gamma[1 + 1/(1 - q)]))]*)

Plot[Table[rho[r], {q, -1, 1 - .1, .1}], {r, 1, 100},AxesLabel -> {"r", "rho[r]"}]

enter image description here

The asymptotic behavior evaluates to rho[r]/r~1, r->Infinity

Table[{q, Normal[Series[rho[r] /r, {r, Infinity, 0}] ]}, {q, -1,1 - 1/10, 1/10}] // Simplify[#, r > 1] & // N    
(*{{-1., 1.}, {-0.9, 1.}, {-0.8, 1.}, {-0.7, 1.}, {-0.6, 1.}, {-0.5,1.}, {-0.4, 1.},...}*)

For special values it's possible to invert the Series by hand( unfortunately InverseSeries doesn't work here)

case q==0:

ser = Normal[Series[rho[r] /. q -> 0, {r, Infinity, 0}]] // Simplify[#, r > 0] &
(*-(1/2) + r + Log[2] + Log[r]/2*)

->Targeting guessing

Series[[Rho] - ser /.r -> [Rho] - 1/2  Log[[Rho]] + 1/2 (1 - 2 Log[2]), {[Rho],Infinity, 1}] // Simplify
(*SeriesData[[Rho], DirectedInfinity[1], {Rational[1, 4] (-1 + Log[4] + Log[[Rho]])}, 1, 2, 1]*)

gives the inverse expansion r ~ [Rho] + 1/2 (1 - 2 Log[2])- 1/2 Log[[Rho]]

case q==1/2:

ser = Normal[Series[rho[r] /. q -> 1/2, {r, Infinity, 0}]] // Simplify[#, r > 0] &
(*-(7/8) + Sqrt[r] + r + (3 Log[2])/2 + (3 Log[r])/8*)

->Targeting guessing

Series[[Rho] - ser /.r -> [Rho] -   Sqrt[[Rho]] - 3/8 Log[[Rho]], {[Rho],Infinity, 1}] // Simplify
(*SeriesData[[Rho], DirectedInfinity[1], {Rational[1, 8] (11 - 12 Log[2]),Rational[1, 16] (8 + 3 Log[[Rho]]),Rational[1, 64] (16 + 15 Log[[Rho]])}, 0, 3, 2]*)

gives the inverse expansion r -> [Rho] - Sqrt[[Rho]] - 3/8 Log[[Rho]]

Answered by Ulrich Neumann on April 21, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP