Junior ME student, who wanted nothing more for their term to be over so I could sit down with these videos, your books and some code. Merry christmas to me!
@TungNguyen-gx1fy2 жыл бұрын
NOTE: DMD is a purely data-driven method. - 1: collect data and create matrix X=[x1 x2 ... x_{m-1}] and X'[x2 x3 ... x_ m] (tall skinny matrices). - 2: The purpose of DMD is finding A: X' ~ AX. Theoretically, A = X'X^{dagger}, but it's too big, so DMD tries to find A without computing it directly by finding its dominant eigenpairs. - 3: X = USV* - 4: X' = AUSV* => X'VS* = AU => U*X'VS* = U*AU = A^ (A^ is the best linear system tell us how POD mode - cols(U) - involves in times) eigvals(A^) = eigvals(A) - 5: A^W = WV (W are eigenvectors of A^, V are eigenvalues of A^). - 6: P = X'VS*W are the eigenvectors of A corresponding to eigenvecors W of A^. ==> Then we have V and P (eigvals(A) and eigvec(A)). Done
@tetragramatonYHVH10 күн бұрын
actually, I see that DMD reduced A equation is always with S (or Σ) inverted, not conjugate transpoed. idk im not mathematician im engineer but just to be sure thank you
@diegoandrade3912 Жыл бұрын
for transient problems what is the "fancier" regression Steve is referring to?
@juliocardenas44852 жыл бұрын
I just received your book in the mail 📕! It’s wonderful to watch your lectures along reading your book. Thank 🙏🏾🧑🏽💻
@nikoshazaridis27667 ай бұрын
Hi great video! Can anyone explain, how does one get from the modes and dynamics back to the reconstructions? Any source would be greatly appreciated as I can't seem to find explicit descriptions on the Prof Brunton's books.
@michaeljanicki13884 жыл бұрын
Should the term at 14:50 lambda^t be lambda^(k*delta_t)?
@Eigensteve4 жыл бұрын
Good catch! It should actually be Lambda^k, since we are working in discrete time. So multiplying by Lambda already advances everything by one single "delta t".
@TheGreatMaverick Жыл бұрын
You are a hero, Steve!
@uchennaogunka Жыл бұрын
Can DMD and/or POD be used with only one snapshot (i.e a velocity vector column matrix at one timestep only) to produce the modes and coherent structures at that timestep/snapshot?
@maxfinnian3 ай бұрын
It is worth noting that in the case where X and X' are hankel matrices, this is mathematically identical to the Matrix Pencil Method of 1995.
@khanhduyphan87213 жыл бұрын
wow, it stunned me. by the way, I am studying EEMD and some other decomposition such as SSA, VMD, and they make me feel extremely puzzled. Hence, would you mind making a video about them, how to use and separate. Thank you so much
@juanmanuelpedrosa534 ай бұрын
I don't know if you will read this but this is the kind of work that I was talking about, very similar but really nothing like it
@tomoki-v6o2 жыл бұрын
simular to word masking in NLP. great video
@dr_blerk Жыл бұрын
Is a 1-dimensional DMD equivalent to a discrete temporal Fourier Transform?
@aaaaaaaaaabbbbbbbbbb4 жыл бұрын
Can I think of DMD as first order vector autoregression combined with a trick to computationally handle a giant coefficient matrix?
@thefieldcto81654 жыл бұрын
Steve, How are you super imposing the images on to the lightboard. I have a lightboard that I use for videos but your images look awesome vs hand drawings, Looks great!
@AdeyemiAlabi4 жыл бұрын
Can DMD be used for Non-Linear Model order reductions?
@sefabektas3720 Жыл бұрын
Hi Sir, really appreciate what you have done, it is a pleasure to learn new methods to combine them with different fields. But, it sometimes might be hard to interpret something when you have just started learning. In the DMD method, I get stuck with the interpretation of modes like decaying oscillating, or growing modes in terms of accuracy of prediction. For example, you don t have an exact equation to check out the modes of the model, instead, just have pure data. And you find a few modes dominating your system considering singular values but some of them growing and others decaying or oscillating. How do you check these modes are convenient for your model? Do decaying and growing modes mean something in your prediction? If they are, until when? How do you decide to cut off the time step for the prediction? Looking forward to hearing from you.
@johnfinn94952 жыл бұрын
At 18:17 you speak of projecting the n \times n matrix A by the U*AU operation, resulting in a m \times m matrix. But U is unitary (in the sense of U*U=I_m -- but not of course UU*=I_n -- and not just a projection operator. So it projects n-dimension to m-dimension but rotates too, right?
@johnfinn94952 жыл бұрын
Hold it. Jumped the gun. UU* is the projection operator to the range of U, i.e. the column space of U. DMD is all about fluency in PCA/POD/SVD/K-L, right?)
@jyanguas3251 Жыл бұрын
Nice video! I just have a question. Why are the DMD modes considered "spatial"? Where do that spatial features come from? I do not understand how is the spatial information related to the DMD modes. Is it because the matrices from which we start (X,X') do contain the spatial information? As their columns may be, for example, some EEG time series from different locations
@sercanozturk98624 жыл бұрын
Hi Sir, the DMD can be applied on a gust flow problem? You said that "If have strong transients or non-stationary behavior in flow fields, its get more complicated.", Is it current for ın my research case or can it be tried?
@Eigensteve4 жыл бұрын
I think that would be an interesting problem to try. There is also the "DMD with control" method that can handle disturbances that force the flow.
@henlofrens8 ай бұрын
Is this just PCA but with a transformation step from snapshot into column?
@henlofrens8 ай бұрын
ok I just watched the end and it seems to be so yes
@federicogasparv3 жыл бұрын
As always, fantastic video. Might I ask if it is possible to adapt the same ideas but for a set of transformations, each of them linear, and each transformation is the best linear aproximation from t_i to t_{i+1}, but the set of transformations itself depends on t and are not linear.
@amesoeurs Жыл бұрын
14:23 should this be Lambda^k, not Lambda^t?
@BeiLi-xm6cx Жыл бұрын
May I ask a fundamental question... Why we need to use the eigenvectors of A_tilde to reconstruct the eigenvectors of A instead of docomposing A directly to get the eigenvectors of A? I would be appreciated if anyone can raply me.
@IsabellaAlcorn-er8je Жыл бұрын
A is too large to perform calculations on. It seems DMD is useful for the exact reason that it is significantly easier/more efficient to compute eigenvalues and eigenvectors of A_tilde when you know they are identical to the eigenvalues and eigenvectors of A. You get the information you want without having to work with an extremely large and unruly matrix.
@yacineterriche68834 жыл бұрын
Great lesson, I am really in need to learn how you could draw those nice cloroed figures. Can anyone give me some tips? I would really appreciate
@Shivamverma-zk5dn4 жыл бұрын
Those figures have probably resulted from the flow simulations.
@federicogasparv3 жыл бұрын
He is probably using OpenFoam to run simulations of a fluid across the circular shape.
@IlCanaleDiNico4 жыл бұрын
Hi. I don't get why projecting A over U should reduce it and return A_tilda. U should be of dimension n x n (so like one million x one million in your example), but you speak as U should have m columns instead.... What am I missing, sir? Thanks a lot for your work!
@zoloojagaa91984 жыл бұрын
U used there is truncated U, not full U. It has size of (n*r) Therefore, U^T(r*n)*A(n*n)*U(n*r) = A_Tilda(r*r)
@zoloojagaa91984 жыл бұрын
A(m*n) matrix of rank r can be approximated through SVD/Eckhart-Young Theorem/. And that approximated A is decomposed into 3 matrix; U_tilda, Sigma_tilda, V_Tilda^Transpose. U_tilda has size of m*r Sigma_Tilda has size of r*r V_Tilda has size of (n*r) --> V_Tilda^T has size of (r*n)
@zoloojagaa91984 жыл бұрын
Instead of rank r we can use size of the column m /I am just trying to explain why I used r instead of m, without any assumption of your understanding on the subject/
@IlCanaleDiNico4 жыл бұрын
Ok, that solve the issue. Thank you
@kushalchoudhary4323 жыл бұрын
NICELY EXPLAINED
@mahan15984 жыл бұрын
Thank you! I have a question: How can we calculate the singular decomposition of X, when you mention that X is very large? I think the complexity of finding A is the same as finding the SVD of X itself.
@gauravkhandelwal12284 жыл бұрын
yeah, getting the same problem.. one of the matrix obtained from SVD would be of the order L*L where L is the number of points considered in plane/ dimensions. For me L is around 80k and hence i am not able to compute a matrix of 80k*80k elements... someone suggest an alternative to svd please...
@gauravkhandelwal12284 жыл бұрын
Got the solution for that, use svd(X,econ) function, for more info watch SVD lectures
@rifm52514 жыл бұрын
Hi Steve, is there a certain way to reshape the tall state vectors? Given a velocity plane, how would i re-shape this into a column x1?
@gregoryfoo68494 жыл бұрын
Hi! I am currently working on something similar and what I did for a velocity planar field of Nx * Ny grid domain size, you simply have to reshape it such that the column reflects a size of Nx*Ny x 1. This can be done with a matlab command of reshape(X,Nx*Ny,1)
@rifm52514 жыл бұрын
thanks!
@Jacob011 Жыл бұрын
Pretty neat!
@uttamshrimali78104 жыл бұрын
Hi, I was wondering that how do we arrive at the colour map for certain problem?