0
$\begingroup$

I am trying to find the value of $r_0$ using $L^2=\frac{{r_0}^3 f'({r_0})}{2 f({r_0})-{r_0} f'({r_0})}$ and making a 3d plot with the help of the code given below:

$Assumptions = Thread[{l, L, Q, r0, rp} > 0];
f[r_] := 1 - (2 M)/r + Q^2/r^2 + r^2/l^2;
M = rp/2 (1 + Q^2/rp^2 + rp^2/l^2);
Veff[r_] = f[r] (L^2/r^2 + 1)
eqn = L^2 == (r0^3 f'[r0])/(2 f[r0] - r0 f'[r0]) // Simplify;
sol = Reduce[eqn, r0][[2, 2, 1]] // ToRules;
\[Lambda][Q_, rp_] = 
  Block[{l = 1, L = 20}, 
    1/2 Sqrt[(r0 f'[r0] - 2 f[r0]) Veff''[r0]] /. sol] // Simplify;
Plot3D[Log[100, (\[Lambda][Q, rp] + 1)], {Q, 0, 1.2}, {rp, 0, 1}]

which gives me root objects as output instead of algebraic expressions.
I tried ToRadicalsas discussed in other related answers but it didn't work for me.
The resulting 3d plot is also blank.
How to solve this problem?
Reference paper (page 8)

$\endgroup$
6
  • $\begingroup$ The Root objects are roots of 6th order polynomials, where no general solution in terms of radicals exists $\endgroup$
    – Lukas Lang
    Sep 6, 2022 at 14:34
  • $\begingroup$ Thanks for the clarification, but then how can I express $r_0$ in terms of $L$ as stated in the reference paper? Is there any possibility to do that? $\endgroup$
    – codebpr
    Sep 6, 2022 at 14:41
  • $\begingroup$ In the paper they say, just above (3.10), that (3.9) "can be used to express $r_0$ in terms of $L$", but they don't give any expression or even imply it's analytic in terms of radicals ;-) $\endgroup$
    – Hans Olo
    Sep 6, 2022 at 14:52
  • $\begingroup$ @HansOlo that's what troubles me. Even if I use the root object as input, I don't get the desired 3D plot as given in Figure 6, for the massive particles, instead I get a blank plot. $\endgroup$
    – codebpr
    Sep 6, 2022 at 15:00
  • $\begingroup$ All of your variables have positive values. This knowledge should be shared with Mathematica. By using $Assumptions = Thread[{l, L, Q, r0, rp} > 0]; the assumptions will automatically be available to any function that uses the option Assumptions. After defining $Assumptions, simplify the equation, eqn = L^2 == (r0^3 f'[r0])/(2 f[r0]-r0 f'[r0])//Simplify;If you are having trouble plotting, show the code that you used for the plot. $\endgroup$
    – Bob Hanlon
    Sep 6, 2022 at 15:37

1 Answer 1

1
$\begingroup$
Clear["Global`*"]

$Assumptions = Thread[{l, L, Q, r0, rp} > 0];

f[r_] := 1 - (2 M)/r + Q^2/r^2 + r^2/l^2;
M = rp/2 (1 + Q^2/rp^2 + rp^2/l^2);
Veff[r_] = f[r] (L^2/r^2 + 1);
eqn = L^2 == (r0^3 f'[r0])/(2 f[r0] - r0 f'[r0]) //
   Simplify;

sol = {Reduce[eqn, r0] // Simplify // ToRules}[[2 ;; 3]];

λ[Q_, rp_] = Block[{l = 1, L = 20},
    1/2 Sqrt[(r0 f'[r0] - 2 f[r0]) Veff''[r0]] /. 
     sol] // Simplify;

Column[
 Plot3D[Evaluate@Log[100, (# + 1)],
    {Q, 0, 6/5}, {rp, 0, 1},
    PlotPoints -> 60,
    MaxRecursion -> 3,
    ClippingStyle -> None,
    WorkingPrecision -> 15,
    AxesLabel ->
     {Q, rp, 
      Rotate[HoldForm@Log[100, λ[Q, rp] + 1], 90 Degree]},
    ImageSize -> 480] & /@
  λ[Q, rp]]

enter image description here

$\endgroup$
1
  • $\begingroup$ Thank you for the illuminating answer. It helped me getting started. The plot is very close to the Figure 6 on page 8 of the reference paper. There are minor differences, which maybe due to the difference in the plot range. $\endgroup$
    – codebpr
    Sep 6, 2022 at 18:43

Your Answer

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

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