
Since a long time the eigenfunctions of the free-particle Hamiltonian for a stadium-shaped domain
(Bunimovich stadium) with Dirichlet boundary conditions are used to study quantum chaos.
A lot is known for a randomly selected higher eigenfunctions, e.g. its average nodal length or its similarity
with a random analytic function.
But how much do the eigenfunctions change from psi[k] to psi[k+1]?
Here is a video showing the first 500 transitions: Bunimovich Stadium eigenfunction transitions
#Construction:
Using a fine mesh, it is possible to interpolate directly between two eigenfunctions
by plotting over the mesh vertices. This is faster than using plotting functions.
We interpolate the eigenfunctions smoothly between u[k] to u[k+1].
The delta used for the above video was 0.0001.
? = 0.001;
dr = DiscretizeRegion[StadiumShape[], MaxCellMeasure -> ?]
{vals, funs} =
NDEigensystem[{-Laplacian[?[x, y], {x, y}],
DirichletCondition[?[x, y] == 0, True]}, ?[x,
y], {x, y} ? dr, 51,
Method -> {"Eigensystem" -> {"Arnoldi", "MaxIterations" -> 1000}}];
coords = MeshCoordinates[dr];
polys = Polygon[Developer`ToPackedArray[First /@ MeshCells[dr, 2]]];
frame[k?_] :=
Module[{k, f1, f2, ?, vals, vals2},
k = Floor[k?];
f1 = funs[[k]][[0]]; f2 = funs[[k + 1]][[0]];
? = k? - k;
vals = Cos[Pi/2 ?]^2 (f1 @@@ coords) +
Sin[Pi/2 ?]^2 (f2 @@@ coords);
max = Max[Abs[vals]];
vals2 = vals/max;
Graphics[{EdgeForm[], Antialiasing -> True,
GraphicsComplex[coords, polys,
VertexColors -> (GrayLevel /@ (Abs[vals2]^0.5))],
Text[ If[Abs[k? - Round[k?]] <= 1/8,
Style[#, 18] &@ToString@Round[k?], ""], {0, -1.2}]},
PlotRange -> {{-2.1, 2.1}, {-1.3, 1.1}}]]
Here is the 50th eigenfunction:
frame[50]
For an efficient animation generation, we can further optimize and calculate (f1 @@@ coords) and
(f2 @@@ coords) only once per eigenfunction pair.



