# why DSolve gives "Warning: one or more assumptions evaluated to False." when I am not using any assumptions in the call?

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: 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 : https://i.stack.imgur.com/caAJi.png

• You're right, it's weird. Jun 19, 2022 at 23:54
• 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 was integer before passing that as an assumption to Simplify. Jun 20, 2022 at 1:02
• @MichaelE2 I ran Block[{DSolveprint = Print}, DSolve[ode, y[x], x]] but received no additional information. Jun 20, 2022 at 2:29
• @bbgodfrey You have to decode my rushed comment: Block[{DSolveprint = Print}, DSolve[ode, y[x], x]] (misformatted, missing backtick) -- the rest of my comment came from rummaging around here and there. E.g. GeneralUtilitiesPrintDefinitions@DSolveDSolveSecondOrderODEDumpDSolveSpecialInhomogeneousLinearSecondOrderODE Jun 20, 2022 at 2:31

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

Simplify[-((
2^(1 + 1/2 (1 - 2 Sqrt) +
1/4 (-1 + Cos[(-1 + 2 Sqrt) \[Pi]])) \[Pi]^(-1 +
1/4 (1 - Cos[(-1 + 2 Sqrt) \[Pi]])) x^(1 + Sqrt))/
Gamma[1/2 + Sqrt]), 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.

• So what does False as second argument of Simplify mean? Jul 12, 2022 at 7:15
• It appears that michael-e2 was able to figure out why this assumption came out as False, check the comments above. Jul 13, 2022 at 23:57
• No, I mean Simplify syntax. Jul 14, 2022 at 8:04
• 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. Jul 17, 2022 at 4:07
• "makes the whole thing evaluate to False" Nope, it gives a function. Jul 17, 2022 at 10:44