def test_identity(radii):
sys = Alpha(0.1)
identity = Identity()
assert repr(identity) == "Identity()"
I = np.eye(len(sys))
realize_result = identity(sys, radii)
assert realize_result.sys is sys
assert np.allclose(realize_result.T, I * radii)
assert np.allclose(realize_result.Tinv, inv(I * radii))
rsys = realize_result.realization
assert ss_equal(rsys, sys.transform(realize_result.T))
# Check that it's still the same system, even though different matrices
assert sys_equal(sys, rsys)
if radii == 1:
assert ss_equal(sys, rsys)
else:
assert not np.allclose(sys.B, rsys.B)
assert not np.allclose(sys.C, rsys.C)
# Check that the state vectors have scaled power
assert np.allclose(state_norm(sys) / radii, state_norm(rsys))
评论列表
文章目录