Dynamic mode decomposition

Dimensionality reduction algorithm
(Learn how and when to remove this message)

Dynamic mode decomposition (DMD) is a dimensionality reduction algorithm developed by Peter J. Schmid and Joern Sesterhenn in 2008.[1][2] Given a time series of data, DMD computes a set of modes each of which is associated with a fixed oscillation frequency and decay/growth rate. For linear systems in particular, these modes and frequencies are analogous to the normal modes of the system, but more generally, they are approximations of the modes and eigenvalues of the composition operator (also called the Koopman operator). Due to the intrinsic temporal behaviors associated with each mode, DMD differs from dimensionality reduction methods such as principal component analysis, which computes orthogonal modes that lack predetermined temporal behaviors. Because its modes are not orthogonal, DMD-based representations can be less parsimonious than those generated by PCA. However, they can also be more physically meaningful because each mode is associated with a damped (or driven) sinusoidal behavior in time.

Overview

Dynamic mode decomposition was first introduced by Schmid as a numerical procedure for extracting dynamical features from flow data.[3]

The data takes the form of a snapshot sequence

V 1 N = { v 1 , v 2 , , v N } , {\displaystyle V_{1}^{N}=\{v_{1},v_{2},\dots ,v_{N}\},}

where v i R M {\displaystyle v_{i}\in \mathbb {R} ^{M}} is the i {\displaystyle i} -th snapshot of the flow field, and V 1 N R M × N {\displaystyle V_{1}^{N}\in \mathbb {R} ^{M\times N}} is a data matrix whose columns are the individual snapshots. These snapshots are assumed to be related via a linear mapping that defines a linear dynamical system

v i + 1 = A v i , {\displaystyle v_{i+1}=Av_{i},}

that remains approximately the same over the duration of the sampling period. Written in matrix form, this implies that

V 2 N = A V 1 N 1 + r e N 1 T , {\displaystyle V_{2}^{N}=AV_{1}^{N-1}+re_{N-1}^{T},}

where r {\displaystyle r} is the vector of residuals that accounts for behaviors that cannot be described completely by A {\displaystyle A} , e N 1 = { 0 , 0 , , 1 } R N 1 {\displaystyle e_{N-1}=\{0,0,\ldots ,1\}\in \mathbb {R} ^{N-1}} , V 1 N 1 = { v 1 , v 2 , , v N 1 } {\displaystyle V_{1}^{N-1}=\{v_{1},v_{2},\dots ,v_{N-1}\}} , and V 2 N = { v 2 , v 3 , , v N } {\displaystyle V_{2}^{N}=\{v_{2},v_{3},\dots ,v_{N}\}} . Regardless of the approach, the output of DMD is the eigenvalues and eigenvectors of A {\displaystyle A} , which are referred to as the DMD eigenvalues and DMD modes respectively.

Algorithm

There are two methods for obtaining these eigenvalues and modes. The first is Arnoldi-like, which is useful for theoretical analysis due to its connection with Krylov methods. The second is a singular value decomposition (SVD) based approach that is more robust to noise in the data and to numerical errors.

The Arnoldi approach

In fluids applications, the size of a snapshot, M {\displaystyle M} , is assumed to be much larger than the number of snapshots N {\displaystyle N} , so there are many equally valid choices of A {\displaystyle A} . The original DMD algorithm picks A {\displaystyle A} so that each of the snapshots in V 2 N {\displaystyle V_{2}^{N}} can be expressed as linear combinations of the snapshots in V 1 N 1 {\displaystyle V_{1}^{N-1}} . Because most of the snapshots appear in both data sets, this representation is error free for all snapshots except v N {\displaystyle v_{N}} , which is written as

v N = a 1 v 1 + a 2 v 2 + + a N 1 v N 1 + r = V 1 N 1 a + r , {\displaystyle v_{N}=a_{1}v_{1}+a_{2}v_{2}+\dots +a_{N-1}v_{N-1}+r=V_{1}^{N-1}a+r,}

where a = a 1 , a 2 , , a N 1 {\displaystyle a={a_{1},a_{2},\dots ,a_{N-1}}} is a set of coefficients DMD must identify and r {\displaystyle r} is the residual. In total,

V 2 N = A V 1 N 1 + r e N 1 T = V 1 N 1 S + r e N 1 T , {\displaystyle V_{2}^{N}=AV_{1}^{N-1}+re_{N-1}^{T}=V_{1}^{N-1}S+re_{N-1}^{T},}

where S {\displaystyle S} is the companion matrix

S = ( 0 0 0 a 1 1 0 0 a 2 0 1 0 a 3 0 0 1 a N 1 ) . {\displaystyle S={\begin{pmatrix}0&0&\dots &0&a_{1}\\1&0&\dots &0&a_{2}\\0&1&\dots &0&a_{3}\\\vdots &\vdots &\ddots &\vdots &\vdots \\0&0&\dots &1&a_{N-1}\end{pmatrix}}.}

The vector a {\displaystyle a} can be computed by solving a least squares problem, which minimizes the overall residual. In particular if we take the QR decomposition of V 1 N 1 = Q R {\displaystyle V_{1}^{N-1}=QR} , then a = R 1 Q T v N {\displaystyle a=R^{-1}Q^{T}v_{N}} .

In this form, DMD is a type of Arnoldi method, and therefore the eigenvalues of S {\displaystyle S} are approximations of the eigenvalues of A {\displaystyle A} . Furthermore, if y {\displaystyle y} is an eigenvector of S {\displaystyle S} , then V 1 N 1 y {\displaystyle V_{1}^{N-1}y} is an approximate eigenvector of A {\displaystyle A} . The reason an eigendecomposition is performed on S {\displaystyle S} rather than A {\displaystyle A} is because S {\displaystyle S} is much smaller than A {\displaystyle A} , so the computational cost of DMD is determined by the number of snapshots rather than the size of a snapshot.

The SVD-based approach

Instead of computing the companion matrix S {\displaystyle S} , the SVD-based approach yields the matrix S ~ {\displaystyle {\tilde {S}}} that is related to A {\displaystyle A} via a similarity transform. To do this, assume we have the SVD of V 1 N 1 = U Σ W T {\displaystyle V_{1}^{N-1}=U\Sigma W^{T}} . Then

V 2 N = A V 1 N 1 + r e N 1 T = A U Σ W T + r e N 1 T . {\displaystyle V_{2}^{N}=AV_{1}^{N-1}+re_{N-1}^{T}=AU\Sigma W^{T}+re_{N-1}^{T}.}

Equivalent to the assumption made by the Arnoldi-based approach, we choose A {\displaystyle A} such that the snapshots in V 2 N {\displaystyle V_{2}^{N}} can be written as the linear superposition of the columns in U {\displaystyle U} , which is equivalent to requiring that they can be written as the superposition of POD modes. With this restriction, minimizing the residual requires that it is orthogonal to the POD basis (i.e., U T r = 0 {\displaystyle U^{T}r=0} ). Then multiplying both sides of the equation above by U T {\displaystyle U^{T}} yields U T V 2 N = U T A U Σ W T {\displaystyle U^{T}V_{2}^{N}=U^{T}AU\Sigma W^{T}} , which can be manipulated to obtain

U T A U = U T V 2 N W Σ 1 S ~ . {\displaystyle U^{T}AU=U^{T}V_{2}^{N}W\Sigma ^{-1}\equiv {\tilde {S}}.}

Because A {\displaystyle A} and S ~ {\displaystyle {\tilde {S}}} are related via similarity transform, the eigenvalues of S {\displaystyle S} are the eigenvalues of A {\displaystyle A} , and if y {\displaystyle y} is an eigenvector of S ~ {\displaystyle {\tilde {S}}} , then U y {\displaystyle Uy} is an eigenvector of A {\displaystyle A} .

In summary, the SVD-based approach is as follows:

  1. Split the time series of data in V 1 N {\displaystyle V_{1}^{N}} into the two matrices V 1 N 1 {\displaystyle V_{1}^{N-1}} and V 2 N {\displaystyle V_{2}^{N}} .
  2. Compute the SVD of V 1 N 1 = U Σ W T {\displaystyle V_{1}^{N-1}=U\Sigma W^{T}} .
  3. Form the matrix S ~ = U T V 2 N W Σ 1 {\displaystyle {\tilde {S}}=U^{T}V_{2}^{N}W\Sigma ^{-1}} , and compute its eigenvalues λ i {\displaystyle \lambda _{i}} and eigenvectors y i {\displaystyle y_{i}} .
  4. The i {\displaystyle i} -th DMD eigenvalue is λ i {\displaystyle \lambda _{i}} and i {\displaystyle i} -th DMD mode is the U y i {\displaystyle Uy_{i}} .

The advantage of the SVD-based approach over the Arnoldi-like approach is that noise in the data and numerical truncation issues can be compensated for by truncating the SVD of V 1 N 1 {\displaystyle V_{1}^{N-1}} . As noted in [3] accurately computing more than the first couple modes and eigenvalues can be difficult on experimental data sets without this truncation step.

Theoretical and algorithmic advancements

Since its inception in 2010, a considerable amount of work has focused on understanding and improving DMD. One of the first analyses of DMD by Rowley et al.[4] established the connection between DMD and the Koopman operator, and helped to explain the output of DMD when applied to nonlinear systems. Since then, a number of modifications have been developed that either strengthen this connection further or enhance the robustness and applicability of the approach.

In addition to the algorithms listed here, similar application-specific techniques have been developed. For example, like DMD, Prony's method represents a signal as the superposition of damped sinusoids. In climate science, linear inverse modeling is also strongly connected with DMD.[20] For a more comprehensive list, see Tu et al.[7]

Examples

Trailing edge of a profile

Fig 1 Trailing edge Vortices (Entropy)

The wake of an obstacle in the flow may develop a Kármán vortex street. The Fig.1 shows the shedding of a vortex behind the trailing edge of a profile. The DMD-analysis was applied to 90 sequential Entropy fields (animated gif (1.9MB)) and yield an approximated eigenvalue-spectrum as depicted below. The analysis was applied to the numerical results, without referring to the governing equations. The profile is seen in white. The white arcs are the processor boundaries since the computation was performed on a parallel computer using different computational blocks.

Fig.2 DMD-spectrum
Fig.2 DMD-spectrum

Roughly a third of the spectrum was highly damped (large, negative λ r {\displaystyle \lambda _{r}} ) and is not shown. The dominant shedding mode is shown in the following pictures. The image to the left is the real part, the image to the right, the imaginary part of the eigenvector.

Again, the entropy-eigenvector is shown in this picture. The acoustic contents of the same mode is seen in the bottom half of the next plot. The top half corresponds to the entropy mode as above.

Synthetic example of a traveling pattern

The DMD analysis assumes a pattern of the form q ( x 1 , x 2 , x 3 , ) = e c x 1 q ^ ( x 2 , x 3 , ) {\displaystyle q(x_{1},x_{2},x_{3},\ldots )=e^{cx_{1}}{\hat {q}}(x_{2},x_{3},\ldots )} where x 1 {\displaystyle x_{1}} is any of the independent variables of the problem, but has to be selected in advance. Take for example the pattern

q ( x , y , t ) = e i ω t q ^ ( x , t ) e ( y / b ) 2 { e i ( k x ω t ) } + random noise {\displaystyle q(x,y,t)=e^{-i\omega t}{\hat {q}}(x,t)e^{-(y/b)^{2}}\Re \left\{e^{i(kx-\omega t)}\right\}+{\text{random noise}}}

With the time as the preselected exponential factor.

A sample is given in the following figure with ω = 2 π / 0.1 {\displaystyle \omega =2\pi /0.1} , b = 0.02 {\displaystyle b=0.02} and k = 2 π / b {\displaystyle k=2\pi /b} . The left picture shows the pattern without, the right with noise added. The amplitude of the random noise is the same as that of the pattern.

A DMD analysis is performed with 21 synthetically generated fields using a time interval Δ t = 1 / 90  s {\displaystyle \Delta t=1/90{\text{ s}}} , limiting the analysis to f = 45  Hz {\displaystyle f=45{\text{ Hz}}} .

The spectrum is symmetric and shows three almost undamped modes (small negative real part), whereas the other modes are heavily damped. Their numerical values are ω 1 = 0.201 , ω 2 / 3 = 0.223 ± i 62.768 {\displaystyle \omega _{1}=-0.201,\omega _{2/3}=-0.223\pm i62.768} respectively. The real one corresponds to the mean of the field, whereas ω 2 / 3 {\displaystyle \omega _{2/3}} corresponds to the imposed pattern with f = 10  Hz {\displaystyle f=10{\text{ Hz}}} . Yielding a relative error of −1/1000. Increasing the noise to 10 times the signal value yields about the same error. The real and imaginary part of one of the latter two eigenmodes is depicted in the following figure.

See also

Several other decompositions of experimental data exist. If the governing equations are available, an eigenvalue decomposition might be feasible.

References

  1. ^ Schmid, Peter J; Sesterhenn, Joern (28 July 2008). "Dynamic mode decomposition of numerical and experimental data". Bulletin of the American Physical Society, Sixty-First Annual Meeting of the APS Division of Fluid Dynamics. 53 (15). Retrieved 1 August 2023.
  2. ^ Schmid, Peter J (10 August 2010). "Journal of Fluid Mechanics Article contents Abstract References Dynamic mode decomposition of numerical and experimental data". Journal of Fluid Dynamics. 656: 5–28. doi:10.1017/S0022112010001217. S2CID 11334986. Retrieved 1 August 2023.
  3. ^ a b P.J. Schmid. "Dynamic mode decomposition of numerical and experimental data." Journal of Fluid Mechanics 656.1 (2010): 5–28.
  4. ^ C.W. Rowley, I Mezic, S. Bagheri, P. Schlatter, and D.S. Henningson, "Spectral analysis of nonlinear flows." Journal of Fluid Mechanics 641 (2009): 85-113
  5. ^ K.K. Chen, J.H. Tu, and C.W. Rowley, "Variants of dynamic mode decomposition: boundary condition, Koopman, and Fourier analyses." Journal of Nonlinear Science 22 (2012): 887-915.
  6. ^ A. Wynn, D. S. Pearson, B. Ganapathisubramani and P. J. Goulart, "Optimal mode decomposition for unsteady flows." Journal of Fluid Mechanics 733 (2013): 473-503
  7. ^ a b Tu, Rowley, Luchtenburg, Brunton, and Kutz (December 2014). "On Dynamic Mode Decomposition: Theory and Applications". American Institute of Mathematical Sciences. 1 (2): 391–421. arXiv:1312.0041. doi:10.3934/jcd.2014.1.391. S2CID 46419148.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  8. ^ M.R. Jovanovic, P.J. Schmid, and J.W. Nichols, "Sparsity-promoting dynamic mode decomposition." Physics of Fluids 26 (2014)
  9. ^ J.N. Kutz, X. Fu, and S.L. Brunton, "Multi-resolution dynamic mode decomposition." arXiv preprint arXiv:1506.00564 (2015).
  10. ^ M.O. Williams, I.G. Kevrekidis, C.W. Rowley, "A Data–Driven Approximation of the Koopman Operator: Extending Dynamic Mode Decomposition." Journal of Nonlinear Science 25 (2015): 1307-1346.
  11. ^ Li, Qianxiao; Dietrich, Felix; Bollt, Erik M.; Kevrekidis, Ioannis G (2018). "Extended dynamic mode decomposition with dictionary learning: A data-driven adaptive spectral decomposition of the Koopman operator". Chaos: An Interdisciplinary Journal of Nonlinear Science. 27 (10): 103111. arXiv:1707.00225. doi:10.1063/1.4993854. PMID 29092410. S2CID 41957686.
  12. ^ Gulina, Marvyn; Mauroy, Alexandre (2021). "Two methods to approximate the Koopman operator with a reservoir computer". Chaos: An Interdisciplinary Journal of Nonlinear Science. 31 (2): 023116. arXiv:2008.10263. Bibcode:2021Chaos..31b3116G. doi:10.1063/5.0026380. PMID 33653036. S2CID 221266743.
  13. ^ Colbrook, Matthew J.; Townsend, Alex (2023-07-27). "Rigorous data‐driven computation of spectral properties of Koopman operators for dynamical systems". Communications on Pure and Applied Mathematics. 77: 221–283. arXiv:2111.14889. doi:10.1002/cpa.22125. ISSN 0010-3640.
  14. ^ Colbrook, Matthew J.; Ayton, Lorna J.; Szőke, Máté (2023-01-17). "Residual dynamic mode decomposition: robust and verified Koopmanism". Journal of Fluid Mechanics. 955: A21. arXiv:2205.09779. doi:10.1017/jfm.2022.1052. ISSN 0022-1120.
  15. ^ Baddoo, Peter J.; Herrmann, Benjamin; McKeon, Beverley J.; Nathan Kutz, J.; Brunton, Steven L. (2023-03-01). "Physics-informed dynamic mode decomposition". Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences. 479 (2271). doi:10.1098/rspa.2022.0576. ISSN 1364-5021.
  16. ^ Colbrook, Matthew J. (2023-06-30). "The mpEDMD Algorithm for Data-Driven Computations of Measure-Preserving Dynamical Systems". SIAM Journal on Numerical Analysis. 61 (3): 1585–1608. arXiv:2209.02244. doi:10.1137/22M1521407. ISSN 0036-1429.
  17. ^ J.L. Proctor, S.L. Brunton, and J.N. Kutz, "Dynamic mode decomposition with control." arXiv preprint arXiv:1409.6358 (2014).
  18. ^ M.S. Hemati, C.W. Rowley, E.A. Deem, and L.N. Cattafesta, "De-Biasing the Dynamic Mode Decomposition for Applied Koopman Spectral Analysis of Noisy Datasets." arXiv preprint arXiv:1502.03854 (2015).
  19. ^ Taylor-King, Jake P.; Riseth, Asbjørn N.; Macnair, Will; Claassen, Manfred (2020-01-10). "Dynamic distribution decomposition for single-cell snapshot time series identifies subpopulations and trajectories during iPSC reprogramming". PLOS Computational Biology. 16 (1): e1007491. Bibcode:2020PLSCB..16E7491T. doi:10.1371/journal.pcbi.1007491. ISSN 1553-7358. PMC 6953770. PMID 31923173.
  20. ^ Penland, Magorian, Cecile, Theresa (1993). "Prediction of Niño 3 Sea Surface Temperatures Using Linear Inverse Modeling". J. Climate. 6 (6): 1067. Bibcode:1993JCli....6.1067P. doi:10.1175/1520-0442(1993)006<1067:PONSST>2.0.CO;2.{{cite journal}}: CS1 maint: multiple names: authors list (link)