def test_conjugate(self): """Test conjugate method.""" stine_l, stine_r = self.rand_matrix(16, 2), self.rand_matrix(16, 2) # Single Stinespring list targ = Stinespring(stine_l.conj(), output_dims=4) chan1 = Stinespring(stine_l, output_dims=4) chan = chan1.conjugate() self.assertEqual(chan, targ) self.assertEqual(chan.dim, (2, 4)) # Double Stinespring list targ = Stinespring((stine_l.conj(), stine_r.conj()), output_dims=4) chan1 = Stinespring((stine_l, stine_r), output_dims=4) chan = chan1.conjugate() self.assertEqual(chan, targ) self.assertEqual(chan.dim, (2, 4))
def test_conjugate_inplace(self): """Test inplace conjugate method.""" stine_l, stine_r = self.rand_matrix(16, 2), self.rand_matrix(16, 2) # Single Stinespring list targ = Stinespring(stine_l.conj(), output_dim=4) chan1 = Stinespring(stine_l, output_dim=4) chan1.conjugate(inplace=True) self.assertEqual(chan1, targ) self.assertEqual(chan1.dims, (2, 4)) # Double Stinespring list targ = Stinespring((stine_l.conj(), stine_r.conj()), output_dim=4) chan1 = Stinespring((stine_l, stine_r), output_dim=4) chan1.conjugate(inplace=True) self.assertEqual(chan1, targ) self.assertEqual(chan1.dims, (2, 4))