def test_cx_gate_deterministic_default_basis_gates(self):
     """Test cx-gate circuits compiling to backend default basis_gates."""
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(final_measure=False)
     targets = ref_2q_clifford.cx_gate_unitary_deterministic()
     job = execute(circuits, UnitarySimulator(), shots=1)
     result = job.result()
     self.is_completed(result)
     self.compare_unitary(result, circuits, targets)
 def test_cx_gate_deterministic_waltz_basis_gates(self):
     """Test cx-gate gate circuits compiling to u1,u2,u3,cx"""
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(final_measure=False)
     targets = ref_2q_clifford.cx_gate_unitary_deterministic()
     job = execute(circuits, UnitarySimulator(), shots=1, basis_gates=['u1', 'u2', 'u3', 'cx'])
     result = job.result()
     self.is_completed(result)
     self.compare_unitary(result, circuits, targets)
Пример #3
0
 def test_cx_gate_deterministic_minimal_basis_gates(self):
     """Test cx-gate gate circuits compiling to u3,cx"""
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(final_measure=False)
     targets = ref_2q_clifford.cx_gate_statevector_deterministic()
     job = execute(circuits, StatevectorSimulator(), shots=1, basis_gates=['u3', 'cx'])
     result = job.result()
     self.is_completed(result)
     self.compare_statevector(result, circuits, targets)
 def test_cx_gate_deterministic_minimal_basis_gates(self):
     """Test cx-gate gate circuits compiling to u3,cx"""
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(final_measure=False)
     targets = ref_2q_clifford.cx_gate_unitary_deterministic()
     job = execute(circuits, UnitarySimulator(), shots=1, basis_gates=['u3', 'cx'])
     result = job.result()
     self.assertTrue(getattr(result, 'success', False))
     self.compare_unitary(result, circuits, targets)
Пример #5
0
 def test_cx_gate_deterministic_default_basis_gates(self):
     """Test cx-gate circuits compiling to backend default basis_gates."""
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(final_measure=False)
     targets = ref_2q_clifford.cx_gate_statevector_deterministic()
     job = execute(circuits, StatevectorSimulator(), shots=1)
     result = job.result()
     self.assertTrue(getattr(result, 'success', False))
     self.compare_statevector(result, circuits, targets)
Пример #6
0
 def test_cx_gate_deterministic_default_basis_gates(self):
     """Test cx-gate circuits compiling to backend default basis_gates."""
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(
         final_measure=False)
     targets = ref_2q_clifford.cx_gate_unitary_deterministic()
     job = execute(circuits, self.SIMULATOR, shots=1, **self.BACKEND_OPTS)
     result = job.result()
     self.assertSuccess(result)
     self.compare_unitary(result, circuits, targets)
Пример #7
0
 def test_cx_gate_deterministic_default_basis_gates(self):
     """Test cx-gate circuits compiling to backend default basis_gates."""
     shots = 100
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(
         final_measure=True)
     targets = ref_2q_clifford.cx_gate_counts_deterministic(shots)
     job = execute(circuits, self.SIMULATOR, shots=shots)
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0)
Пример #8
0
 def test_cx_gate_deterministic_default_basis_gates(self):
     """Test cx-gate circuits compiling to backend default basis_gates."""
     shots = 100
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(
         final_measure=True)
     targets = ref_2q_clifford.cx_gate_counts_deterministic(shots)
     qobj = compile(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)
 def test_cx_gate_deterministic(self, method, device):
     """Test cx-gate circuits"""
     backend = self.backend(
         method=method, device=device, seed_simulator=self.SEED)
     shots = 100
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(
         final_measure=True)
     targets = ref_2q_clifford.cx_gate_counts_deterministic(shots)
     result = backend.run(circuits, shots=shots).result()
     self.assertSuccess(result)
     self.compare_counts(result, circuits, targets, delta=0)
Пример #10
0
 def test_cx_gate_deterministic_default_basis_gates(self):
     """Test cx-gate circuits compiling to backend default basis_gates."""
     shots = 100
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(
         final_measure=True)
     qobj = assemble(circuits, QasmSimulator(), shots=shots)
     targets = ref_2q_clifford.cx_gate_counts_deterministic(shots)
     job = QasmSimulator().run(qobj, **self.BACKEND_OPTS_SAMPLING)
     result = job.result()
     self.assertSuccess(result)
     self.compare_counts(result, circuits, targets, delta=0)
Пример #11
0
 def test_cx_gate_deterministic_minimal_basis_gates(self):
     """Test cx-gate gate circuits compiling to u3,cx"""
     shots = 100
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(
         final_measure=True)
     targets = ref_2q_clifford.cx_gate_counts_deterministic(shots)
     job = execute(
         circuits, self.SIMULATOR, shots=shots, basis_gates=['u3', 'cx'])
     result = job.result()
     self.assertTrue(getattr(result, 'success', False))
     self.compare_counts(result, circuits, targets, delta=0)
Пример #12
0
 def test_cx_gate_deterministic_waltz_basis_gates(self):
     shots = 100
     """Test cx-gate gate circuits compiling to u1,u2,u3,cx"""
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(
         final_measure=True)
     targets = ref_2q_clifford.cx_gate_counts_deterministic(shots)
     job = execute(circuits,
                   self.SIMULATOR,
                   shots=shots,
                   basis_gates=['u1', 'u2', 'u3', 'cx'])
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0)
Пример #13
0
 def test_cx_gate_deterministic(self):
     """Test cx-gate circuits"""
     shots = 100
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(
         final_measure=True)
     targets = ref_2q_clifford.cx_gate_counts_deterministic(shots)
     job = execute(circuits,
                   self.SIMULATOR,
                   shots=shots,
                   **self.BACKEND_OPTS)
     result = job.result()
     self.assertSuccess(result)
     self.compare_counts(result, circuits, targets, delta=0)
Пример #14
0
 def test_cx_gate_deterministic_waltz_basis_gates(self):
     """Test cx-gate gate circuits compiling to u1,u2,u3,cx"""
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(
         final_measure=False)
     targets = ref_2q_clifford.cx_gate_unitary_deterministic()
     job = execute(circuits,
                   self.SIMULATOR,
                   shots=1,
                   basis_gates=['u1', 'u2', 'u3', 'cx'],
                   **self.BACKEND_OPTS)
     result = job.result()
     self.assertSuccess(result)
     self.compare_unitary(result, circuits, targets)
Пример #15
0
 def test_cx_gate_deterministic_minimal_basis_gates(self):
     """Test cx-gate gate circuits compiling to u3,cx"""
     shots = 100
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(
         final_measure=True)
     targets = ref_2q_clifford.cx_gate_counts_deterministic(shots)
     job = execute(circuits,
                   self.SIMULATOR,
                   shots=shots,
                   basis_gates=['u3', 'cx'],
                   backend_options=self.BACKEND_OPTS)
     result = job.result()
     self.assertSuccess(result)
     self.compare_counts(result, circuits, targets, delta=0)
Пример #16
0
 def test_cx_gate_deterministic_waltz_basis_gates(self):
     shots = 100
     """Test cx-gate gate circuits compiling to u1,u2,u3,cx"""
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(
         final_measure=True)
     targets = ref_2q_clifford.cx_gate_counts_deterministic(shots)
     qobj = compile(circuits,
                    self.SIMULATOR,
                    shots=shots,
                    basis_gates=['u1', 'u2', 'u3', 'cx'])
     result = self.SIMULATOR.run(
         qobj, backend_options=self.BACKEND_OPTS).result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0)
 def test_cx_gate_deterministic_default_basis_gates(self):
     """Test cx-gate circuits compiling to backend default basis_gates."""
     shots = 100
     circuits = ref_2q_clifford.cx_gate_circuits_deterministic(final_measure=True)
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_2q_clifford.cx_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)
Пример #18
0
    def test_clifford_no_fusion(self):
        """Test Fusion with clifford simulator"""
        shots = 100
        circuits = ref_2q_clifford.cx_gate_circuits_deterministic(
            final_measure=True)
        qobj = compile(circuits, self.SIMULATOR, shots=shots)
        result = self.SIMULATOR.run(qobj,
                                    backend_options={
                                        'fusion_verbose': True
                                    }).result()
        self.is_completed(result)

        self.assertTrue('results' in result.as_dict(),
                        msg="results must exist in result")
        self.assertTrue('metadata' in result.as_dict()['results'][0],
                        msg="metadata must exist in results[0]")
        self.assertTrue('fusion_verbose'
                        not in result.as_dict()['results'][0]['metadata'],
                        msg="fusion must not work for clifford")
Пример #19
0
    def test_clifford_no_fusion(self):
        """Test Fusion with clifford simulator"""
        shots = 100
        circuits = ref_2q_clifford.cx_gate_circuits_deterministic(
            final_measure=True)
        qobj = assemble(circuits, self.SIMULATOR, shots=shots)

        backend_options = self.BACKEND_OPTS.copy()
        backend_options['fusion_verbose'] = True
        backend_options['optimize_ideal_threshold'] = 1
        backend_options['optimize_noise_threshold'] = 1

        result = self.SIMULATOR.run(qobj,
                                    backend_options=backend_options).result()
        self.assertTrue(getattr(result, 'success', False))

        self.assertTrue('results' in result.to_dict(),
                        msg="results must exist in result")
        self.assertTrue('metadata' in result.to_dict()['results'][0],
                        msg="metadata must exist in results[0]")
        self.assertTrue('fusion_verbose'
                        not in result.to_dict()['results'][0]['metadata'],
                        msg="fusion must not work for clifford")