# Approximate analytic solution to a polynomial equation

The analytic solution of the equation $$1-\frac{2M}{r}+\frac{Q^2}{r^2}-\frac{\Lambda}{3}r^2 = 0$$ obtained by using the code

Solve[1 + Q^2/r^2 - (2 M)/r - (r^2 Λ)/3 == 0, {r}]


is lengthy and complicated.

How can one verify that two approximate solutions obtained by retaining terms only up to first order in $\Lambda$ and $Q^2$, which are small quantities, are $$r_1 = 2M - \frac{Q^2}{2M} + \frac{4M}{3}(2M^2-Q^2)\Lambda, \\ r_2 = \sqrt{\frac{3}{\Lambda}} -M - \frac{\sqrt{3}}{6}(3M^2-Q^2)\sqrt{\Lambda}$$

• 1. "…only up to first order of $\Lambda$ and $Q^2$", I think you mean $Q$? 2. Is $M>0$ ? Jul 2 '16 at 9:17
• 1. ...second order in $Q$. 2. Yes, all quantities are positive.
– Ajit
Jul 2 '16 at 9:19
• something like that? Series[r /. Solve[1 + Q^2/r^2 - (2 M)/r - (r^2 \[CapitalLambda])/3 == 0, {r}][], {Q, 0, 2}] // Normal // Series[#, {\[CapitalLambda], 0, 1}] & // FullSimplify[#, Assumptions -> {M > 0}] &  Jul 2 '16 at 9:35
• @chris It looks like an answer. Jul 2 '16 at 10:18

This provides the second solution it seems.

 Series[r /. Solve[1 + Q^2/r^2 - (2 M)/r - (r^2 Λ)/3 == 0, {r}][],
{Q, 0, 2}] //  Normal // Series[#, {Λ, 0, 1}] & //
FullSimplify[#, Assumptions -> {M > 0}] & eqn = 1 + Q^2/r^2 - 2 M/r - r^2 Λ/3 == 0;

soln = Assuming[{Q > 0, M > 0, Λ > 0},
Solve[eqn, r] // Simplify];


Verifying that soln satisfies the equation

eqn /. soln // Simplify

(*  {True, True, True, True}  *)

approx = Assuming[{M > 0, Q > 0, Λ > 0},
Series[r /. soln, {Λ, 0, 1}, {Q, 0, 2}] //
Normal //
Simplify]

(*  {Q^2/(2 M), -(Q^2/(2 M)) + (8 M^3 Λ)/3 +
M (2 - (4 Q^2 Λ)/3), -((-3 Sqrt M^2 Λ +
8 M^3 Λ^(3/2) +
2 M Sqrt[Λ] (3 - 2 Q^2 Λ) +
Sqrt (6 + Q^2 Λ))/(
6 Sqrt[Λ])), (-3 Sqrt M^2 Λ -
8 M^3 Λ^(3/2) + Sqrt (6 + Q^2 Λ) +
2 M Sqrt[Λ] (-3 + 2 Q^2 Λ))/(
6 Sqrt[Λ])}  *)


As Mathematica can find an analytic solution in this case, I believe we can have greater confidence in approximation to the exact solution rather than an exact solution to an approximate equation. In general, the roots of a polynomial are notoriously ill-conditioned: a small change in the coefficients can cause a large change in the roots.

I provide a solution that is simultaneously first order in Q^2 and Λ, so there is no term in Λ Q^2. I introduce the dummy variable e to facilitate this approximation.

soln = Solve[1 + Q^2/r^2 - (2 M)/r - (r^2 Λ)/3 == 0, {r}];
approxsoln =
Assuming[M > 0 && Λ > 0,
Map[Series[#, {e, 0, 1}] &, soln /. u : (Λ | Q^2) -> e u, {3}] //
FullSimplify];
result = Normal[approxsoln] /. e -> 1 // InputForm

(*{{r -> Q^2/(2*M)}, {r -> 2*M + (8*Λ*M^3)/3 - Q^2/(2*M)},
{r -> -(Sqrt/Sqrt[Λ]) - M + (Sqrt*Sqrt[Λ]*M^2)/2 - (4*Λ*M^3)/3},
{r -> Sqrt/Sqrt[Λ] - M - (Sqrt*Sqrt[Λ]*M^2)/2 - (4*Λ*M^3)/3}}*)

• $\Lambda$: [Esc] [Shift]-L [Esc] or \[CapitalLambda] Jul 2 '16 at 19:07
• @EricTowers: Thanks - I know how to do it Mathematica, but not on the website. Jul 2 '16 at 19:12
• In markdown, cut-and-paste one copy of the one you see in my comment, remove any whitespace that might have appeared, then cut-and-paste it wherever you need it. (The challenge is getting one. Once you have one, it's easy to make copies...) Doing this for the one you see above: Λ Jul 2 '16 at 19:24