def test_eigs_3(self): optdmd = OptDMD(svd_rank=2) optdmd.fit(X=sample_data) expected_eigs = np.array([ -8.09016994e-01 + 5.87785252e-01j, -4.73868662e-01 + 8.80595532e-01j ]) np.testing.assert_almost_equal(optdmd.eigs, expected_eigs, decimal=6)
def test_Atilde_values(self): optdmd = OptDMD(svd_rank=2) optdmd.fit(X=sample_data) exact_atilde = np.array( [[-0.70558526 + 0.67815084j, 0.22914898 + 0.20020143j], [0.10459069 + 0.09137814j, -0.57730040 + 0.79022994j]]) np.testing.assert_allclose(np.linalg.eigvals(exact_atilde), np.linalg.eigvals(optdmd.atilde))
def test_eigs_2(self): optdmd = OptDMD(svd_rank=5) optdmd.fit(X=sample_data) assert len(optdmd.eigs) == 5
def test_Atilde_shape(self): optdmd = OptDMD(svd_rank=3) optdmd.fit(X=sample_data) assert optdmd.atilde.shape == (optdmd.svd_rank, optdmd.svd_rank)
def test_rank(self): optdmd = OptDMD(svd_rank=0.9) optdmd.fit(X=sample_data) assert len(optdmd.eigs) == 2
def test_truncation_shape(self): optdmd = OptDMD(svd_rank=3) optdmd.fit(X=sample_data) assert optdmd.modes.shape[1] == 3
def test_shape_2(self): optdmd = OptDMD(svd_rank=-1) optdmd.fit(X=sample_data[:, :-1], Y=sample_data[:, 1:]) assert optdmd.modes.shape[1] == sample_data.shape[1] - 1
def test_shape_1(self): optdmd = OptDMD(svd_rank=-1) optdmd.fit(X=sample_data) assert optdmd.modes.shape[1] == sample_data.shape[1] - 1