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$
    – richard
    Jun 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$ Jun 4, 2014 at 21:00
  • $\begingroup$ @MartinJohnHadley, nice, thanks. $\endgroup$
    – richard
    Jun 7, 2014 at 9:16

1 Answer 1


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 :

(* 1 + t *)

CovarianceFunction[procU, s, t]
(* 2 Min[s, t]^2 *)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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