def test_reconstructed_data(self): dmd = MrDMD(svd_rank=0, max_level=6, max_cycles=2, exact=True) dmd.fit(X=sample_data) dmd_data = dmd.reconstructed_data norm_err = (old_div(np.linalg.norm(sample_data - dmd_data), np.linalg.norm(sample_data))) assert norm_err < 1
def test_eigs2(self): max_level = 5 level = 2 rank = -1 dmd = MrDMD(svd_rank=rank, max_level=max_level, max_cycles=2) dmd.fit(X=sample_data) assert dmd.eigs.ndim == 1
def test_wrong_bin(self): max_level = 5 level = 2 dmd = MrDMD(max_level=max_level) dmd.fit(sample_data) with self.assertRaises(ValueError): dmd.partial_modes(level=level, node=2**level)
def test_wrong_plot_eig1(self): dmd = MrDMD(svd_rank=-1, max_level=7, max_cycles=1) dmd.fit(X=sample_data) with self.assertRaises(ValueError): dmd.plot_eigs( show_axes=True, show_unit_circle=True, figsize=(8, 8), level=7 )
def test_partial_eigs2(self): max_level = 5 level = 2 rank = 2 dmd = MrDMD(svd_rank=rank, max_level=max_level, max_cycles=2) dmd.fit(X=sample_data) peigs = dmd.partial_eigs(level, 3) assert peigs.shape == (rank, )
def test_wrong_partial_reconstructed(self): max_level = 5 level = 2 rank = 2 dmd = MrDMD(svd_rank=rank, max_level=max_level, max_cycles=2) dmd.fit(X=sample_data) with self.assertRaises(ValueError): pdata = dmd.partial_reconstructed_data(max_level, 2)
def test_partial_reconstructed1(self): max_level = 5 level = 2 rank = 2 dmd = MrDMD(svd_rank=rank, max_level=max_level, max_cycles=2) dmd.fit(X=sample_data) pdata = dmd.partial_reconstructed_data(level) assert pdata.shape == sample_data.shape
def test_partial_dynamics1(self): max_level = 5 level = 2 rank = 2 dmd = MrDMD(svd_rank=rank, max_level=max_level, max_cycles=2) dmd.fit(X=sample_data) pdynamics = dmd.partial_dynamics(level) assert pdynamics.shape == (2**level * rank, sample_data.shape[1])
def test_partial_modes2(self): max_level = 5 level = 2 rank = 2 dmd = MrDMD(svd_rank=rank, max_level=max_level, max_cycles=2) dmd.fit(X=sample_data) pmodes = dmd.partial_modes(level, 3) assert pmodes.shape == (sample_data.shape[0], rank)
def test_partial_reconstructed2(self): max_level = 5 level = 2 rank = 2 dmd = MrDMD(svd_rank=rank, max_level=max_level, max_cycles=2) dmd.fit(X=sample_data) pdata = dmd.partial_reconstructed_data(level, 3) assert pdata.shape == (sample_data.shape[0], old_div( sample_data.shape[1], 2**level))
def test_max_level_threshold2(self): level = 10 dmd = MrDMD(svd_rank=1, max_level=level, max_cycles=2) dmd.fit(X=sample_data) assert dmd._steps[-1] == 1
def test_max_level_threshold(self): level = 10 dmd = MrDMD(svd_rank=1, max_level=level, max_cycles=2) dmd.fit(X=sample_data) lvl_threshold = int(np.log(sample_data.shape[1]/4.)/np.log(2.)) + 1 assert lvl_threshold == dmd.max_level
def test_plot_eig3(self): dmd = MrDMD(svd_rank=-1, max_level=7, max_cycles=1) dmd.fit(X=sample_data) dmd.plot_eigs(show_axes=False, show_unit_circle=False, level=1, node=0) plt.close()
def test_plot_eig2(self): dmd = MrDMD(svd_rank=-1, max_level=7, max_cycles=1) dmd.fit(X=sample_data) dmd.plot_eigs(show_axes=True, show_unit_circle=False, title='Title') plt.close()
def test_plot_eig1(self): dmd = MrDMD(svd_rank=-1, max_level=7, max_cycles=1) dmd.fit(X=sample_data) dmd.plot_eigs(show_axes=True, show_unit_circle=True, figsize=(8, 8)) plt.close()
def test_wrong_level(self): max_level = 5 dmd = MrDMD(max_level=max_level) dmd.fit(sample_data) with self.assertRaises(ValueError): dmd.partial_modes(max_level + 1)
def test_time_window_amplitudes(self): level = 3 dmd = MrDMD(svd_rank=1, max_level=level, max_cycles=2) dmd.fit(X=sample_data) assert len(dmd.time_window_amplitudes(0, dmd._snapshots.shape[1])) == 7
def test_shape_dynamics(self): level = 5 dmd = MrDMD(svd_rank=1, max_level=level, max_cycles=2) dmd.fit(X=sample_data) assert dmd.dynamics.shape == (2**level - 1, sample_data.shape[1])
def test_shape_modes(self): level = 5 dmd = MrDMD(svd_rank=1, max_level=level, max_cycles=2) dmd.fit(X=sample_data) assert dmd.modes.shape == (sample_data.shape[0], 2**level - 1)