I need to define a new process from for example Wiener process like $U(t)=f(W(t))$, (for example $f(x)=1+x^2$ ) and then calculate the average like $\langle U(t)U(s)\rangle$. Is it possible?
-
$\begingroup$ yes for example simply raising the processes to powers does not work: WienerProcess[]^2 $\endgroup$– richardJun 2, 2014 at 13:31
-
$\begingroup$ Comment not an answer, in the documentation pages for the forthcoming Wolfram Language release (and the version of M10 on Raspberry Pi) you can see there is such functionality coming - reference.wolfram.com/language/ref/TransformedProcess.html $\endgroup$– Charlie Joey HadleyJun 4, 2014 at 21:00
-
$\begingroup$ @MartinJohnHadley, nice, thanks. $\endgroup$– richardJun 7, 2014 at 9:16
1 Answer
Possibly an overkill for this case but quite general :
define a simple process which returns the variable you want
procU = ItoProcess[\[DifferentialD]x[t] == \[DifferentialD]w[t], 1 + x[t]^2,
{x, 0}, {t, 0}, w \[Distributed] WienerProcess[]] ;
now you can use it as :
Mean[procU[t]]
(* 1 + t *)
CovarianceFunction[procU, s, t]
(* 2 Min[s, t]^2 *)