def test_measure_deterministic_multi_qubit_without_sampling(self): """Test ExtendedStabilizer multi-qubit measure with deterministic counts without sampling""" shots = 100 circuits = ref_measure.multiqubit_measure_circuits_deterministic( allow_sampling=False) targets = ref_measure.multiqubit_measure_counts_deterministic(shots) qobj = assemble(circuits, QasmSimulator(), shots=shots) job = QasmSimulator().run(qobj, **self.BACKEND_OPTS) result = job.result() self.assertSuccess(result) self.compare_counts(result, circuits, targets, delta=0)
def test_measure_deterministic_multi_qubit_with_sampling(self): """Test ExtendedStabilizer multi-qubit measure with deterministic counts with sampling""" shots = 100 circuits = ref_measure.multiqubit_measure_circuits_deterministic( allow_sampling=True) targets = ref_measure.multiqubit_measure_counts_deterministic(shots) qobj = assemble(circuits, QasmSimulator(), shots=shots) job = QasmSimulator().run(qobj, backend_options=self.BACKEND_OPTS_SAMPLING) result = job.result() self.assertTrue(getattr(result, 'success', False)) self.compare_counts(result, circuits, targets, delta=0)
def test_measure_deterministic_multi_qubit_without_sampling(self): """Test ExtendedStabilizer multi-qubit measure with deterministic counts without sampling""" shots = 100 circuits = ref_measure.multiqubit_measure_circuits_deterministic( allow_sampling=False) targets = ref_measure.multiqubit_measure_counts_deterministic(shots) qobj = assemble(circuits, QasmSimulator(), shots=shots) job = QasmSimulator().run( qobj, backend_options={"method": "extended_stabilizer"}) result = job.result() self.is_completed(result) self.compare_counts(result, circuits, targets, delta=0)
def test_measure_deterministic_multi_qubit_without_sampling(self): """Test QasmSimulator multi-qubit measure with deterministic counts without sampling""" shots = 100 circuits = ref_measure.multiqubit_measure_circuits_deterministic( allow_sampling=False) target_counts = ref_measure.multiqubit_measure_counts_deterministic( shots) target_memory = ref_measure.multiqubit_measure_memory_deterministic( shots) qobj = assemble(circuits, self.SIMULATOR, shots=shots, memory=True) result = self.SIMULATOR.run(qobj, **self.BACKEND_OPTS).result() self.compare_counts(result, circuits, target_counts, delta=0) self.compare_memory(result, circuits, target_memory)
def test_measure_deterministic_multi_qubit_with_sampling(self): """Test QasmSimulator multi-qubit measure with deterministic counts with sampling""" shots = 100 circuits = ref_measure.multiqubit_measure_circuits_deterministic( allow_sampling=True) target_counts = ref_measure.multiqubit_measure_counts_deterministic(shots) target_memory = ref_measure.multiqubit_measure_memory_deterministic(shots) qobj = assemble(circuits, self.SIMULATOR, shots=shots, memory=True) result = self.SIMULATOR.run( qobj, backend_options=self.BACKEND_OPTS).result() self.assertTrue(getattr(result, 'success', False)) self.compare_counts(result, circuits, target_counts, delta=0) self.compare_memory(result, circuits, target_memory) self.compare_result_metadata(result, circuits, "measure_sampling", True)
def test_measure_deterministic_multi_qubit_without_sampling(self): """Test QasmSimulator multi-qubit measure with deterministic counts without sampling""" shots = 100 circuits = ref_measure.multiqubit_measure_circuits_deterministic( allow_sampling=False) targets = ref_measure.multiqubit_measure_counts_deterministic(shots) qobj = assemble(circuits, self.SIMULATOR, shots=shots) result = self.SIMULATOR.run( qobj, backend_options=self.BACKEND_OPTS).result() self.is_completed(result) self.compare_counts(result, circuits, targets, delta=0) # Test sampling was disabled for res in result.results: self.assertIn("measure_sampling", res.metadata) self.assertEqual(res.metadata["measure_sampling"], False)
def test_measure_deterministic_multi_qubit_without_sampling( self, method, device): """Test AerSimulator multi-qubit measure with deterministic counts without sampling""" backend = self.backend(method=method, device=device) shots = 100 circuits = ref_measure.multiqubit_measure_circuits_deterministic( allow_sampling=False) target_counts = ref_measure.multiqubit_measure_counts_deterministic( shots) target_memory = ref_measure.multiqubit_measure_memory_deterministic( shots) result = backend.run(circuits, memory=True, shots=shots).result() self.compare_counts(result, circuits, target_counts, delta=0) self.compare_memory(result, circuits, target_memory) self.compare_result_metadata(result, circuits, "measure_sampling", False)