When solving transcendental equations, Solve frequently warns us that inverse functions are being used so that some solutions may not be found.

We also see that Reduce might provide a more complete solution and, indeed, simply changing Solve to Reduce provides a complete, quantified result.

Somtimes, however, this same message is produced by DSolve.

My guess is that DSolve calls Solve which in turn generates the message. Is it possible, though, to access Reduce through DSolve? For this particular equation, it would be easy enough to separate variables, Integrate and then apply Reduce. I'm wondering about a more general solution, though.



Trace[]withTraceInternal->Trueyou could also see that that call toSolve[]came in turn fromSystem`Private`OldSolve[4 Log[u[t]] + u[t]^2/2 == t + C[1], {u[t]}, {}, InverseFunctions -> Automatic, MakeRules -> False, Method -> 3, Mode -> Generic, Sort -> True, VerifySolutions -> Automatic, WorkingPrecision -> \[Infinity]]– Dr. belisarius Sep 17 '12 at 05:05Tracewould have been a far simpler way to extract the calls toSolve. (My excuse is that I originally had extra code in there, comparing the output of Solve and Reduce). – Simon Woods Sep 17 '12 at 18:17