Mathematica Asked by InertialObserver on March 21, 2021
Define the variables
m0 = .1349766;
mp = .13957018;
mX = (2 mp + 3 m0)/2;
Now suppose we wish to solve the following equation for equation Ep
:
sols = Solve[(2 E0 Ep - 4 (E0 + Ep) mX + 4 mX^2 + m0^2)/(Sqrt[Ep^2 - mp^2] Sqrt[E0^2 - m0^2]) == 1, Ep]
Then, Mathematica returns
{{Ep -> (1.07446*10^47 + E0 (-4.59436*10^47 + 4.42011*10^47 E0) - 0.5 Sqrt[-3.79456*10^92 + E0 (2.32699*10^93 + E0 (1.73795*10^94 + E0 (-1.27726*10^95 + 1.89274*10^95 E0)))])/(3.05309*10^47 + E0 (-8.84022*10^47 + 4.84611*10^47 E0))},
{Ep -> (1.07446*10^47 + E0 (-4.59436*10^47 + 4.42011*10^47 E0) + 0.5 Sqrt[-3.79456*10^92 + E0 (2.32699*10^93 + E0 (1.73795*10^94 + E0 (-1.27726*10^95 + 1.89274*10^95 E0)))])/(3.05309*10^47 + E0 (-8.84022*10^47 + 4.84611*10^47 E0))}}
which is fine, I guess. But, as you can see, it’s introduced a bunch of factors of $10^{47}$ which cancel everywhere. This seems to me to be totally meaningless and could present a huge numerical hassle especially since none of my parameters are even remotely close to $10^{47}$.
So I guess my question is, how do I get Mathematica to stop introducing arbitrary factors of huge numbers in Solve[]
?
Perhaps this will work better?
mX = (2 mp + 3 m0)/2;
sols = Solve[(2 E0 Ep - 4 (E0 + Ep) mX + 4 mX^2 +
m0^2)/(Sqrt[Ep^2 - mp^2] Sqrt[E0^2 - m0^2]) == 1, Ep];
FullSimplify[sols]/.{m0 -> 0.1349766, mp -> 0.1397018}
Correct answer by MassDefect on March 21, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP