Re: Matrix differential equation
- To: mathgroup at smc.vnet.net
- Subject: [mg50857] Re: Matrix differential equation
- From: p-valko at tamu.edu (Peter Valko)
- Date: Fri, 24 Sep 2004 04:41:31 -0400 (EDT)
- References: <ciua6v$90v$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
I tried to reproduce the error message, but surprisingly, there was no
error and the sample problem worked.
The result is an
InterpolatingFunction[{{0., 10.}}, <>]
and I can calculate it at time zero or at time = 1.
For instance
matrixExpA[1]
gives
{{166.52, -16.4872, 0.}, {-16.4872, 1.64872, 0.}, {0., 0., 1.64872}}
Therefore, I have to conclude, that you do not input exactly what you
wish to input, or that something is not Cleared before you use it.
I would suggest to print out
k
A
K
KT
before using the command
> matrixExpA =
> X /. First[
> NDSolve[X'[t] == 0.5*IdentityMatrix[3] +(X[t]) + K.X[t] + X[t].KT &&
> X[0] == IdentityMatrix[3], X, {t, 0, 10}]]
to make sure that they really have the value I think they have.
Regards
Peter
"Marco Malvaldi" <M.Malvaldi at chem.rug.nl> wrote in message news:<ciua6v$90v$1 at smc.vnet.net>...
> It is possible to numerically solve a general matrix differential equation
> with Mathematica? From the example in Mathematica 5 tutorial, I found that
> this problem can be solved:
>
> k = 10
> A = -{{1, 2, 3}, {4, 5 , 6}, {7, 8 , 9}};
> K = -{{0, k, 0}, {0, 0 , 0}, {0, 0 , 0}};
> X0 = {{1, 0, 0}, {0, 1 , 0}, {0, 0 , 1}};
> KT = Transpose[K]
>
> matrixExpA =
> X /. First[
> NDSolve[X'[t] == 0.5*IdentityMatrix[3] .(X[t]) + K.X[t] + X[t].KT &&
> X[0] == IdentityMatrix[3], X, {t, 0, 10}]]
>
> Anyway, when I try to submit this problem:
>
> matrixExpA =
> X /. First[
> NDSolve[X'[t] == 0.5*IdentityMatrix[3] +(X[t]) + K.X[t] + X[t].KT &&
> X[0] == IdentityMatrix[3], X, {t, 0, 10}]]
>
> the answer is:
>
> NDSolve::ndfdmc: Computed derivatives do not have dimensionality consistent
> with the initial conditions.
>
> even if what I'm doing is to sum a 3x3 matrix to a system of 3X3 matrix.
>
> Regards
> Marco Malvaldi