I have a simple enough system of two equations that need to be inverted:
αEMeqn = αEM == (1/(4 π)) gy^2 gw^2/(gy^2 +
gw^2) (1 - 2 vT^2 δ CϕWB (gy gw)/(gy^2 + gw^2));
and:
MZeqn = MZ^2 == (1/4) vT^2 (gy^2 + gw^2) + (1/
8) vT^4 δ CϕD (gy^2 + gw^2) + (1/2) vT^4 gy gw δ CϕWB;
The solution is consistent to first order in δ and the higher order terms aren't worth anything, so they are truncated (and δ set to 1, as it is just a book-keeping parameter). I do:
coupsols = Solve[(αEMeqn) && (MZeqn), {gy, gw}];
And looking at the positive solution for one of these parameters, do the truncation:
gytruncsol = (gy //. coupsols[[4]]) //
Normal@Series[#, {δ, 0, 1}] & // Expand // FullSimplify
Then set δ to 1.
Problem is, the solutions are defined (recursively?) in terms of root objects and so on. It seems likely that they need not be, given we only need the first order part of the solution. Is there a nice way to either:
1) Tell Mathematica at the stage of Solve
that I only want an answer to a fixed order and so have it give me a more compact analytic solution that can be written down?
or,
2) Once it has the ugly, full solution, have it take on-board the information that I've truncated this solution in this parameter to the point where maybe it's no longer necessary to have it defined in an opaque way, and re-express it (hopefully) analytically and nicely?
Cheers!