Subspace DMD¶
Derived module from dmdbase.py for Subspace DMD.
Reference: Takeishi, Naoya, Yoshinobu Kawahara, and Takehisa Yairi. “Subspace dynamic mode decomposition for stochastic Koopman analysis.” Physical Review E 96.3 (2017): 033310.
- class SubspaceDMD(svd_rank=-1, opt=False, rescale_mode=None, sorted_eigs=False)[source]
Bases:
DMDBase
Subspace Dynamic Mode Decomposition
- param svd_rank:
the rank for the truncation; if -1 all the columns of U_q are used, if svd_rank is an integer grater than zero it is used as the number of columns retained from U_q. svd_rank=0 or float values are not supported.
- Parameters:
opt (bool or int) – argument to control the computation of DMD modes amplitudes. See
DMDBase
. Default is False.rescale_mode ({'auto'} or None or numpy.ndarray) – Scale Atilde as shown in 10.1016/j.jneumeth.2015.10.010 (section 2.4) before computing its eigendecomposition. None means no rescaling, ‘auto’ means automatic rescaling using singular values, otherwise the scaling factors.
sorted_eigs ({'real', 'abs'} or False) – Sort eigenvalues (and modes/dynamics accordingly) by magnitude if sorted_eigs=’abs’, by real part (and then by imaginary part to break ties) if sorted_eigs=’real’. Default: False.
- fit(X)[source]
Compute the Subspace Dynamic Modes Decomposition to the input data.
- Parameters:
X (numpy.ndarray or iterable) – the input snapshots.