Dynamic Mode Decomposition (DMD)
Dynamic mode decomposition (DMD) is a dimensionality reduction algorithm developed by Peter Schmid in 2008. 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 (PCA), 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.
Book link: Dynamic Mode Decomposition: Theory and Applications
Book link: Dynamic Mode Decomposition: Data-Driven Modeling of Complex Systems
Youtube link: Dynamic Mode Decomposition (Theory)
Youtube link: Dynamic Mode Decomposition (Code; Matlab)
Dynamical process is formulated as follows:
where
where
When the linear dynamical system differential equation
:
the differential equation with the linear dynamical system exponential solution
defined as:
where
The problem of finding the eigen vectors
The eigen values characteristic function
) below:
TO FIT A GENERAL DMD EQUATION FORM, THE NOTATION OF EIGEN VECTORS (
An exact solution of the differential equation is represented as:
Finally, the exact solution of the original dynamic system
Now, we know that how can express the exact solution
Let we can measure
$$
\bar{X} =
\begin{bmatrix}
& & & \
& & & \
\rm{x}_1 & \rm{x}2 & \cdots & \rm{x}{m-1}\
& & & \
& & &
\end{bmatrix}.
$$
Another matrix shifted by 1 time step is defined as:
$$
\bar{X}' =
\begin{bmatrix}
& & & \
& & & \
\rm{x}_2 & \rm{x}3 & \cdots & \rm{x}{m}\
& & & \
& & &
\end{bmatrix}.
$$
It is a data-driven way
to get this system.
WE ONLY TAKE THE MEASUREMENTS.
WE DO NOT THE DYNAMIC SOLVER OF THE SYSTEM.
WE RECALL BUILD THE MODEL.
Our objective is to build a linear dynamical system
Therefore, the linear dynamical system
where
The linear dynamical system
We easily think about that the linear dynamical system
This method is called by EXACT DMD
.
Let
The dimensions of each matrix are defined as:
In general, it is difficult to calculate the algorithm because the dimensions of the data rank-r truncation
is applied to the SVD:
The truncated dimensions are defined as:
A linear dynamical system
where
Since
Then, the linear dynamical system
Although the linear dynamical system
To project the linear dynamical system
$$\tilde{A}_{r \times r} = U_r^* A U_r=U_r^(\bar{X}' V_r \Sigma_r^{-1}U_r^)U_r=U_r^*\bar{X}' V_r \Sigma_r^{-1},$$
where
Now, the dimension of the low-rank embedded linear dynamical system
where $W=[\rm{eigenvectors}]$ and $\Lambda=[\rm{eigenvalues}]$.
In the previous step, the eigen vectors
where, DMD modes
in the original space. The eigen values
We have performed from defining the linear dynamical system
where
The arbitrary constants
then,
where