Ejemplo n.º 1
0
 def test_teleport_default_basis_gates(self):
     """Test teleport circuits compiling to backend default basis_gates."""
     shots = 2000
     circuits = ref_algorithms.teleport_circuit()
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_algorithms.teleport_counts(shots)
     job = QasmSimulator().run(qobj, backend_options={"method": "ch"})
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0.05 * shots)
Ejemplo n.º 2
0
 def test_measure_nondeterministic_without_sampling(self):
     """Test CHimulator measure with non-deterministic counts without sampling"""
     shots = 2000
     circuits = ref_measure.measure_circuits_nondeterministic(
         allow_sampling=False)
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_measure.measure_counts_nondeterministic(shots)
     job = QasmSimulator().run(qobj, backend_options={"method": "ch"})
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0.05 * shots)
Ejemplo n.º 3
0
 def test_t_gate_deterministic_default_basis_gates(self):
     """Test t-gate circuits compiling to backend default basis_gates."""
     shots = 100
     circuits = ref_non_clifford.t_gate_circuits_deterministic(
         final_measure=True)
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_non_clifford.t_gate_counts_deterministic(shots)
     job = QasmSimulator().run(qobj, backend_options={"method": "ch"})
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0.05 * shots)
Ejemplo n.º 4
0
 def test_conditional_2bit(self):
     """Test conditional operations on 2-bit conditional register."""
     shots = 100
     circuits = ref_conditionals.conditional_circuits_2bit(
         final_measure=True)
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_conditionals.conditional_counts_2bit(shots)
     job = QasmSimulator().run(qobj, backend_options={"method": "ch"})
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0)
Ejemplo n.º 5
0
 def test_reset_deterministic(self):
     """Test CHSimulator reset with for circuits with deterministic counts"""
     # For statevector output we can combine deterministic and non-deterministic
     # count output circuits
     shots = 100
     circuits = ref_reset.reset_circuits_deterministic(final_measure=True)
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_reset.reset_counts_deterministic(shots)
     job = QasmSimulator().run(qobj, backend_options={"method": "ch"})
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0)
Ejemplo n.º 6
0
 def test_measure_deterministic_with_sampling(self):
     """Test CHSimulator measure with deterministic counts with sampling"""
     shots = 100
     circuits = ref_measure.measure_circuits_deterministic(allow_sampling=True)
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_measure.measure_counts_deterministic(shots)
     job = QasmSimulator().run(qobj,
                               backend_options={
                                   "method": "ch",
                                   "disable_measurement_opt":False
                               })
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0)
Ejemplo n.º 7
0
 def test_sdg_gate_nondeterministic_default_basis_gates(self):
     shots = 2000
     """Test sdg-gate circuits compiling to backend default basis_gates."""
     circuits = ref_1q_clifford.sdg_gate_circuits_nondeterministic(final_measure=True)
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_1q_clifford.sdg_gate_counts_nondeterministic(shots)
     job = QasmSimulator().run(qobj,
                               backend_options={
                                   "method": "ch",
                                   "disable_measurement_opt":False
                               })
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0.05 * shots)
 def test_swap_gate_deterministic_default_basis_gates(self):
     """Test swap-gate circuits compiling to backend default basis_gates."""
     shots = 100
     circuits = ref_2q_clifford.swap_gate_circuits_deterministic(final_measure=True)
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_2q_clifford.swap_gate_counts_deterministic(shots)
     job = QasmSimulator().run(qobj,
                               backend_options={
                                   "method": "extended_stabilizer",
                                   "disable_measurement_opt": False
                               })
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0)
 def test_conditional_1bit(self):
     """Test conditional operations on 1-bit conditional register."""
     shots = 100
     circuits = ref_conditionals.conditional_circuits_1bit(final_measure=True)
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_conditionals.conditional_counts_1bit(shots)
     job = QasmSimulator().run(qobj,
                               backend_options={
                                   "method": "extended_stabilizer",
                                   "disable_measurement_opt": False
                               })
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0)
 def test_grovers_default_basis_gates(self):
     """Test grovers circuits compiling to backend default basis_gates."""
     shots = 2000
     circuits = ref_algorithms.grovers_circuit(final_measure=True,
                                               allow_sampling=True)
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_algorithms.grovers_counts(shots)
     job = QasmSimulator().run(qobj,
                               backend_options={
                                   "method": "extended_stabilizer",
                                   "extended_stabilizer_mixing_time": 100,
                               })
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0.05 * shots)
Ejemplo n.º 11
0
 def test_ccx_gate_nondeterministic_default_basis_gates(self):
     """Test ccx-gate circuits compiling to backend default basis_gates."""
     shots = 500
     circuits = ref_non_clifford.ccx_gate_circuits_nondeterministic(final_measure=True)
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_non_clifford.ccx_gate_counts_nondeterministic(shots)
     job = QasmSimulator().run(qobj,
                               backend_options={
                                   "method": "ch",
                                   "ch_mixing_time": 100,
                                   "disable_measurement_opt": True
                               })
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0.10 * shots)
Ejemplo n.º 12
0
 def test_tdg_gate_nondeterministic_default_basis_gates(self):
     """Test tdg-gate circuits compiling to backend default basis_gates."""
     shots = 2000
     circuits = ref_non_clifford.tdg_gate_circuits_nondeterministic(
         final_measure=True)
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_non_clifford.tdg_gate_counts_nondeterministic(shots)
     job = QasmSimulator().run(qobj,
                               backend_options={
                                   'method': 'ch',
                                   'disable_measurement_opt': True,
                                   'ch_mixing_time': 50
                               })
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0.05 * shots)
 def test_reset_nondeterministic(self):
     """Test ExtendedStabilizer reset with for circuits with non-deterministic counts"""
     # For statevector output we can combine deterministic and non-deterministic
     # count output circuits
     shots = 2000
     circuits = ref_reset.reset_circuits_nondeterministic(final_measure=True)
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_reset.reset_counts_nondeterministic(shots)
     job = QasmSimulator().run(qobj,
                               backend_options={
                                   "method": "extended_stabilizer",
                                   "disable_measurement_opt": False
                               })
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0.05 * shots)