Ejemplo n.º 1
0
 def test_not_global_seed(self):
     """Test fixing seed is locally scoped."""
     seed = 314159
     test_cases = 100
     random_statevector(2, seed=seed)
     rng_before = np.random.randint(1000, size=test_cases)
     random_statevector(2, seed=seed)
     rng_after = np.random.randint(1000, size=test_cases)
     self.assertFalse(np.all(rng_before == rng_after))
Ejemplo n.º 2
0
 def test_expval_pauli_qargs(self, qubits):
     """Test expectation_value method for Pauli op"""
     seed = 1020
     op = random_pauli(2, seed=seed)
     state = random_statevector(2**3, seed=seed)
     target = state.expectation_value(op.to_matrix(), qubits)
     expval = state.expectation_value(op, qubits)
     self.assertAlmostEqual(expval, target)
Ejemplo n.º 3
0
 def test_expval_pauli(self, pauli):
     """Test expectation_value method for Pauli op"""
     seed = 1020
     op = Pauli(pauli)
     state = random_statevector(2**op.num_qubits, seed=seed)
     target = state.expectation_value(op.to_matrix())
     expval = state.expectation_value(op)
     self.assertAlmostEqual(expval, target)
Ejemplo n.º 4
0
    def test_global_phase_random(self):
        """Test global phase preservation with random state vectors"""
        from qiskit.quantum_info.random import random_statevector

        repeats = 5
        for n_qubits in [1, 2, 4]:
            for irep in range(repeats):
                with self.subTest(i=f"{n_qubits}_{irep}"):
                    dim = 2**n_qubits
                    qr = QuantumRegister(n_qubits)
                    initializer = QuantumCircuit(qr)
                    target = random_statevector(dim)
                    initializer.initialize(target, qr)
                    uninit = initializer.data[0][0].definition
                    self._remove_resets(uninit)
                    evolve = Statevector(uninit)
                    self.assertEqual(target, evolve)
Ejemplo n.º 5
0
 def test_fixed_seed(self):
     """Test fixing seed fixes output"""
     seed = 1532
     value1 = random_statevector(4, seed=seed)
     value2 = random_statevector(4, seed=seed)
     self.assertEqual(value1, value2)
Ejemplo n.º 6
0
 def test_int_dims(self, dim):
     """Test random_statevector is valid with dims {dim}."""
     value = random_statevector(dim)
     self.assertIsInstance(value, Statevector)
     self.assertTrue(value.is_valid())
     self.assertEqual(np.product(value.dims()), dim)
Ejemplo n.º 7
0
 def test_tuple_dims(self, dims):
     """Test random_statevector is valid with dims {dims}."""
     value = random_statevector(dims)
     self.assertIsInstance(value, Statevector)
     self.assertTrue(value.is_valid())
     self.assertEqual(value.dims(), dims)