0

I've been trying to solve an differential equation using substitution. I have the equation

(r^2 - 2 M r + a^2) D[ R[r], {r, 2}] + ((a^2 m^2 - 2 I a m (r - M))/(r^2 - 2 M r + a^2) - L (L + 1)) R[r] == 0

where $r$ is the variable and the rest ($a,m,M,L$) are constants. If we use the replacement

 {M -> (rm + rp)/2, a -> Sqrt[rm] Sqrt[rp]}

Then we can solve this equation using DSolve, the result being given by a hypergeometric function.

Now I've been following an article. Where they first use to substitution $$ R(x) = (1-\frac{1}{x})^{- i Z_m} y(x) $$ with $$ x = \frac{r - rp}{rp-rm}, \; Z_m = \frac{a\; m}{rp-rm} $$ which should result in a far more readable equation

$$ x(x-1)^2 y''(x) - 2 i Z_m y'(x) - L(L+1)^2 y(x) = 0. $$

Is there a way to do such substitution in Mathematica?

Nitaa a
  • 738
  • 2
  • 8
  • 1
    Note taken, I've replace $l$ with $L$. – Nitaa a Mar 04 '23 at 14:42
  • @xzczd are you sure this is duplicate? dChange and the new DSolveChangeVariables seem to support only change of variables on the independent variable. This question is asking for change of variable on both, the dependent and also the independent variable. I could never make DSolveChangeVariables do change of variable on the dependent variable. It just does not seem to support it. – Nasser Mar 04 '23 at 15:21
  • 1
    @Nasser Yeah, I'm pretty sure: https://mathematica.stackexchange.com/a/249783/1871 https://mathematica.stackexchange.com/a/270263/1871 – xzczd Mar 04 '23 at 15:44
  • 1
    I think you have something note right in the transformation. I can't get DSolveChangeVariables to do it. Also the link you give sends one to paid fee page. It is better to give link to the paper where one does not need to pay to see it. This is what I tried (it is possible I made error) ode = (r^2 - 2*M*r + a^2)*D[R[r], {r, 2}] + ((a^2*m^2 - 2*I*a*m*(r - M))/(r^2 - 2*M*r + a^2) - L*(L + 1))*R[r] == 0; deq = Inactive[DSolve][ode, R, r]; zm = am/(rp - rm); Simplify[DSolveChangeVariables[deq, y, x, {R[r] == y[x]/(1 - 1/x)^(-I*zm), x == (r - rp)/(rp - rm)}]] does not give what you show – Nasser Mar 04 '23 at 16:15
  • @xzczd That is good example. I got it. help does not show transformation on dependent variable for some reason. – Nasser Mar 04 '23 at 16:16
  • @Nasser have you got it to work? I have trouble using the DSolveChangeVariables in this case – Nitaa a Mar 04 '23 at 18:37
  • No I have not. I showed the code I used thanks to the link by xzxad. I think what I wrote is correct based on the example, but it does not give what you show. So something else is wrong. Make sure what you wrote is correct. may be you have typo? – Nasser Mar 04 '23 at 19:08
  • The same substitution is employed in https://dspace.cuni.cz/bitstream/handle/20.500.11956/116707/120353449.pdf?sequence=1&isAllowed=y at page 32, eq 2.16 (homogenous part, sadly this text is not in english, but should be freely accesible... there is a missing left bracket in the text). I have triple checked everything, I've noticed there was a typo in the definition $Z_m$, there was no space between a and m. – Nitaa a Mar 04 '23 at 19:15
  • 1
    @Nasser Actually you can find some examples for dependent variable in Scope section: https://i.stack.imgur.com/h2OLf.png :) – xzczd Mar 05 '23 at 02:57
  • Which part of https://doi.org/10.1007/BF01587004 is relevant? I fail to spot it… – xzczd Mar 05 '23 at 03:08
  • Another mistake! The right article is https://doi.org/10.1007/BF00766421 , Eq 2.10 to 2.14. – Nitaa a Mar 05 '23 at 08:21
  • Perhaps I should open a new question, posted rather as a discrepancy of what Mathematica gives and what the article says? – Nitaa a Mar 05 '23 at 08:39
  • I have managed to check the result, by doing the transformation the other way around. I will, later, try to check where perhaps mistake could have been made. Thank you all very much for your help and patience! – Nitaa a Mar 05 '23 at 08:52

0 Answers0