What causes Brownian movement?

What causes Brownian movement?

Brownian motion is the random motion of a particle as a result of collisions with surrounding gaseous molecules. Diffusiophoresis is the movement of a group of particles induced by a concentration gradient. This movement always flows from areas of high concentration to areas of low concentration.

Physics Nobel Prize Winner MIT Prof Frank Wilczek on String Theory, Gravitation, Newton & Big Bang

Now, let look at a Stochastic Process Project.

Let’s try and generate multiple trajectories of Brownian motion using computer code.

Let ! = {!!;% ≥ 0} be a standard Brownian motion, * = {*!;% ≥ 0} is the  solution to the following SDE: 

+,*! = -(/ − *!),% + 3,!! 

*= 4 

where -, /, 3, 4are constants. 

(1) Generate multiple trajectories of X. 

(2) Explore the effects of different parameters on the trajectories. 

(3) Calculate 6(*#) and 7(*#). 

Calculate 6(*#) and 7(*#). 

III) Let ! = {!!;% ≥ 0} and 8 = {8!;% ≥ 0} be two standard Brownian motion,  * = (*!, 9!) the solution to the following SDE: 

,*! = -(/ − *!),% + 3,!! 

,9! = ;(*! − 9!),% + <3#,!! + 3<$,8! 

*= 4, 9= = 

where -, /, 3, ;, 3<#, 3<$, 4, =are constants. 

(1) Generate multiple trajectories of (*, 9). 

(2) Explore the effects of different parameters on the trajectories. (3) Calculate 6(9#) and 7(9#).

1. Firstly, we plotted different Brownian motions by generating normal random variables at each time step. To be more specific, the overall time length I simulated was T = 1000 with step length h = 0.1. (The step length set to be h = 0.1 in all the following simulations). At each time step, a normal random variable with a zero mean and a variance of h was added to value of the Brownian motion of the last step, 30 different trials with different random seeds were simulated.

2. Firstly, we can calculate the analytical solution of the SDE 

dXt = (v  Xt)dt + dBt, X0 = x0 (1) 

using Itˆo formula 

d(e↵tXt) = Xt↵e↵tdt + e↵tdXt 

= Xt↵e↵tdt + e↵t((v  Xt)dt + dBt) = ↵ve↵tdt + e↵tdBt  which indicates 

e↵tXt = x0

Z t 


Z t 


= x0 + v(e↵t  1) + 

Z t



and thus 

Xt = e↵tx0 + v(1  e↵t) + 

Z t

e(st)dBs (4) 

The expression 4 is the analytical solution of the problem 1. 

Moreover, a common numerical scheme to solve a general SDE 

dXt = b(Xt)dt + (Xt)dBt, X0 = x0 (5) 

is the Euler-Maruyama scheme, which is given by 

Xn+1 = Xn + b(Xn)h + (Xn)Bn (6) 

where Xn represents the numerical solution at the n-th time step, h is the step length of time, and the normal random variable Bn ⇠ N (0, h) stands for the increment of Bt at that time step. Besides, X0 = x0 is set to be the initial condition. The SDE 1 in this problem then can be solved using the Euler-Maruyama scheme 6 

Xn+1 = Xn + (v  Xn)h + Bn (7) 

I firstly implemented the method for 7 with parameters = 0.01, v = 0= 1, x0 = 0 using three different random seeds. The total time of simulation was T = 1000, and the step length, again, was set to be h = 0.1.

Then, I tried to find out the impact of different parameters on the path of SDE 1. To begin with, I changed the parameter v while fixing others to see what happened. The other parameters were fixed as = 0.01= 1, x0 = 0, and the system with v = 100, 50, 0, 50, 100 were tested respectively.

It can be easily told from the data that the solutions will finally fall into a neighbor of v, and oscillate around the value of v. This is actually what we are expecting, since the drifting term in 1 has a stable fixed point at X = v

After that, I simulated the system with different alpha, while maintaining the other parameters unchanged v = 0= 1, x0 = 100.

Obviously, as increases, the solution converges to the value v = 0 become faster, and vice versa. In a extreme case where = 0, the solution will no longer run towards v = 0, but oscillates around the initial value instead. Again, this is not surprising since in the drifting term in 1, the parameter controls the speed of the decay. 

Finally, the impact of on the solutions was tested. Same as before, the other parameters were fixed as = 0.01, v = 0, x0 = 100, and was varied in different simulations. Since controls the diffusion term, the more strongly the solution would oscillate, just as the numerical results turned out.

From the analytical solution 4, we can calculate the expectation of Xt EXt = x0e↵t + v(1  e↵t) (8) 

and the variance of Xt DXt = D( 2 Z t e(st)dBs) = E(( Z t

e(st)dBs)2) = E( 

Z t



2(1  e2↵t

As for t = 1 in this problem, we simply have 

EX1 = x0e+ v(1  e) (10) 



2(1  e2) (11) 

Having calculated the analytical results of EX1 and DX1, I then implemented Monte Carlo method to verify these results. There were altogether four parameters in this problem, namely ↵, v,  and x0. Firstly, I testified the results of EX1. In the experiments, I fixed three of the parameters and changed the rest one. For each set of parameters, I simulated the system in 1 for 1000 times using different random seeds, and approximated EX1 with the mean of 1000 trials. From the result in 10, we could tell that EX1 was a linear function of both v and x0, a exponential function of , and it is not a function of . All parameters were tested in turn, and we could tell the results of the numerical experiments fit analytical results quite well. 

Moreover, the results of DX1 in 11 can be verified through the same way.

Firstly, the numerical experiments do not fit the analytical results quite well when chang ing . This may because when is large, the variance of X1 is really small, and it is hard for the noisy sampled data to reach such a low level of fluctuation. 

3. The set of SDEs 

dXt = (v  Xt)dt + dBt 

dSt = (Xt  St)dt + ˆ1dBt + ˆ2dWt 

X0 = x0, S0 = s0 

can be numerically simulated using the scheme Xn+1 = Xn + (v  Xn)h + Bn 


Sn+1 = Sn + (Xn  Sn)h + ˆ1Bn + ˆ2Wn (13) 

I firstly generated several paths of Xt and St with parameters = 0.01, v = 0, ✓ =  = ˆ1 = ˆ2 = 1, and x0 = s0 = 0.

Same as before, I changed one of the parameters while fixed the others to find out the impact of this parameter on the solutions of SDEs 12. It should be noticed that the first equation in 12 is exactly the equation in 1. Therefore, the relations between the paths of Xt and the parameters ↵, v,  are already known from the experiments before, and there is no need to do it again here. 

The parameter is quite interesting, however, so I simulated 12 for several times with different value of . The relation between the paths of Xt, St and was not obvious. By plotting the paths of Xt  St, however, we could have an intuition of how impacted the system.

Obviously, as increases, the value of Xt and St will become more close to each other. As for ˆ1 and ˆ2, they only affect the paths of St, but do not have an impact on Xt.  

Of course, the greater ˆ1 or ˆ2 is, the stronger the paths oscillate. Generally speaking, the parameters ↵, v,  determine the paths of Xt directly, ˆ1 and ˆ2 affect the paths of St directly, and as a result, has an impact on the difference between Xt and St. As a result, ↵, v,  and affect St indirectly. 

Thus, I considered the expectation value ES1. Obviously, ˆ1 and ˆ2 do not have an impact on ES1, so the only parameter may directly relevant to ES1 is . Still, I ran 1000 trials for each set of parameters and take the average to approximate the expectation value.

Since controls the closeness of Xt and St, but there is no positive or negative bias of Xt  St, it is not surprising that ES1 is not related to . In fact, the expectation of St should be the same as that of Xt, i.e. ESt = EXt. EX1 already calculated in 10, so the value of the black dashed line. Furthermore, and is exactly the value calculated by 10. 

In conclusion, as for the variance DS1, all the three parameters ✓, ˆ1, ˆ2 may directly affect it. Since it was not easy to solve the SDEs 12 analytically, I just implemented Monte Carlo sampling and tried to find out the relations between DS1 and the parameters, without analytical results as references. The relation between DS1 and as it turns out, as increases, DS1 also increases. 

Lastly, also, the variance DS1 increases as ˆ1 and ˆ2 increase. Lastly, lastly, this is of course how it works since ˆ1 and ˆ2 controls the level of the white noise. 

Back To News

What causes Brownian movement? Written by Yihan Liu