Randomized DMD¶
Derived module from cdmd.py for Randomized DMD
Reference: N. Benjamin Erichson, Lionel Mathelin, J. Nathan Kutz, Steven L. Brunton. Randomized dynamic mode decomposition. SIAM Journal on Applied Dynamical Systems, 18, 2019.
- class RDMD(test_matrix=None, seed=None, oversampling=10, power_iters=2, svd_rank=0, tlsq_rank=0, opt=False, rescale_mode=None, forward_backward=False, sorted_eigs=False, tikhonov_regularization=None)[source]
Bases:
CDMD
Randomized Dynamic Mode Decomposition
- Parameters:
test_matrix (numpy.ndarray) – The random test matrix that will be used when executing the Randomized QB Decomposition. If not provided, the svd_rank and oversampling parameters will be used to compute the random matrix.
seed (int) – Seed used to initialize the random generator when computing random test matrices.
oversampling (int) – Number of additional samples (beyond the target rank) to use when computing the random test matrix. Note that values in the range [5, 10] tend to be sufficient.
power_iters (int) – Number of power iterations to perform when executing the Randomized QB Decomposition. Note that as many as 1 to 2 power iterations often lead to considerable improvements.
- _compress_snapshots()[source]
Private method that compresses the snapshot matrix X by projecting X onto a near-optimal orthonormal basis for the range of X computed via the Randomized QB Decomposition.
- Returns:
the compressed snapshots
- Return type: