Hi Petr, > I would be curious to learn details of what you did. > > How did you define the reference solution? I presume it is the value of > the solution at some point in time? > Did you use extrapolation to the limit?
thanks for the interest. I just followed the established path: http://www.unige.ch/~hairer/testset/testset.html and http://www.dm.uniba.it/~testset/testsetivpsolvers/. What they did there is to compute the solution very carefully with a solver and use that as reference solution. I just use their reference solution. Of course, there is no guarantee that the reference solution is close to the true one but it is pretty likely as these tests have been used a lot. The 'threebody' example is a bit different as its reference solution is an analytic solution (and also it does not feature in the above two test sets). > How did you measure the number of significant digits? In particular, for > the fixed--step integrators one would not expect the increase in > accuracy measured in significant digits to be a nice and smooth function > of the number of steps (as a proxy for the wall-clock time). The number of significant digits is just -log10 of the relative error: -log10(norm(relerror(sol,refsol), Inf)) One thing I noted is that generally the results are much smoother than what other solvers seem to produce: http://www.dm.uniba.it/~testset/problems/hires.php#stats > I know I could probably find out all of this by rooting around in your > code, but I think it's going to be more efficient, if you have the time, to > simply ask for an explanation. No worries, you're welcome. Just ask if you got more questions. Mauro > Thanks a lot, > > Petr > > > On Friday, January 30, 2015 at 6:03:24 AM UTC-8, Mauro wrote: >> >> Hi all, >> >> those of you who solve initial value problems (IVP) of ordinary and >> algebraic differential equations (ODE/DAE) might be interested in: >> https://github.com/mauro3/IVPTestSuite.jl It provides several test cases >> for ODE and DAE solvers based on previous, well-known test sets. It can >> easily be adapted to run with your solvers. >> >> I ran the tests for the three ODE-solver packages ODE.jl, DASSL.jl and >> Sundials.jl. Results are here: >> https://github.com/mauro3/IVPTestSuite.jl/blob/master/results/results.md >> >> I found: >> - DASSL.jl seems to be as capable as the Sundials solvers if sometimes >> slower but also sometimes faster. >> - For large(-ish) systems, e.g. stemming from PDEs, DASSL.jl seems to >> be the best and fastest choice at the moment because of the patchy >> support of >> sparse Jacobians in Sundials. (please correct me if wrong). >> - ODE.ode23s does ok too but is generally a lot slower than DASSL, >> presumably because of its lower order. >> >> However, take those results with a grain of salt as I haven't spent too >> much time optimising yet. >> >> -- Mauro >>
