This is the mail archive of the
gsl-discuss@sourceware.org
mailing list for the GSL project.
Re: GSL ode-initval development
- From: Brian Gough <bjg at network-theory dot co dot uk>
- To: Tuomo Keskitalo <Tuomo dot Keskitalo at iki dot fi>
- Cc: gsl-discuss at sourceware dot org
- Date: Mon, 18 Aug 2008 19:09:59 +0100
- Subject: Re: GSL ode-initval development
- References: <48A7E377.3020607@iki.fi>
At Sun, 17 Aug 2008 11:38:15 +0300,
Tuomo Keskitalo wrote:
> Implicit solvers result in a group of algebraic non-linear
> equations, for which there exists several solution strategies. The
> choice of the efficient strategy depends on the problem. For
> example, some modified Newton iteration methods are suitable for
> stiff systems, while functional iteration works for non-stiff
> systems. I would like to give the user the freedom to choose the
> non-linear eq solver separately from the stepping method. Does
> anyone see a way to do this with current framework?
If it is only a small number (and they don't need any additional
parameters) then it's simplest to use the existing framework with
explicit names for each combination, e.g. gsl_odeiv_step_foo_newt,
gsl_odeiv_step_foo_imp, etc
We mainly need additional stiff solvers, so in practical terms the
functional iteration case probably isn't needed -- the non-stiff case
should be covered adequately by the existing RK-type rules.
Of course, in terms of internal implementation it's better to have the
methods interchangeable and it is worth implementing it that way if
it's not too complicated -- but in terms of exposing them to the user
I don't think it's necessary to have all the permutations.
> I am currently considering to add a new framework part for specifying
> the non-linear equation solver. However, this would break the
> current framework. I wonder if I should write a separate
> "ode-initval2" library because of this. Any comments?
In terms of testing and being useful in existing code, it's a lot
easier to go with the current framework.
--
Brian Gough