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(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: pydmd.cdmd.CDMD

Randomized Dynamic Mode Decomposition

  • oversampling (int) – Number of additional samples to use when computing the random test matrix. Note that oversampling = {5,10} is often sufficient.

  • power_iters (int) – Number of power iterations to perform. Note that power_iters = {1,2} leads to considerable improvements.


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. :return: the compressed snapshots :rtype: numpy.ndarray