Academia · lab
The laboratory
Experiment with dynamical low-rank approximation and numerical solvers in your web browser, in real time.
The wave equation
The 2-D wave equation with reflecting walls and a little damping: ripples cross, bounce, and fade. The model is a hyperbolic equation, one of the oldest there is: d’Alembert solved the vibrating string in 1747. A click adds a Gaussian bump, which costs exactly one rank. The circular ripple that spreads from it does not: a circle is not separable, so the rank climbs as the wave travels out. Nothing here smooths the solution in space, since the damping shrinks the whole wave uniformly rather than killing its fine modes, so the rank has no reason to fall the way it does under diffusion. I was surprised how well low-rank methods handle this one, though it depends a great deal on which: the randomized methods are excellent here.
The heat equation
Heat spreading on a periodic square: hot spots blur into each other and the field becomes uniform. Fourier introduced it in Théorie analytique de la chaleur (1822), inventing Fourier series along the way. It is the model parabolic equation, and the first test any stiff solver is put to. A Gaussian spot is separable, so each one costs exactly one rank; the Laplacian's eigenvalues grow like 1/Δx², so an explicit step is capped by the grid.
The Allen–Cahn equation
A mixed state separating into two phases. Domains form, then merge, the large ones growing at the expense of the small. Allen and Cahn wrote it down in 1979 to describe how antiphase boundaries move in an alloy. It is the model reaction–diffusion equation, and the simplest one whose nonlinearity is not a transport term. Stiff and nonlinear at once, it gives the projected exponential methods the semilinear setting they were built for, while its pointwise cubic lets the interpolatory ones sample it on r rows and r columns instead of all n².
Burgers’ equation, 64 random samples
Sixty-four solutions of Burgers’ equation at once, one thin line each, differing only in their random initial condition. Each steepens into its own shock, then viscosity rounds it off. Bateman wrote it down in 1915 and Burgers made it a model of turbulence in 1948, giving it his name; it is still the standard test for a nonlinear conservation law with viscosity. This is low-rank approximation used for uncertainty quantification, where the rank measures what the samples have in common. The flux is pointwise in the samples, so the interpolatory methods form it for r samples on r grid points instead of all sixty-four on the whole line.
Two-stream instability
Two counter-streaming beams of particles, drawn in phase space with position across and velocity up. They go unstable and wind into a single vortex. The Vlasov–Poisson system, written down by Vlasov in 1938, is the standard model of a collisionless plasma, and this is its best-known instability. The full problem lives in six dimensions, three of position and three of velocity: at 128 points per dimension the state is 4·10¹² numbers, some 35 terabytes, so compression is not an optimisation but the only way through. Einkemmer and Lubich built a low-rank projector-splitting integrator for it in 2018. The instability begins ten thousand times smaller than the beams. Cut the rank too low and it is lost at every step, so nothing happens at all.
Landau damping
One beam, barely perturbed. The picture hardly moves, but the electric energy in the plot below decays on its own. Landau predicted this in 1946: a wave in a collisionless plasma dies away even though nothing in the equation dissipates energy. The rate is known exactly, linear theory putting the root of the dispersion relation at ω = 1.4156 − 0.1533i, so the energy decays exponentially with γ = 0.1533 and the dashed line is that prediction. It is the standard benchmark for a kinetic solver, one of the few problems here with a single number to hit. The decaying mode needs three ranks, a constant plus cos kx and sin kx, so a solver held at rank two cannot decay at all: its energy stays flat and oscillates at the wrong frequency.
The lab needs JavaScript to run.
Metrics and additional data
(since the last reset)- Actual memory usage–
- Dense representation cost–
- Memory savings multiplier–
- Percentage of the full field stored–
–