Dynamic mode decomposition

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Physical systems, such as fluid flow or mechanical vibrations, behave in characteristic patterns, known as modes. In a recirculating flow, for example, one may think of a hierarchy of vortices, a big main vortex driving smaller secondary ones and so on. Most of the motion of such a system can be faithfully described using only a few of those patterns. The dynamic mode decomposition (DMD) provides a means of extracting these modes from numerical and experimental pairs of time-shifted snapshots. Each of the modes identified by DMD is associated with a fixed oscillation frequency and growth/decay rate, determined by DMD without requiring knowledge of the governing equations. This is to be contrasted with methods, such as the proper orthogonal decomposition, which produce a set of modes without the associated temporal information.


A time-evolving physical situation may be approximated by the action of a linear operator e^{\Delta t A} to the instantaneous state vector.

{q(t+\Delta t)}  \approx e^{\Delta t A} q(t)

The dynamic mode decomposition strives to approximate the evolution operator \tilde A := e^{\Delta t A} from a known sequence of observations, V_{0 \dots n}=\{q_0, q_1, q_2, \dots, q_n  \}. Thus, we ask the following matrix equation to hold:

V_{1 \dots n+1}=\tilde A   V_{0\dots n}

Generally, the vectors \{q_0, q_1, q_2, \dots, q_n  \}, and subsequently \tilde A, are very-high-dimensional, and so a strict eigendecomposition of \tilde A is computationally difficult. However, in DMD it is assumed that the set of \{q_0, q_1, q_2, \dots, q_n  \} does not span the entire vector space (a good assumption, especially if there is spatial structure in the signal). Thus, after a given time n, where n is much less than the dimensionality of the system, one can write q_{n+1} as a linear combination of the previous vectors, i.e., q_{n+1} = c_0q_0 + \cdots + c_nq_n =\{q_0, q_1, q_2, \dots, q_n  \}c. In matrix form, we then have:

V_{1 \dots n+1}=   V_{0\dots n} S

where S is the companion matrix

0 & 0 & \dots & 0 & c_0 \\
1 & 0 & \dots & 0 & c_1 \\
0 & 1 & \dots & 0 & c_2 \\
\vdots & \vdots & \ddots & \vdots & \vdots \\
0 & 0 & \dots & 1 & c_n

The eigenvalues of S then approximate some of the eigenvalues of \tilde A. However, since the S is small (with dimensions (n + 1) × (n + 1) as compared to \tilde A), the eigenvalues and eigenvectors of S can be computed with ease.[1]


Trailing edge of a profile[edit]

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

Roughly a third of the spectrum was highly damped (large, negative \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.

Joukowsky Karman Vortex Street EV real.pngJoukowsky Karman Vortex Street EV imag.png

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.

Joukowsky Karman Vortex Street ps EV real.png

Synthetic example of a traveling pattern[edit]

The DMD analysis assumes a pattern of the form 
q(x_1,x_2,x_3, \ldots)=e^ {c x_1 }\hat q(x_2,x_3,\ldots)
where  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 \omega t} \hat q (x,t) e^{-(y/b)^2} \Re \left\{  e^{i (k x - \omega t)}    \right\} + \text{random noise}

With the time as the preselected exponential factor.

A sample is given in the following figure with  \omega = 2\pi /0.1 ,  b=0.02 and  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.

Q periodic.pngQ periodic noise.png

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

Synth Spec.png

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  \omega_1=-0.201, \omega_{2/3}=-0.223 \pm i 62.768 respectively. The real one corresponds to the mean of the field, whereas  \omega_{2/3} corresponds to the imposed pattern with  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.

Detected Eigenmode.png

See also[edit]

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


  1. ^ Schmid, Peter J. "Dynamic mode decomposition of numerical and experimental data." Journal of Fluid Mechanics 656.1 (2010): 5–28.
  • Schmid, P. J. & Sesterhenn, J. L. 2008 Dynamic mode decomposition of numerical and experimental data. In Bull. Amer. Phys. Soc., 61st APS meeting, p. 208. San Antonio.
  • Hasselmann, K., 1988. POPs and PIPs. The reduction of complex dynamical systems using principal oscillation and interaction patterns. J. Geophys. Res., 93(D9): 10975–10988.

Dynamic Mode Decomposition of experimental data