Re: Can I solve that with Runge-Kutta?

sali0090_at_tc.umn.edu
Date: 03/22/05


Date: 21 Mar 2005 22:16:37 -0800

The simplest integration method for an SDE with the form:

dXi = ai(X) dt + bi(X)*dW, i = 1... M

is the Euler-Maruyama method, which is:

Xi|t+deltat = Xi|t + ai(X|t) * deltat + sqrt(bi(X|t) * deltat) *
N(0,1), i = 1... M

where N(0,1) is a normal Gaussian distributed random number.

(Notation: X is a Mx1 vector, Xi is the ith element of that vector.
Same thing for a, b)

The easiest way to generate N(0,1) is the Box-Muller method.

The global strong error of this method is proportional to sqrt(deltat).
The strong error is the error between trajectories of the numerical and
exact solution. The global weak error is O(deltat). The weak error is
the error between the probability distributions of the numerical and
exact solution. For comparison, note that the ODE version of the Euler
method has a global error of O(deltat).

There are also the Milstein and Platen explicit methods. Also
semi-implicit, balanced implicit, and adaptive time stepping methods.

The numerical implementation of the higher order methods gets much more
complicated than their ODE cousins.

Hope that helps a bit. But, to get the full story, you should pick up
Kloeden & Platen's book (a good suggestion by an above poster!).

-Howard Salis