I illustrate \eqref{eq:20151124b} in the case \( n = 5 \). The Mathematica code I use is
Clear[RandomMatrixGUE] (* This code calculates a random matrix from the GUE *) RandomMatrixGUE[NN_] := Module[{A, B, H}, A = RandomVariate[NormalDistribution[], {NN, NN}]; B = RandomVariate[NormalDistribution[], {NN, NN}]; H = 1/2 (A + Transpose[A]) + I / 2 (B - Transpose[B]); H]
(* Simulates a path of the Dyson Brownian motion in: The dimension of the matrices is size x size. T is the maximum time to simulate. NSteps is in how many steps you simulate.
out: a list of matrices X_t
*)SimulateOnePath[Size_, T_, NSteps_] :=
Module[{dt = T/NSteps , path}, path = Table[RandomMatrixGUE[Size] Sqrt[dt], {NSteps}]; path = Accumulate[path]; path = Prepend[path, ConstantArray[0, {Size, Size}]]; path]
(* plot all eigenvalues of the path X_t *) (* the code contains an ugly double loop *) PlotEigenValues[X_, dt_] :=
Module[{t = 0 , i, j, lambdapath, eig, NSteps = Length[X],
n = Length[X[[1]]]}, lambdapath = ConstantArray[{}, n]; For[i = 1, i <= NSteps, i++, eig = Eigenvalues[X[[i]]]; eig = Sort[eig]; For[ j = 1, j <= n, j++,
lambdapath[[j]] = Append[lambdapath[[j]], {t, eig[[j]]}]]; t = t + dt]; ListPlot[lambdapath, Joined -> True]]
T = 1; NSteps = 1000; X = SimulateOnePath[5, T, NSteps]; PlotEigenValues[X, T/NSteps] This produces the following graph.
![]() |
| The eigenvalues \( \lambda_1, \lambda_2, \ldots, \lambda_5 \) as function of time |
![]() |
| 5 paths of the Brownian motion |
Further reading
- A proof of \eqref{eq:20151124b} follows quite easily if one uses 1st and 2nd order perturbation formulas from quantum mechanics on the expansion \( \lambda_i ( X_t + H \sqrt{dt} ) \). Details can for example be found in this blog post by Terence Tao.
- In the next post I perform a similar simulation for the Ornstein-Uhlenbeck process \begin{equation*} dX_t = -\alpha X_t dt + H \sqrt{dt} \end{equation*} There the repulsive effect is even more striking because the process tries to move \( X_t \) back to \( 0\) if \( \alpha > 0 \) .


No comments:
Post a Comment