I encounter a rather strange problem in Mathematica when trying to solve the following system of linear differential equations:
M:={{0,1,0},{0,-1,1},{2,0,-4}}
ODESys := X'[t] == M.X[t]
InCond := X[0] == {5,0,5/2}
DSolve[{ODESys, InCond}, X[t], {t, 0, 1000}]
Despite the fact that the system should have an existing and unique solution (the eigenvalues of M are all nondegenerate and the eigenvectors are linearly independent), the ouput from the above code is empty, giving the warning
DSolve::bvnul: "For some branches of the general solution, the given boundary conditions lead to an empty solution".
However, there should not exist different branches. Also when using NDSolve instead of DSolve, the code works like a charm. Any ideas why the above code does not work for DSolve will be highly appreciated.
X
:X[t_] = {x[t], y[t], z[t]}
. $\endgroup$ – Mark McClure Aug 11 '14 at 12:09NDSolve
works whileDSolve
does not. I don't think I'd call it a bug, though. $\endgroup$ – Mark McClure Aug 11 '14 at 12:30