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))
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)
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)
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)
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)
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)
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)