as from Title, I'm wondering why Mathematica does not automatically give a single, simple solution for the problem

Reduce[Sin[x] == 0, x]

for which I obtain the following result:

Element[C[1], Integers] && (x == 2*Pi*C[1] || x == Pi + 2*Pi*C[1])

The answer is obviously correct, but it's equivalent to

Element[C[1], Integers] && x == Pi*C[1]

Why doesn't Mathematica give this answer, and how can I possibly "simplify" the previous answer to this one?

In this case, the combined solution is immediately obvious; it becomes less obvious, though, when more parameters are introduced, like in the case of

Reduce[Sin[(Sqrt[2] L Sqrt[m] Sqrt[ℰ])/ℏ] == 0 && L > 0 && m > 0 && ℏ > 0, ℰ]

which comes as a condition from the solution of the Schrödinger equation for a particle in a box, and which should solve to a much more elegant

Element[C[1], Integers] && C[1] >= 1 && ℰ == (Pi^2*ℏ^2*C[1]^2)/(2*L^2*m)

rather than the somehow ugly combination given by the Reduce function.

Funny enough: Wolfram Alpha DOES give the simpler solution!

  • $\begingroup$ This is indeed a good question! (+1) $\endgroup$ – Henrik Schumacher Jan 7 at 11:20
  • $\begingroup$ As silly as it seems...have you tried adding a //FullySimplify ? That generally seems to solve discrepancy issues like this i’ve seen in the past....not sure it will here though $\endgroup$ – morbo Jan 7 at 11:52
  • $\begingroup$ Unfortunatelly, FullSimplify doesn't work in this case. Moreover, in case of the more complicated equation presented in my description (the Energy Eigenvalue for the particle in a box) using FullSimplify would change the expression back to an implicit form for E, rather than an explicit, by cancelling out the denominator. $\endgroup$ – Luca Ferroglio Jan 7 at 12:15
  • 8
    $\begingroup$ As to "Why?", the general approach to solving for roots of a periodic function is to solve for all roots in one period and add multiples of the period. Why doesn't it check whether the fundamental roots are equally spaced? Not sure, but it's convenient to be able to get the fundamental roots by setting C[1] -> 0. $\endgroup$ – Michael E2 Jan 7 at 13:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.