Shi Jin
2004-04-13 02:36:43 UTC
Hi there,
I am a little confused about the numerical stability issue. I think there
are at least two kinds of stability, one is D-Stable(or zero stable), the
other is absolute stable(or eigenvalue stable, time stable). Let's
restrict our mind to the absolute stable definition, which means that for
the fixed time step, as time goes to infinity, the numerical solution is
always bounded.
But this definition is only designed for the model equation
du/dt=c u
where the real part of c is negative: Re(c)<0.
I guess the idea is that the stability is a property of a scheme,
independent of the actual problem. If a scheme is stable for the model
equation, it should be also stable for other equations. But is this true?
How can we justify it?
Another thing is how to choose the proper time step for a given equation
using some scheme, say Euler scheme. The stability region is dependent on
the actual equation we are solving. We could find its Jacobian and then
the eigenvalues. But what if the eigenvalues are positive? Then all these
stability theories are no longer working.
For example, let's try to solve
du/dt=u
u(0)=1
using Euler scheme: u(n+1)=u(n)+dt*u(n).
How can I know whether my numerical solution is stable or not? Since the
actual solution is unbounded, the previous definition is meaningless.
How can I choose a proper time step?
I did some quick numerical experiments,it turned out that when the time
step is small enough, the numerical solutions are very close to the actual
solution. But when it is not that small, the numerical results are very
different from the exact one. But is this due to numerical accuracy or
stability? I am really confused here.
Thank you very much.
Shi Jin
I am a little confused about the numerical stability issue. I think there
are at least two kinds of stability, one is D-Stable(or zero stable), the
other is absolute stable(or eigenvalue stable, time stable). Let's
restrict our mind to the absolute stable definition, which means that for
the fixed time step, as time goes to infinity, the numerical solution is
always bounded.
But this definition is only designed for the model equation
du/dt=c u
where the real part of c is negative: Re(c)<0.
I guess the idea is that the stability is a property of a scheme,
independent of the actual problem. If a scheme is stable for the model
equation, it should be also stable for other equations. But is this true?
How can we justify it?
Another thing is how to choose the proper time step for a given equation
using some scheme, say Euler scheme. The stability region is dependent on
the actual equation we are solving. We could find its Jacobian and then
the eigenvalues. But what if the eigenvalues are positive? Then all these
stability theories are no longer working.
For example, let's try to solve
du/dt=u
u(0)=1
using Euler scheme: u(n+1)=u(n)+dt*u(n).
How can I know whether my numerical solution is stable or not? Since the
actual solution is unbounded, the previous definition is meaningless.
How can I choose a proper time step?
I did some quick numerical experiments,it turned out that when the time
step is small enough, the numerical solutions are very close to the actual
solution. But when it is not that small, the numerical results are very
different from the exact one. But is this due to numerical accuracy or
stability? I am really confused here.
Thank you very much.
Shi Jin