BHGMC

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.

Continuous form (partial differential equation)
{ttu(t)=c2Δu(t)γtu(t),in (0,1)2, t>0,nu(t)=0,on (0,1)2, t>0.\left\{\begin{array}{ll} \partial_{tt} u(t) = c^2\Delta u(t) - \gamma\,\partial_t u(t), & \quad \text{in } (0,1)^2,\ t > 0, \\ \partial_n u(t) = 0, & \quad \text{on } \partial(0,1)^2,\ t > 0. \end{array}\right.
Discretized form (matrix differential equation)
{U˙(t)=P(t),t>0,P˙(t)=c2(D2U(t)+U(t)D2)γP(t),t>0,U(t),P(t)Rn×n.\left\{\begin{array}{ll} \dot U(t) = P(t), & \quad t > 0, \\ \dot P(t) = c^2\big(D_2 U(t) + U(t) D_2^{\top}\big) - \gamma P(t), & \quad t > 0, \\ U(t),\,P(t) \in \mathbb{R}^{n\times n}. & \quad \end{array}\right.
grid
steps per frame

The lab needs JavaScript to run.

rank time speed /framesolve ms/stepdraw ms/frame

Metrics and additional data

(since the last reset)
memory
  • Actual memory usage
  • Dense representation cost
  • Memory savings multiplier
  • Percentage of the full field stored
rank over time
singular values
Work per step
evaluations of F orthogonalisations (QR) truncations (SVD) matrix products
right-hand side tall QR small SVD products sketch Krylov selection rest total

cost over time
plot

References

On the problem
On the solver