The problem is that you are probably asking for the plain real solution, while Mathematica assumes that your parameters are complex and you ask for all complex solutions. This topic is an endless source of confusion. You can use ToRadicals
and then pick manually the solution that looks real when the variables are in your expected range:
Solve[(2 Sqrt[2] V (m \[Epsilon]f)^(3/2))/(3 \[Pi]^2 \[HBar]^3) ==
Ntot, \[Epsilon]f] // ToRadicals
You can ask Solve
to give the real solution, but it will be expressed as a Root
object, which is appreciated only by Mathematica fans:
Solve[(2 Sqrt[2] V (m \[Epsilon]f)^(3/2))/(3 \[Pi]^2 \[HBar]^3) ==
Ntot, \[Epsilon]f, Reals]
Sadly, ToRadicals
applied to the Root
object gives an answer that is probably wrong for your needs:
Solve[(2 Sqrt[2] V (m \[Epsilon]f)^(3/2))/(3 \[Pi]^2 \[HBar]^3) ==
Ntot, \[Epsilon]f, Reals] // ToRadicals
Same for Reduce
:
Reduce[(2 Sqrt[2] V (m \[Epsilon]f)^(3/2))/(3 Pi^2 \[HBar]^3) ==
Ntot && \[HBar] > 0 && V > 0 && m > 0 &&
Ntot > 0, \[Epsilon]f, Reals]
% // ToRadicals