intransigent root expressions

*To*: mathgroup at christensen.cybernetics.net*Subject*: [mg616] intransigent root expressions*From*: wmm at chem.wayne.edu (Martin McClain)*Date*: Wed, 29 Mar 95 11:39:52 EST

Dear MathGroupers: In solving scientific problems you often run across expressions like In[181]:= xSolns = Solve[2.*10^-25 y==3.*10^-25 x^2+7.*10^-26, x] where the large exponents are generated by the SI unit system applied to atomic scale quantities. Using Solve, and extracting the answer, the positive solution comes out as xExpr = 5.54977*10^-25 * Sqrt[-7.57576*10^47 + 2.16450*10^48*y] This would be your answer, if only you could force that tiny exterior coefficient to multiply into the huge numbers under the square root. Does anybody know a graceful way to do this? The operators Expand, ExpandAll, Simplify, and PowerExpand all leave it unchanged. ComplexExpand makes it worse. My current solution, which I feel is far too complicated for this simple desire, is In[183]:= x -> Sqrt[xExpr /. m_ Sqrt[n_]->m^2 n // Expand] Out[183]= x -> Sqrt[-0.233333 + 0.666667 y]