Home

Stochastic Differential Equation Software

Accurately integrate Itô stochastic differential equations (SDES)

\begin{eqnarray}
{\color{yellow}
dX^j_t}&{\color{yellow}=}&{\color{yellow} a^j({\bf X}_t,t) dt+\sum_{k=1}^mb^j_k({\bf X}_t,t) dW^k_t}
\nonumber
\end{eqnarray}
    where j = 1,..., n and

\begin{eqnarray}
{\color{yellow} {\bf X}_t}&{\color{yellow} =}&{\color{yellow} (X^1_t,\dots,X^n_t)}\nonumber
\end{eqnarray}

dWkt are normally distributed differentials with mean 0 and variance dt
Integrator is ANISE (Algorithm for Numerical Integration of Stochastic Equations)
ANISE is a solver for SDES with strong solutions
User must supply derivatives

\begin{eqnarray}
{\color{yellow}\frac{\partial X^j_t}{\partial W^k_t}} &{\color{...
...,t)}{\partial X_t^i}b^i_k({\bf X}_t,t)+a^j({\bf X}_t,t)}\nonumber
\end{eqnarray}

Fortran call sequence for ANISE sde integrator is

call anise( n, m, t, x, dt, dw, tol )

C/C++ call sequence for ANISE (type void) sde integrator is

anise( n, m, t, x, dt, dw, tol );

   fortranC/C++description
   integer*4 n    int   n;    number of equations (input)
   integer*4 m    int   m;    number of Wiener processes (input)
   real*8 t    double t[1];    current time (input, t + dt on return)
   real*8 x(n)    double x[n];    initial conditions (input, solutions at t + dt on return)
   real*8 dt    double dt;    desired time step (input)
   real*8 dw(m)    double dw[m];  stochastic differentials (input sampled N(0,dt))
   real*8 tol    double tol;    desired tolerance (input)

Fortran user must supply

subroutine stod( n, m, t, v, x, y)

C/C++ user must supply (type void)

stod( n, m, t, v, x, y)

    fortranC/C++description
    real*8 v(m)  double v[m];  supplied by anise
    real*8 y(m)  double y[m];  returned by stod

\begin{eqnarray}
{\color{yellow} Y(i)}&{\color{yellow} =}&{\color{yellow}\frac{\...
...um_{j=1}^m V(j) \frac{\partial X^i_t}{\partial W^j_t}} \nonumber
\end{eqnarray}


Home       Top


* Innovative Stochastic Algorithms *