Brownian motion is a phenomenon discovered by the botanist Robert Brown in 1827. He observed that small pollen grains suspended in water describe very irregular movements. The motion is due to the impacts of incessantly moving molecules of water on the pollen grains. The process was explained by Einstein in 1905 as a consequence of thermal energy, then after by Langevin in 1908 through the concept of stochastic differential equation.
We begin to summarize the Langevin’s equation, which is more interesting than the Einstein’s equation from the mathematical point of view. The calculation below is taken from the book Handbook of Stochastic Methods (Gardiner, Springer, 2004). The mean kinetic energy is defined in statistical mechanics by
where is the absolute temperature, the Boltzmann’s contant, the mass of the particle and the velocity.
Besides this, there is a viscosity force where is the diameter of the particle and the viscosity. There is also a fluctuating force representing the random agitation. Then the Newton’s law implies
Such an equation is called a stochastic differential equation, that is actually a differential equation with a random term .
By multiplying the two sides by
This can be rewritten
Then by averaging and assuming we obtain
This is an ordinary differential equation with general solution
where is an arbitrary constant.
By neglecting the fast decreasing exponential we get
Thus, the mean square of displacements varies linearly with time. This fundamental property can be expressed more mathematically for a displacement during a time
A Brownian motion, also called Wiener process, is a random variable continuous over satisfying the three following conditions
- An increment for is a random variable normally distributed with zero mean and variance
- Two increments and are independent for
The second condition is well illustrated by the relation derived in the previous section.
The brownian motion can be easily discretized on computers. Let us denote by the duration and the number of iterations. Then the sampling time is given by and the discretized time by . From the definition, the discretized Brownian motion must satisfy the three conditions
- Each increment is a random variable normally distributed with zero mean and variance
- The increments are independent
These conditions are straightforward to implement in SCILAB, by using the function rand to generate normal distribution .
T = 1; N = 1000; dt = T / N; dW = sqrt(dt) * rand(N, 1, 'normal'); W = [0 ; cumsum(dW)];