Exemplo n.º 1
0
 def test_int_dims(self, dim):
     """Test random_quantum_channel is valid with dims {dim}."""
     value = random_quantum_channel(dim)
     self.assertIsInstance(value, Stinespring)
     self.assertTrue(value.is_cptp())
     self.assertEqual(np.product(value.input_dims()), dim)
     self.assertEqual(np.product(value.output_dims()), dim)
Exemplo n.º 2
0
 def test_rank(self, rank):
     """Test random_quantum_channel with fixed rank {rank}"""
     choi = Choi(random_quantum_channel(2, rank=rank))
     # Get number of non-zero eigenvalues
     evals = np.linalg.eigvals(choi.data).round(8)
     value = len(evals[evals > 0])
     self.assertEqual(value, rank)
Exemplo n.º 3
0
 def test_tuple_dims(self, dims):
     """Test random_quantum_channel is valid with dims {dims}."""
     value = random_quantum_channel(dims)
     self.assertIsInstance(value, Stinespring)
     self.assertTrue(value.is_cptp())
     self.assertEqual(value.input_dims(), dims)
     self.assertEqual(value.output_dims(), dims)
Exemplo n.º 4
0
 def test_fixed_seed(self):
     """Test fixing seed fixes output"""
     seed = 1532
     value1 = random_quantum_channel(4, seed=seed)
     value2 = random_quantum_channel(4, seed=seed)
     self.assertEqual(value1, value2)