def test_balanced_truncation(self): """Test balanced system is close to original.""" for num_inputs in [1, 3]: for num_outputs in [1, 4]: for num_states in [1, 10]: A, B, C = util.drss(num_states, num_inputs, num_outputs) Ar, Br, Cr = util.balanced_truncation(A, B, C) num_time_steps = 10 y = util.impulse(A, B, C, num_time_steps=num_time_steps) yr = util.impulse(Ar, Br, Cr, num_time_steps=num_time_steps) np.testing.assert_allclose(yr, y, rtol=1e-5)
def test_balanced_truncation(self): """Test balanced system is close to original.""" for num_inputs in [1, 3]: for num_outputs in [1, 4]: for num_states in [1, 10]: A, B, C = util.drss(num_states, num_inputs, num_outputs) Ar, Br, Cr = util.balanced_truncation(A, B, C) num_time_steps = 10 y = util.impulse(A, B, C, num_time_steps=num_time_steps) yr = util.impulse(Ar, Br, Cr, num_time_steps=num_time_steps) np.testing.assert_allclose(yr, y, rtol=1e-3, atol=1e-3)