Thanks very much for your reply. I had a brief try with the implicit
solvers, but didn't have a huge amount of luck. What I found was:
1. They do manage to approach closER to zero, but still do show some
unstability, albeit on a lower level
2. While the timesteps are slightly larger it seems that, in this
simple case at least, the number of samples required is around three
times as large (and fairly independent of error tolerance when the
system is close to zero).
3. The implicit methods sometimes request derivatives to be evaluated
at massively outlying points (e.g. 1e6).
(1) is an improvement, but a monotonic decrease in abs(y) would have
been nice. (2) is a big disappointment because my highest priority is
lower run-time. (3) causes quite a few problems because evaluating
such configurations accurately is difficult to impossible, and I am
wary about "lying" to the solver in my response without knowing what
knock-on effect that might have.
Does this sound like what you would expect, or am I still misusing
something?
Cheers
Jonny
On 11 Sep 2009, at 11:26, Frank Reininghaus wrote:
Hi,
2009/9/11 Jonny Taylor <[email protected]>:
the issue I am having can be seen in a simple overdamped spring
calculation (the derivatives function simply returns dydt[i] = -y
[i] * 9.0).
Such ODEs are called 'stiff equations', see
http://en.wikipedia.org/wiki/Stiff_equation
This makes me wonder
if there is something I can do, or a different stepper I can use,
that will
improve the performance. I wonder if fundamentally the problem is
that the
motion involved is exponential decay
This is indeed the case. You might want to try one of the implicit
ODE solvers.
Best regards,
Frank
_______________________________________________
Help-gsl mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-gsl