MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Vector Runge-Kutta ODE solver with compilation?

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

Dear Oliver and Daniel,

Vectorizing RHS is a magic trick that did the job, thank you a lot!
Now the compiled code is short and its length does not depend on NN.
The execution time strongly decreased, as one can expect from vector
operations. I can also compile in C without problems. Strangely, the
execution time is longer in the case of compilation in C!

I hope I will be able to do vectorization for my real problem where
RHS is similar but more complicated.

Another idea is to do vectorization for NDSolve. I have always
generated equations as Lists such as Equations=Table[...] but maybe I
could completely vectorize NDSolve and achieve a great speed? I have
tried with the system of equations we are discussing

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

NN = 100;        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[0] == x0}, x, {t, 0, tMax},
MaxSteps -> 1000000]]

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

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

but this is not working. Probably Mathematica does not understand that
x[t] is a vector? How to fix the problem?

Thank you for your help,

Dmitry



  • Prev by Date: Re: Template for developing a package application in workbench
  • Next by Date: Re: Vector Runge-Kutta ODE solver with compilation?
  • Previous by thread: Re: Vector Runge-Kutta ODE solver with compilation?
  • Next by thread: Re: Vector Runge-Kutta ODE solver with compilation?