libROM
libROM copied to clipboard
dmd prediction of initial condition
My DMD code seems to be working, but it seems to make a large error at the starting time. Shouldn't DMD be able to reproduce the initial condition exactly? Looking at
https://www.librom.net/features.html
I can see the last equation in the DMD section
$$ \mathbf{u}(t) = \mathbf{\Phi\Lambda}^{{t}/{\Delta t}}\mathbf{b}_0 $$
using $\mathbf{b}_0=\mathbf{\Phi}^\dagger\mathbf{u}_0$ we get
$$ \mathbf{u}(t) = \mathbf{\Phi\Lambda}^{{t}/{\Delta t}}\mathbf{\Phi}^\dagger\mathbf{u}_0 $$
At $t=0$ we have $\mathbf{\Lambda}^{{t}/{\Delta t}}=\mathbf{1}$ and hence,
$$ \mathbf{u}(0) = \mathbf{\Phi}\mathbf{\Phi}^\dagger\mathbf{u}_0 $$
Since $\mathbf{\Phi}\mathbf{\Phi}^\dagger=\mathbf{1}$ we get
$$ \mathbf{u}(0)=\mathbf{u}_0 $$
Hence, the initial condition is faithfully reproduced. Is my understanding correct?
Perhaps $\mathbf{\Phi}\mathbf{\Phi}^\dagger=\mathbf{1}$ is not always true - see this.
Hi @gokhalen . Thanks for your question. You are correct about $\mathbf{\Phi}\mathbf{\Phi}^\dagger\neq\mathbf{1}$ in general. In fact, it is the orthogonal projection onto the column space of $\mathbf{\Phi}$. The sufficient and necessary condition of $\mathbf{u}(0) = \mathbf{u}_0$ is $\mathbf{u}_0$ is in the column space of $\mathbf{\Phi}$, i.e. can be written as a linear combination of the columns of $\mathbf{\Phi}$. In particular, if $\mathbf{\Phi}\mathbf{\Phi}^\dagger\neq\mathbf{1}$, then the column space of $\mathbf{\Phi}$ is the whole state space.