In this study, dynamic mode decomposition (DMD) is used as an alternative dimensionality reduction method to extract spatio-temporal coherent structures from an ensemble of PIV data. Following Kutz et al. (
2016), we start with a discrete-time dynamical system that is locally linear:
$$\begin{aligned} {\textbf{x}}_{k+1}={\textbf{A}} {\textbf{x}}_{k}, \end{aligned}$$
(5)
where
\({\textbf{x}}\) is an
N-dimensional state vector defined for up to
\(M-1\) observations at instances
k for
\(k=1,2,\dots ,M-1\), and
\({\textbf{A}}\) is the linear operator that maps
\({\textbf{x}}_k\) onto the next time-step
\({\textbf{x}}_{k+1}\). The matrix
\({\textbf{A}}\) controls the temporal evolution of the data; its eigenvectors represent coherent structures that evolve in time according to a frequency and a growth/decay rate given by its eigenvalues. The objective of DMD is to optimally calculate the eigendecomposition of
\({\textbf{A}}\). To this end, the problem is constructed as follows. The ensemble of
\({\textbf{x}}_{k+1}\) and
\({\textbf{x}}_{k}\) vectors can be represented as two
\(N \times (M-1)\) data matrices
\({\textbf{X}}^{\prime }\) and
\({\textbf{X}}\) respectively, where
\({\textbf{X}}^{\prime }\) and
\({\textbf{X}}\) are simply composed of the last and the first
\((M-1)\) columns of the full data matrix
\({\textbf{Y}}\):
$$\begin{aligned} {\textbf{X}}^{\prime }= & {} {\textbf{Y}}_{[:,2:M]}=\left[ \begin{array}{cccc} \mid &{} \mid &{} &{} \mid \\ {\textbf{x}}_{2} &{} {\textbf{x}}_{3} &{} \cdots &{} {\textbf{x}}_{M} \\ \mid &{} \mid &{} &{} \mid \end{array}\right] , \end{aligned}$$
(6a)
$$\begin{aligned} {\textbf{X}}= & {} {\textbf{Y}}_{[:,1:(M-1)]}=\left[ \begin{array}{cccc}\mid &{} \mid &{} &{} \mid \\ {\textbf{x}}_{1} &{} {\textbf{x}}_{2} &{} \cdots &{} {\textbf{x}}_{M-1} \\ \mid &{} \mid &{} &{} \mid \end{array}\right] . \end{aligned}$$
(6b)
This implementation of DMD requires the columns of the data matrices to be separated by a constant timestep
\(\Delta t\). Despite having 300 cycles of PIV data available in total for each plane, the data were gathered as three runs of 100 cycles each. Therefore, in this study, a separate DMD analysis is conducted on each 100 cycle subset, with a constant
\(\Delta t = 0.08\) s. With the data matrices established, the linear operator can be approximated as:
$$\begin{aligned} {\textbf{A}}\approx {\textbf{X}}^{\prime } {\textbf{X}}^{\dagger }, \end{aligned}$$
(7)
where
\(^{\dagger }\) denotes the Moore-Penrose pseudo-inverse. The pseudo-inverse is a least squares regression algorithm, minimising
\(\left\| {\textbf{X}}^{\prime }-{\textbf{A}} {\textbf{X}}\right\| _{F}\), where the subscript
\(_{F}\) indicates the Frobenius norm. The matrix
\({\textbf{A}}\) is therefore interpreted as the best-fit linear operator that maps the columns of
\({\textbf{X}}\) onto the columns of
\({\textbf{X}}^{\prime }\). To aid computational efficiency and also reduce the sensitivity to noise, the calculation of Eq.
7 begins by taking the rank-reduced SVDs of
\({\textbf{X}}\) and
\({\textbf{X}}^{\prime }\), assuming that there is low-rank structure in the dataset:
$$\begin{aligned} {\textbf{X}}\approx & {} \tilde{{\textbf{U}}}{\tilde{\Sigma }}\tilde{{\textbf{V}}}^{*} \end{aligned}$$
(8a)
$$\begin{aligned} {\textbf{X}}^{\prime }\approx & {} {\textbf{A}} \tilde{{\textbf{U}}} {\tilde{\Sigma }} \tilde{{\textbf{V}}}^{*} \end{aligned}$$
(8b)
truncated at a rank
p, where
\(\tilde{{\textbf{U}}}\) is the
\(N \times p\) matrix containing the leading left-singular vectors of
\({\textbf{X}}\),
\({\tilde{\Sigma }}\) is the diagonal
\(p \times p\) matrix containing the largest
p singular values of
\({\textbf{X}}\), and
\(\tilde{{\textbf{V}}}\) is the
\((M-1) \times p\) matrix containing the leading right-singular vectors of
\({\textbf{X}}\). In this case, the hard thresholding method proposed by Gavish and Donoho (
2014) was used to provide the truncation value
p. For a rectangular matrix assumed to be comprised of entries containing signal and unknown levels of white noise, the optimal hard threshold is given by:
$$\begin{aligned} p=\omega (\beta ) \sigma _{\text{ median }}, \end{aligned}$$
(9)
where
\(\beta\) is the aspect ratio of the input matrix,
\(\omega\) is the hard threshold coefficient which can be evaluated numerically following Gavish and Donoho (
2014), and
\(\sigma _{\text{ median }}\) is the median singular value of the input matrix. The next stage of the DMD algorithm makes use of Eqs.
7 and
8a to give the linear operator:
$$\begin{aligned} {\textbf{A}} \approx {\textbf{X}}^{\prime } \tilde{{\textbf{V}}} {\tilde{\Sigma }}^{-1} \tilde{{\textbf{U}}}^{*}, \end{aligned}$$
(10)
noting that both
\(\tilde{{\textbf{U}}}\) and
\(\tilde{{\textbf{V}}}\) are unitary matrices. Rather than calculating the full
\(N \times N\) matrix
\({\textbf{A}}\), the
\(p \times p\) matrix
\(\tilde{{\textbf{A}}}\) can be found by projecting
\({\textbf{A}}\) onto the left-singular vectors:
$$\begin{aligned} \tilde{{\textbf{A}}}=\tilde{{\textbf{U}}}^{*} {\textbf{A}}\tilde{{\textbf{U}}}=\tilde{{\textbf{U}}}^{*} {\textbf{X}}^{\prime } \tilde{{\textbf{V}}} {\tilde{\Sigma }}^{-1}. \end{aligned}$$
(11)
The eigendecomposition of
\(\tilde{{\textbf{A}}}\) is then:
$$\begin{aligned} \tilde{{\textbf{A}}} {\textbf{W}}={\textbf{W}} \Lambda . \end{aligned}$$
(12)
As the matrices
\({\textbf{A}}\) and
\(\tilde{{\textbf{A}}}\) are similar, they have the same eigenvalues
\(\Lambda\). Finally, Tu et al. (
2013) proved that the eigenvectors of
\({\textbf{A}}\) (known as DMD modes) are given by:
$$\begin{aligned} \varvec{\Phi }={\textbf{X}}^{\prime } \tilde{{\textbf{V}}} {\tilde{\Sigma }}^{-1} {\textbf{W}}, \end{aligned}$$
(13)
specifying this implementation as the ‘exact DMD’.
Finally, the solution to the system
5 may be expressed in the eigenvector basis:
$$\begin{aligned} {\textbf{x}}_{k+1} \approx \sum _{m=1}^p \phi _m \lambda _m^k b_m=\varvec{\Phi } \Lambda ^k {\textbf{b}}, \end{aligned}$$
(14)
where the matrix
\(\varvec{\Phi }\) has columns containing
\(\phi _m\) the eigenvectors of
\({\textbf{A}}\),
\(\Lambda\) is a diagonal matrix containing
\(\lambda _m\) the eigenvalues of
\({\textbf{A}}\), and
\({\textbf{b}}\) is a vector consisting of the mode amplitudes
\(b_m\). By considering the initial conditions with
\(k=0\),
\({\textbf{b}}\) can be calculated from
\({\textbf{b}}=\varvec{\Phi }^{\dagger } {\textbf{x}}_1\), where
\({\textbf{x}}_1\) is the first snapshot of data. This definition of mode amplitudes relies heavily on the assumption that snapshots evolve linearly in time from the initial condition, which may be only approximately valid for experimental measurements of non-linear flows where there can be strong CCVs and measurement noise may be present (Kutz et al.
2016; Schmid
2022). Outlier flow structures and anomalous measurements may suddenly appear in one snapshot but be absent from the other measurements, causing very high decay rates and large amplitudes (Schmid
2022). High-amplitude modes defined in this way, therefore, do not necessarily contribute to the full time series of measurements or reflect the most important flow dynamics.
An alternative approach to the amplitude definition was proposed by Jovanovic et al. (
2014) as part of the sparsity-promoting DMD (SPDMD) algorithm, where an optimal set of amplitudes is calculated by finding the DMD modes that have the highest contribution to the dynamics across the full dataset. This is cast as an optimisation problem, where a solution is sought that minimises the data sequence reconstruction error while retaining as few DMD modes as possible. The resultant optimisation problem is given as:
$$\begin{aligned} {\textbf{b}}_{\text{ opt } }=min\left( \Vert {\textbf{X}}-\tilde{{\textbf{U}}}{\tilde{\Sigma }} \tilde{{\textbf{V}}}^{*}\Vert _F+\gamma \Vert {\textbf{b}}\Vert _1\right) , \end{aligned}$$
(15)
where the first term in the minimisation argument represents the reconstruction error and the second term represents the sparsity of the amplitude vector via the
\({\mathbb {L}}^{1}\) norm. The parameter
\(\gamma\) controls the trade-off between sparsity and the reconstruction error. Equation
15 is solved via the alternating direction method of multipliers (ADMM), which switches between optimising for reconstruction error at a fixed sparsity and optimising for sparsity at a fixed reconstruction error. More details can be found in Jovanovic et al. (
2014).