Comparison Tests for ANISE
    A number of other methods for solving stochastic differential equations exist in the literature. We offer free fortran codes for some of these methods elsewhere on this site (see codes). Examples include the Euler method and the Milstein method. The highest order methods, and hence presumably the most accurate methods, are the weak methods. ANISE is a strong method which accurately reproduces individual trajectories. Weak methods seek only to reproduce the statistical properties of the trajectories and may not be accurate for individual trajectories.
    In order to convey an understanding of the comparative accuracy and efficiency of ANISE we solve two example problems with ANISE and with a variable-stepsize order 4 weak method. This weak method is one of the highest order methods available in the literature. Moreover, we have implemented this weak method with variable stepsizes in order to maximize its accuracy and efficiency. We named this subroutine weak4.f and it is available elsewhere on our site. In each example we compare the average real and imaginary parts of the numerical solutions of an oscillator problem to the exact average values. The average was computed with 1000 trajectories in each case and a requested tolerance of
1 x 10-6. We find that both methods are accurate but ANISE is far more efficient than the weak method. The fortran codes used to solve these examples are also available elsewhere on our website.
Kubo Oscillator
The first example we consider is the linear Kubo oscillator which obeys the equation
with
Zt = Xt + iYt where
. We chose
= 1 and Z0 = 1. The exact solution is then
Zt = ei(t+Wt). The log base ten errors in the real and imaginary parts of the average of Zt (averaged over one thousand trajectories) are shown in the figures.
Graph for Error in Real Part of Average
Graph for Error in Imaginary Part of Average
The weak method generally manages to achieve an accuracy of 1 x 10-5 while ANISE achieves 1 x 10-12. The ANISE calculation took 6 sec while the weak method took 5.5 min. That means ANISE ran about 55 times faster!
Non-Linear Oscillator
For the second example we chose a more difficult non-linear problem with equation
where again Zt = Xt + iYt is complex. The exact solution is
We chose an initial condition Z0 = 1 + i. The real and imaginary parts of the log base ten error in the average of Zt are shown in the figures.
Graph for Error in Real Part of Average
Graph for Error in Imaginary Part of Average
The weak method achieves an accuracy of 1 x 10-4 while ANISE achives an accuracy close to 1 x 10-8. The computation time for ANISE was about 5 sec while the weak method took 18 min. ANISE was therefore 237 times faster than the weak method.
* Innovative Stochastic Algorithms *