I am trying to create an ItoProcess from the following system of SDEs:

$\begin{bmatrix} \mathrm d x\\\mathrm d y\end{bmatrix} = \begin{bmatrix} 0 & 1\\ 0 & \theta\end{bmatrix} \begin{bmatrix} x\\ y\end{bmatrix} + \begin{bmatrix} \mathrm 0 \\\sigma\end{bmatrix}\mathrm d W(t)$

Looking at the documentation, I do not see how I could accomplish that. Is it possible to do in Mathematica? If so, how?

  • $\begingroup$ @b.gatessucks Yes, but it seems like you can only specify drift coefficients, whereas here the drift of x depends on the value of y. Even under common specifications, the drift is always a vector, which makes me wonder if Mathematica supports my case. If it does and you can provide an example, the answer points are all yours :)) $\endgroup$
    – em70
    Commented Sep 4, 2014 at 13:24

1 Answer 1


If I understand your question :

proc = ItoProcess[
   {\[DifferentialD]x[t] == y[t] \[DifferentialD]t, 
    \[DifferentialD]y[t] == θ y[t] \[DifferentialD]t + σ \[DifferentialD]w[t]}, 
   {x[t], y[t]}, {{x, y}, {x0, y0}}, {t, 0}, w \[Distributed] WienerProcess[]];

Which you can use as :

(* {((-1 + E^(t θ)) y0 + x0 θ)/θ, E^(t θ) y0} *)

(* {((3 - 4 E^(t θ) + E^(2 t θ) + 
2 t θ) σ^2)/(2 θ^3), ((-1 + E^(2 t θ)) σ^2)/(2 θ)} *)
  • $\begingroup$ Spectacular - exactly what I was after. You're a gentleman and a scholar! :) $\endgroup$
    – em70
    Commented Sep 4, 2014 at 14:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.