def test_power(self): """Test power method.""" X90 = la.expm(-1j * 0.5 * np.pi * np.array([[0, 1], [1, 0]]) / 2) chan = UnitaryChannel(X90) self.assertEqual(chan.power(2), UnitaryChannel([[0, -1j], [-1j, 0]])) self.assertEqual(chan.power(4), UnitaryChannel(-1 * np.eye(2))) self.assertEqual(chan.power(8), UnitaryChannel(np.eye(2)))
def test_power_inplace(self): """Test inplace power method.""" X90 = la.expm(-1j * 0.5 * np.pi * np.array([[0, 1], [1, 0]]) / 2) chan = UnitaryChannel(X90) chan.power(2, inplace=True) self.assertEqual(chan, UnitaryChannel([[0, -1j], [-1j, 0]])) chan.power(2, inplace=True) self.assertEqual(chan, UnitaryChannel(-1 * np.eye(2))) chan.power(4, inplace=True) self.assertEqual(chan, UnitaryChannel(np.eye(2)))