I happen to find that DSolve
can give different solutions, even a different number of solutions, for a set of differential equations just by making a change in the symbols use for function names.
Consider
1st running:
DSolve[
{f'[t]*g[t]^4/f[t]^4 == -1, g'[t]*g[t]^3/f[t]^3 == -3/2},
{f[t], g[t]}, t]
/.
{C[1] -> 1, C[2] -> tr} // FullSimplify
which gives three sets of solutions
(* {{g[t] -> Sqrt[3] Sqrt[-t + tr], f[t] -> 3^(1/3) (-t + tr)^(1/3)},
{g[t] -> (-(-3)^(1/3) (-t + tr)^(1/3))^(3/2),
f[t] -> -(-3)^(1/3) (-t + tr)^(1/3)},
{g[t] ->Sqrt[3] ((-1)^(2/3) (-t + tr)^(1/3))^(3/2),
f[t] -> (-t + tr)^(1/3) Root[-3 + #1^3 &, 3]}} *)
2nd running:
I change the function names, $f\rightarrow V, g\rightarrow H$; other things remain unchanged.
DSolve[
{V'[t]*H[t]^4/V[t]^4 == -1, H'[t]*H[t]^3/V[t]^3 == -3/2},
{V[t], H[t]}, t]
/.
{C[1] -> 1, C[2] -> tr} // FullSimplify
I get different solutions and the number of solutions is only two. Why? Which solutions I should believe?
(* {{V[t] -> (-Sqrt[-3 t + 2 tr])^(2/3), H[t] -> -Sqrt[-3 t + 2 tr]},
{V[t] -> (-3 t + 2 tr)^(1/3), H[t] -> Sqrt[-3 t + 2 tr]}} *)
Edit
The problem seems to be strictly related to the alphabetical order of the variables. That is, if the variables {f, g}
are changed to something with the same lexigraphical order, like {a, b}
or {V, W}
, then the same answer is given. If the order is reversed, like {V, H}
or {g, f}
, then the other answer is given.
f
toV
andg
toH
it gives back results that are not numerically the same $\endgroup$Root
function arises from(-1)^(2/3) 3^(1/3) // FullSimplify
, which yieldsRoot[-3 + #1^3 &, 3]
, which is correct but unexpected. $\endgroup$