Hi François,

Nice to hear that you are interested in contributing to ODE.jl. Any input is 
greatly appreciated! I guess you have also seen some of the open issues 
discussing the API over at ODE.jl, so if you have a github account it might be 
good to post your thoughts there as well.

Regarding the API I think we roughly came to the following consensus:
- there should be a "simple" API with solvers like you said, odeX(F, y0, tspan; 
kwargs), where odeX denotes the method (say ode45 for an explicit Runge-Kutta 
method using pair 4-5), F is the rhs of the ODE, tspan gives a integration 
interval and kwargs are  keywords like tolerances etc.
- for more sophisticated control we will have an abstract type ODEProblem from 
which more specific problems, like ExplicitODE or ImplicitODE, can be derived 
and which will allow for providing additional information like Jacobians and so 
on. The method will probably still be selected by the function name and by 
using multiple dispatch the methods can "choose" which problems they support.

I should add that most of this (maybe the second part more than the first one) 
is still under debate and we are open for any suggestions.

Best,

Alex.



> Hi,
> 
> 
> I am starting to use Julia, and I would like to learn and contribute a bit. 
> As I have some experience in numerics I am thinking of contributing to the 
> ODE package.
> 
> 
> I've read the ideas for the API, and I believe that we can still improve it. 
> Usually, for this kind of solver, we could expect something such as :
> 
> 
> ode_solve( F, y_0, t_0:t_1; stepping_method; step_choice_method )
> 
> 
> where the stepping_method could be :
> - Explicit Runge-Kutta
>   It is is that kind of method, we also need some parameters such as the 
> order of the method
> - other methods ...
> 
> 
> So how would you organise that ?My idea would be choosing SteppingMethod as 
> an abstract type, and ExplicitRungeKutta as a concrete subtype that has 
> different parameters. What do you think of that ? Is there a standard way to 
> pass options to a function ?
> 
> 
> I was thinking at looking at Gadfly to see how options are handled here. Do 
> you recommend another package worth checking ?
> 
> 
> Best regards,
> François

Reply via email to