       Re: Vector Runge-Kutta ODE solver with compilation?

• To: mathgroup at smc.vnet.net
• Subject: [mg116844] Re: Vector Runge-Kutta ODE solver with compilation?
• From: DmitryG <einschlag at gmail.com>
• Date: Wed, 2 Mar 2011 04:34:19 -0500 (EST)
• References: <ikihnp\$7sm\$1@smc.vnet.net>

```Continuing efforts to vectorize NDSolve. Now the vectorized code

*********************************************************************
NN = 1000;  tMax = 50;
x0 = Table[RandomReal[{0, 1}], {i, 1, NN}];
Equations = x'[t] == - x[t]/(1 + 300 Total[x[t]]^2/NN^2);

Timing[Solution = NDSolve[{Equations, x == x0}, x, {t, 0, tMax},
MaxSteps -> 1000000]]

xt[t_] := x[t] /. Solution[];

Plot[{xt[t][], xt[t][], xt[t][]}, {t, 0, 50}, PlotStyle ->
{{Thick, Red}, {Thick, Green}, {Thick, Blue}}, PlotRange -> {0, 1}]

*****************************************************************************
computes something, the solution x[t] is a vector, but the resulting
plot differs from the plot generated by the non-vectorized version

******************************************************************************
NN = 1000;  tMax = 50;
x0 = Table[RandomReal[{0, 1}], {i, 1, NN}];
IniConds = Table[x[i] == x0[[i]], {i, 1, NN}];
Vars = Table[x[i], {i, 1, NN}];
Timing[Equations = Table[x[i]'[t] == -x[i][t]/(1 + 300 Sum[x[j][t],
{j, 1, NN}]^2/NN^2), {i, 1,NN}];]

Timing[Solution = NDSolve[Join[Equations, IniConds], Vars, {t, 0,
tMax}, MaxSteps -> 1000000)];

x1t[t_] := x[t] /. Solution[];
x2t[t_] := x[t] /. Solution[];
x3t[t_] := x[t] /. Solution[];
Plot[{x1t[t], x2t[t], x3t[t]}, {t, 0, tMax}, PlotStyle -> {{Thick,
Red}, {Thick, Green}, {Thick, Blue}}]

**************************************************************************

and the RK4 routine above. Although the vectorized program is much
faster, its results are wrong. Where is the error??

Best,

Dmitry

```

• Prev by Date: Re: Vector Runge-Kutta ODE solver with compilation?
• Next by Date: Re: 3D of combine plot
• Previous by thread: Re: Vector Runge-Kutta ODE solver with compilation?
• Next by thread: Re: Vector Runge-Kutta ODE solver with compilation?