Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.



Re: Compiling Rungekutta
Posted:
Mar 28, 2012 1:35 AM


.... I don't think it is useful to compile complex functions. Mathematica optimizes the code itself an also uses compilation automatically. In older versions (about 5.0 and earlier) it could be useful for simple code as a function that was called often. But today compiling is wasting time during development.
Kind regards
Peter
Am 23. M=E4rz 2012 07:32 schrieb Oliver Ruebenkoenig <ruebenko@wolfram.com>: > > Joao, > > it's hard to say what the issue is without seeing the code. I suspect you > get more answers if you actually post your code. Please make sure it is > complete and easy to copy and past. > > Oliver > > > > On Tue, 20 Mar 2012, Joao wrote: > >> Hi there, I've been going through this thread (Vector RungeKutta ODE solver with compilation?) and I would like to know if anyone could give me an opinion on the problem I have. >> >> Basically I am using the same rungekutta 4 taken from Jason Cantarella's page than Dmitry was, but I am using the NestList version. >> >> I really need to speed up this algorithm. When I did one of the examples you provided on this thread, the compiled version solved it at a duration of 7% of the non compiled version which was pretty cool. >> >> My problem was that when I tried to use it on the work I'm doing the compiled and non compiled versions took the same time. My guess is that the compiled version wasn't able to compute and it returned to the noncompiled version. >> >> At this moment I don't know if I'm doing something wrong or if the nature of the RHS of the functions I'm using prevents the compiled algorithm to work in a proper way. >> >> I can send the code if necessary. >> >> Nevertheless, I may advance that my RHS is a system of 6 ODE (hamiltonian), these ODE call other functions (controls). These last functions (controls) are coded in a module box. Inside that box are some implicit functions in R1 (hence a newton algorithm is called) and there is also a switch  if a given condition is above a threshold the control box assumes one form, below that threshold another form is assumed. After all these calculations inside the control box it returns simply a vector of order 3. >> >> I would appreciate any help. At the moment I do not know if this is feasible with Compile or not. Maybe I have to put all this different boxes inside a compile? >> >> Thanks in advance >> >> Joao Pereira >> >> >



