예제 #1
0
 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))
예제 #2
0
 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))