This question is rather simple but I have some difficulties to find code. Let us suppose that I wrote a routine, in a given language, that computes the evolution of a particle doing Brownian motion in one dimension. Given all the steps, how should I write an algorithm to derive the heat kernel from them?

Some good references are fine as an answer.


You're interested in the solution $u(x,t)$ of the heat equation subject to some boundary conditions and an initial condition $u(x,0)=\delta(x-x_{0})$. You can approximate this at times $t_{1}$, $t_{2}$, $\ldots$, $t_{n}$ by simulating the diffusion of a bunch of particles from $x_{0}$ and constructing histograms of the particle distributions at times $t_{1}$, $t_{2}$, $\ldots$, $t_{n}$.

This is a very inefficient and inexact way of getting at the heat kernel. Why do you want to use this approach? What are you actually trying to do?

  • $\begingroup$ It is just for didactic reasons. Normally, one estimates the diffusion coefficient from the variance of the steps of the Brownian motion. My question is, could I write an algorithm that, starting from such steps, recovers completely the heat kernel? E.g., by doing some Montecarlo runs and plotting histograms. On the other side, this could also be not possible. As I could not find anything about I thought it would be interesting to have an answer to such a question. $\endgroup$ – Jon Mar 2 '18 at 7:08
  • $\begingroup$ Just to add to Brian's answer: obtain trajectories of your Brownian motion using, for example, the Euler-Maruyama method and then rely on the Feynman-Kac formula to get the heat kernel. $\endgroup$ – Juan M. Bello-Rivas Mar 2 '18 at 12:26
  • $\begingroup$ Brian, thanks, it worked fine. I will also check Juan's suggestion. $\endgroup$ – Jon Mar 2 '18 at 12:34

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.