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 
>>

Reply via email to