From: Michael Schmidt on
Hi you all,

yesterday, I played a little bit more with NDSolve to find the problem.
Here is another simpler example which shows what can go wrong. Can you
please check whether you get the same results, as for me this looks like
a bug in NDSolve?

sol1 and sol2 just work as they should do. Thus, there is no problem, if
you only have matrices or scalars.

sol1 = NDSolve[{x'[t] == -x[t], y'[t] == -y[t], x[1] == 0.1,
y[1] == 0.1}, {x, y}, {t, 1, 10}]
sol2 = NDSolve[{x'[t] == -x[t], y'[t] == -y[t],
x[1] == 0.1 IdentityMatrix[2], y[1] == 0.1 IdentityMatrix[2]}, {x,
y}, {t, 1, 10}]

However, as soon as you mix scalars and matrices, the matrix should not
start with "y", "Y" or even "somelongfunnymodulename`Private`Y" :

sol3 = NDSolve[{y'[t] == -y[t], x'[t] == -x[t], y[1] == 0.1 ,
x[1] == 0.1 IdentityMatrix[2]}, {y, x}, {t, 1, 10}]
sol4 = NDSolve[{x'[t] == -x[t], y'[t] == -y[t], x[1] == 0.1,
y[1] == 0.1 IdentityMatrix[2]}, {x, y}, {t, 1, 10}]

sol3 just works fine. However, sol4 results in

NDSolve::nlnum: "The function value
{-0.099924,{{-0.099924,0.},{0.,-0.099924}}} is not a list of numbers
with dimensions {5} at {t,x[t],y[t]} =
{1.00076,0.099924,{{0.099924,0.},{0.,0.099924}}}."

Best regards,

Michael