pymor.algorithms.dmd¶
Module Contents¶
- pymor.algorithms.dmd.dmd(X, Y=None, modes=None, atol=None, rtol=None, cont_time_dt=None, type='exact', order='magnitude', svd_method='method_of_snapshots', return_A_approx=False, return_A_tilde=False)[source]¶
Dynamic Mode Decomposition.
See Algorithm 1 and Algorithm 2 in [TRL+14].
Parameters
- X
The
VectorArrayfor which the DMD algorithm is performed. IfYis given,XandYare the left resp. right snapshot series.- Y
The
VectorArrayof the right snapshot series.- modes
Maximum number of singular vectors of
Xto take into account.- atol
Absolute truncation tolerance for singular values of
X.- rtol
Relative truncation tolerance for singular values of
X.- cont_time_dt
If not
None, return continuous-time DMD eigenvalues with scaling log(lambda) / dt.- type
- ‘standard’: uses the standard definition to compute the dynamic modes
Wk = U * evecs, whereUare the left singular vectors ofX.
‘exact’ : computes the exact dynamic modes,
Wk = (1/evals) * Y * V * Sigma_inv * evecs.
- order
Sort DMD eigenvalues either by
'magnitude'or'phase'.- svd_method
Which SVD method from
svd_vato use ('method_of_snapshots'or'qr_svd').- return_A_approx
If
True, the approximation of the operatorAwithAX=Yis returned as aLowRankOperator.- return_A_tilde
If
Truethe low-rank dynamics are returned.
Returns
- Wk
VectorArraycontaining the dynamic modes. The number of computed modes is given by the SVD truncation rank determined by themodes,atolandrtolarguments.- evals
Discrete or continuous time DMD eigenvalues.
- A_approx
LowRankOperatorcontaining the approximation of the operatorAwithAX=Y. Only provided ifreturn_A_approxisTrue.- A_tilde
Low-rank dynamics. Only provided if
return_A_tildeisTrue.