I never seen this before. Solving standard Bessel ode. Why DSolve gives this warning

Warning: one or more assumptions evaluated to False

When there are no assumptions used anywhere in the call?

ClearAll[x, y]
ode = x^2*y''[x] + x*y'[x] + (x^2 - 5)*y[x] == 0
DSolve[ode, y[x], x]

Screen shot:

Mathematica graphics

I do not now have an earlier version to check if this new or been there in earlier version.

Where is this warning coming from?

V 13.01 on windows 10 [1]: https://i.stack.imgur.com/caAJi.png

  • 1
    $\begingroup$ You're right, it's weird. $\endgroup$ Jun 19, 2022 at 23:54
  • 3
    $\begingroup$ Block[{DSolveprint = Print}, DSolve[ode, y[x], x]]` shows the message arises in DSolveSpecialInhomogeneousLinearSecondOrderODE before that method of solution is rejected. It seems to be a minor coding error(?) in that they failed to check Sqrt[5] was integer before passing that as an assumption to Simplify. $\endgroup$
    – Michael E2
    Jun 20, 2022 at 1:02
  • 1
    $\begingroup$ @MichaelE2 I ran Block[{DSolveprint = Print}, DSolve[ode, y[x], x]] but received no additional information. $\endgroup$
    – bbgodfrey
    Jun 20, 2022 at 2:29
  • 1
    $\begingroup$ @bbgodfrey You have to decode my rushed comment: Block[{DSolve`print = Print}, DSolve[ode, y[x], x]] (misformatted, missing backtick) -- the rest of my comment came from rummaging around here and there. E.g. GeneralUtilities`PrintDefinitions@DSolve`DSolveSecondOrderODEDump`DSolveSpecialInhomogeneousLinearSecondOrderODE $\endgroup$
    – Michael E2
    Jun 20, 2022 at 2:31

1 Answer 1


It looks like one of the internal steps of DSolve is running

  2^(1 + 1/2 (1 - 2 Sqrt[5]) + 
    1/4 (-1 + Cos[(-1 + 2 Sqrt[5]) \[Pi]])) \[Pi]^(-1 + 
    1/4 (1 - Cos[(-1 + 2 Sqrt[5]) \[Pi]])) x^(1 + Sqrt[5]))/
  Gamma[1/2 + Sqrt[5]]), False]

which is where that warning is coming from. Unfortunately the stack trace ends there, so I can't tell where the False in the second argument is coming from.

  • $\begingroup$ So what does False as second argument of Simplify mean? $\endgroup$ Jul 12, 2022 at 7:15
  • $\begingroup$ It appears that michael-e2 was able to figure out why this assumption came out as False, check the comments above. $\endgroup$
    – Daniel
    Jul 13, 2022 at 23:57
  • $\begingroup$ No, I mean Simplify syntax. $\endgroup$ Jul 14, 2022 at 8:04
  • $\begingroup$ I'm not sure what you're asking. Simplify allows you to pass in multiple arguments, in this instance False was passed in as an argument(which Michael-e2 was able to explain how that got there), and having False as an argument makes the whole thing evaluate to False. $\endgroup$
    – Daniel
    Jul 17, 2022 at 4:07
  • $\begingroup$ "makes the whole thing evaluate to False" Nope, it gives a function. $\endgroup$ Jul 17, 2022 at 10:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.