DMD with control¶
Derived module from dmdbase.py for dmd with control.
Reference: - Proctor, J.L., Brunton, S.L. and Kutz, J.N., 2016. Dynamic mode decomposition with control. SIAM Journal on Applied Dynamical Systems, 15(1), pp.142-161.
DMDc(svd_rank=0, tlsq_rank=0, opt=False, svd_rank_omega=-1)
Dynamic Mode Decomposition with control. This version does not allow to manipulate the temporal window within the system is reconstructed.
svd_rank (int or float) – the rank for the truncation; If 0, the method computes the optimal rank and uses it for truncation; if positive interger, the method uses the argument for the truncation; if float between 0 and 1, the rank is the number of the biggest singular values that are needed to reach the ‘energy’ specified by svd_rank; if -1, the method does not compute truncation.
tlsq_rank (int) – rank truncation computing Total Least Square. Default is 0, that means no truncation.
svd_rank_omega (int or float) – the rank for the truncation of the aumented matrix omega composed by the left snapshots matrix and the control. Used only for the _fit_B_unknown method of this class. It should be greater or equal than svd_rank. For the possible values please refer to the svd_rank parameter description above.
Get the operator B.
the operator B.
- Return type
Get the basis used to reduce the linear operator to the low dimensional space.
the matrix which columns are the basis vectors.
- Return type
fit(X, I, B=None)
Compute the Dynamic Modes Decomposition with control given the original snapshots and the control input data. The matrix B that controls how the control input influences the system evolution can be provided by the user; otherwise, it is computed by the algorithm.
Return the reconstructed data, computed using the control_input argument. If the control_input is not passed, the original input (in the fit method) is used. The input dimension has to be consistent with the dynamics.