# RootReduce-Part of Solve

I have given the following expression in $M$ and $z$: \begin{equation} a = \frac{-4 M^2+M (-3 z-5)+\frac{1.1875 z}{\sqrt{\frac{0.015625 z}{M+1}-1.5625} \sqrt{\frac{0.765625 z}{M+1}-0.5625}}-1}{M+0.75 z+1} \tag{1} \end{equation} In Mathematica, this is

a = (-1. - 4. M^2 + M (-5. - 3. z) + (1.1875 z) / (Sqrt[-1.5625 + (0.015625 z)/(1 + M)] Sqrt[-0.5625 + (0.765625 z)/(1 + M)]))/(1. + 1. M + 0.75 z)


If I set this expression to $0$ and solve for $M$, I get the 5 roots as

Solve[a == 0, M]
(* {{M -> Root[900.0 - 1909.0 z + \(9900.0 - 13690.0 z + 98.0 z^2) #1
+ \(38700.0 - 30597.0 z - 14514.0 z^2 + 147.0 z^3) #1^2
+ \(65700.0 - 27760.0 z - 14612.0 z^2) #1^3
+ \(50400.0 - 8944.0 z) #1^4
+ 14400.0 #1^5 &, 1]},
<<4>>} *)


(To clean the output, I truncated all trailing zeros but the first.)

Is there a way to transform expression $a$ to the polynomial given in Root[]? Maybe with RootReduce?

I only managed to get the expression to the following form by manual manipulation:

b = Expand[Together[a]*Denominator[Together[a]]];
c = b[]^2 == (-b[[2;;Length[b]]])^2 // (Head[#][Subtract@@#,0] &);
d = Collect[Together[c[]]*Denominator[Together[c[]]], M]
(* -14.0625 M^6 - 0.107666 M^5 (587.755 + 16.8345 z)
-0.107666 M^4 (1053.06 + 9.94104 z - 193.379 z^2)
-0.107666 M^3 (946.939 - 82.3764 z - 453.025 z^2 - 98.068 z^3)
-0.107666 M^2 (440.816 - 138.431 z - 338.9 z^2 - 97.4014 z^3 + 1. z^4)
-0.107666 M (97.9592 - 74.1406 z - 92.2404 z^2 + 0.666667 z^3)
-0.107666 (8.16327 - 11.1927 z - 12.9864 z^2) *)


I induced an additional root

Solve[Denominator[a] == 0, M]
(* {{M -> -1. - 0.75 z}} *)


which shows in

Solve[d == 0, M]


So without this additional root,

e = Chop[Collect[PolynomialQuotient[d, M - Solve[Denominator[a] == 0, M][[1,1,2]], M], M]]
(* -14.0625 M^5 + M^4 (-49.2188 + 8.73437 z)
+ M^3 (-64.1602 + 27.1094 z + 14.2695 z^2)
+ M^2 (-37.793 + 29.8799 z + 14.1738 z^2 - 0.143555 z^3)
+ M (-9.66797 + 13.3691 z - 0.0957031 z^2)
-0.878906 + 1.86426 z *)


this is, modulo renormalization by $14400/14.0625$, the root witch Mathematica found by Solve[a == 0, M].

How does Solve bring expression $a$ in canonical polynomial form, on which it applies Root?

## 1 Answer

To get the polynomial, the easiest way is

res = M /. Rationalize@Solve[a == 0, M];

poly = res[[1, 1]][M]

900 + 14400 M^5 + M^4 (50400 - 8944 z) - 1909 z +
M^3 (65700 - 27760 z - 14612 z^2) + M (9900 - 13690 z + 98 z^2) +
M^2 (38700 - 30597 z - 14514 z^2 + 147 z^3)


Now I don't know what Solve does, but I did the following.

Take the numerator

Isolate the term with the square root

Square both sides

Take the numerator of the subtracted terms

Factor, take the quintic, and collect in terms of $M$

Collect[
FactorList[
Numerator[
Together[
Numerator[
Rationalize[a]] //. {e1_ + e2_ Power[e3_, r_Rational] :>
With[{d = Denominator[r]}, -(-e1)^d + (e2 e3^r)^d]}]]][[-1, 1]], M]

900 + 14400 M^5 + M^4 (50400 - 8944 z) - 1909 z +
M^3 (65700 - 27760 z - 14612 z^2) + M (9900 - 13690 z + 98 z^2) +
M^2 (38700 - 30597 z - 14514 z^2 + 147 z^3)


p.s.

There is no hope in solving this quintic in terms of radicals. For instance, when $z = 1$ the Galois group is $S_5$. You can see this using Galois.nb found here

GaloisGroup[poly /. z -> 1]

{SymmetricGroup}

• Thank you, your solutions with ReplaceRepeated and RuleDelayed is much more sophisticated then my humble attempt. I was hoping to circumvent using Solve and get the Root-Expression directly. But this 'half-manual' approach seems to be how one has to proceed. At least it is almost 30 times as fast as Rationalize@Solve. And thanks for the link, there I found some helpful resources. – Marco Breitig Aug 27 '15 at 8:17