Concept · 1 paper · updated 2026-11-01
Dynamic mode decomposition
Fits a low-rank linear model to snapshot data, giving spatial modes with a growth rate and frequency each, plus amplitudes that evolve in time. Variants differ in how the operator is computed and how the rank is chosen. The one card here uses a randomized SVD and an error-minimising rank search; its errors are in-sample.
reduced-order-modelingfluid-dynamics
Markdown4 min read
AI-compiled overview, updated 2026-11-01, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.
Overview
Dynamic mode decomposition (DMD) takes a sequence of snapshots of a system and fits a linear operator S that maps each snapshot to the next, in the least-squares sense 2609.17101 §3 eq. 18. Its eigen-decomposition gives spatial modes. Each mode has a Ritz value λ_j, which sets a growth rate σ_j and a frequency ω_j 2609.17101 eq. 24. The reduced model writes the snapshots as a sum of modes, where each mode's amplitude advances by a factor λ_j per time step 2609.17101 eq. 26. The rank is the number of modes kept, and that choice is the main design decision.
Variants
Full-size pseudo-inverse
The operator is computed as S = V0⁺ V1 with the Moore–Penrose pseudo-inverse of the shifted snapshot matrix V0 2609.17101 eq. 19. The paper says this is not feasible for high-dimensional data 2609.17101 §3. It is stated here for reference only; no variant in this wiki uses it.
SVD-based reduced operator
Factor V0 = UΣWᴴ and work in the rank-k subspace of U 2609.17101 eq. 20. The modes are then Φ = UX, where X is the eigenvector matrix of the reduced operator 2609.17101 alg. 1 step 4. The paper does not write the reduced operator in terms of U, Σ and W, so this route is incomplete as printed 2609.17101 alg. 1 step 3. Card: Bistrian (2026), randomized DMD digital twin.
Randomized DMD with rank search
This is the variant in the card. The SVD is replaced by a randomized SVD (k-RSVD). It draws a test matrix with r = min(N_t, 2k) columns, samples the range of V0, orthonormalises the sample and projects V0 onto it 2609.17101 alg. 2. The rank is chosen by running the procedure for every k from 2 to N_t − 1 and keeping the k with the smallest time-averaged L2 error over the snapshots 2609.17101 alg. 1 step 1, eq. 27–29. The selected N_DMD is 15 at Re = 10² and 20 at Re = 10³ and 10⁴ 2609.17101 tab. 1. Card: Bistrian (2026), randomized DMD digital twin.
When to use which
| Situation | Use | Why |
|---|---|---|
| Snapshot matrix too large for a pseudo-inverse | SVD-based reduced operator, or randomized DMD | The full-size solve is called infeasible for high-dimensional data 2609.17101 §3 |
| Number of modes not known in advance | Rank search over all k, with the error of eq. 29 | The paper picks k by minimising error 2609.17101 eq. 29. Offline time is at most about 2 s, on hardware not stated 2609.17101 §6 |
| The SVD of V0 is the cost to cut, and a rank-k approximation is acceptable | Randomized SVD | Samples r = min(N_t, 2k) columns 2609.17101 alg. 2 step 1. The paper gives no accuracy comparison with a deterministic SVD |
| A forecast of the mode amplitudes is needed, not only a reconstruction | Add a learned time-series model. The paper uses an NLARX cascade-forward network with 10 hidden units 2609.17101 §5 | Its digital twin errors are in-sample, 1.3 × 10⁻⁴ to 8.1 × 10⁻⁴ 2609.17101 tab. 2–4 |
| A speed-up over the full simulation is the goal | Do not assume one from this card | The paper reports online time of 8 to 17 s for its model and no full-order run time, on hardware not stated 2609.17101 §6, fig. 13 |
| Generalisation to new settings is needed | Test on held-out data before relying on it | All reported errors are in-sample, with no held-out time window, initial condition or Reynolds number 2609.17101 §6 |
Implementation sketch
The core shared by the variants above. Lines marked not given are gaps in the
paper and must be chosen by the implementer.
# Shifted snapshot matrices from snapshots (Nx, Nt + 1) [arxiv:2609.17101 eq. 12]
V0 = snapshots[:, :-1] # first Nt columns
V1 = snapshots[:, 1:] # last Nt columns
# Rank-k factors of V0 [arxiv:2609.17101 eq. 20, alg. 2]
U, Sigma, W = low_rank_svd(V0, k)
# Reduced operator minimising ||V1 - V0 S|| [arxiv:2609.17101 alg. 1 step 3]
S_reduced = reduced_operator(U, Sigma, W, V1) # not given
# Eigen-decomposition and dynamic modes [arxiv:2609.17101 alg. 1 step 4]
eigvals, X = eig(S_reduced)
Phi = U @ X
# Growth rate and frequency per mode [arxiv:2609.17101 eq. 24]
growth = log(abs(eigvals)) / dt
freq = angle(eigvals) / dt # phase of lambda, see notes
# Amplitudes from the first snapshot [arxiv:2609.17101 alg. 1 step 5]
amp = project(Phi, V0[:, 0]) # projection rule not given
# Rank selection: smallest mean L2 error over Nt samples [arxiv:2609.17101 eq. 27–29]Notes for implementers:
- The reduced operator (line 3) is the main gap. The card's reading is that the paper never writes S in terms of U, Σ and W.
- The printed frequency in eq. 24 takes the argument of |λ_j|, which is not a phase. The card reads the intended formula as the phase of λ_j divided by Δt.
- The randomized SVD's test-matrix distribution and seed are not stated 2609.17101 alg. 2 step 1.
- Algorithm 1 step 6 uses a Vandermonde factor up to power N − 2, but N is not defined.
Contradictions
Within the one card so far:
- Snapshot count. Section 2 gives N_t + 1 = 301 snapshots 2609.17101 §2. The Table 1 caption says 300 data snapshots were processed 2609.17101 tab. 1.
- Rank-search method. Section 6 says GA-SQP and simulated annealing took similar effort 2609.17101 §6. The conclusions say hybrid simulated annealing was used 2609.17101 §7. The method behind Table 1 is not stated.
- Correlation. The text says the method gives the best correlation coefficient 2609.17101 §6. Table 1 gives C_DMD = 1.0000 for all three cases, so the metric does not separate them 2609.17101 tab. 1.
- Error normalisation. The figure captions call the error relative 2609.17101 fig. 4–6. Equation 27 has no normalising term 2609.17101 eq. 27.
- Method name. The conclusions call the method adaptive randomized DMD 2609.17101 §7. Section 4 describes randomized DMD with a rank search only 2609.17101 §4.
Papers
- Bistrian (2026), randomized DMD digital twin: randomized SVD inside DMD, an error-minimising rank search, and an NLARX network for the mode amplitudes, tested on 1D viscous Burgers cases.
Source and license
Compiled from the papers listed on this page, all published under CC BY, CC BY-SA or CC0, with citations. See each paper's page for its authors and license.