Exemplo n.º 1
0
 def test_h_gate_nondeterministic_waltz_basis_gates(self):
     """Test h-gate gate circuits compiling to u1,u2,u3,cx"""
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(final_measure=False)
     targets = ref_1q_clifford.h_gate_statevector_nondeterministic()
     job = execute(circuits, StatevectorSimulator(), shots=1, basis_gates=['u1', 'u2', 'u3', 'cx'])
     result = job.result()
     self.is_completed(result)
     self.compare_statevector(result, circuits, targets)
 def test_h_gate_nondeterministic_minimal_basis_gates(self):
     """Test h-gate gate circuits compiling to u3,cx"""
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(final_measure=False)
     targets = ref_1q_clifford.h_gate_unitary_nondeterministic()
     job = execute(circuits, UnitarySimulator(), shots=1, basis_gates=['u3', 'cx'])
     result = job.result()
     self.is_completed(result)
     self.compare_unitary(result, circuits, targets)
Exemplo n.º 3
0
 def test_h_gate_nondeterministic_default_basis_gates(self):
     """Test h-gate circuits compiling to backend default basis_gates."""
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(final_measure=False)
     targets = ref_1q_clifford.h_gate_statevector_nondeterministic()
     job = execute(circuits, StatevectorSimulator(), shots=1)
     result = job.result()
     self.is_completed(result)
     self.compare_statevector(result, circuits, targets)
 def test_h_gate_nondeterministic_default_basis_gates(self):
     """Test h-gate circuits compiling to backend default basis_gates."""
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(final_measure=False)
     targets = ref_1q_clifford.h_gate_unitary_nondeterministic()
     job = execute(circuits, UnitarySimulator(), shots=1)
     result = job.result()
     self.assertTrue(getattr(result, 'success', False))
     self.compare_unitary(result, circuits, targets)
Exemplo n.º 5
0
 def test_h_gate_nondeterministic_minimal_basis_gates(self):
     """Test h-gate gate circuits compiling to u3,cx"""
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(final_measure=False)
     targets = ref_1q_clifford.h_gate_statevector_nondeterministic()
     job = execute(circuits, StatevectorSimulator(), shots=1, basis_gates=['u3', 'cx'])
     result = job.result()
     self.assertTrue(getattr(result, 'success', False))
     self.compare_statevector(result, circuits, targets)
Exemplo n.º 6
0
 def test_h_gate_nondeterministic_default_basis_gates(self):
     """Test h-gate circuits compiling to backend default basis_gates."""
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(
         final_measure=False)
     targets = ref_1q_clifford.h_gate_unitary_nondeterministic()
     job = execute(circuits, self.SIMULATOR, shots=1, **self.BACKEND_OPTS)
     result = job.result()
     self.assertSuccess(result)
     self.compare_unitary(result, circuits, targets)
Exemplo n.º 7
0
 def test_h_gate_nondeterministic_default_basis_gates(self):
     """Test h-gate circuits compiling to backend default basis_gates."""
     shots = 2000
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(
         final_measure=True)
     targets = ref_1q_clifford.h_gate_counts_nondeterministic(shots)
     job = execute(circuits, self.SIMULATOR, shots=shots)
     result = job.result()
     self.is_completed(result)
     self.compare_counts(result, circuits, targets, delta=0.05 * shots)
Exemplo n.º 8
0
 def test_h_gate_nondeterministic_default_basis_gates(self):
     """Test h-gate circuits compiling to backend default basis_gates."""
     shots = 2000
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(
         final_measure=True)
     targets = ref_1q_clifford.h_gate_counts_nondeterministic(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.05 * shots)
Exemplo n.º 9
0
 def test_h_gate_nondeterministic_minimal_basis_gates(self):
     """Test h-gate gate circuits compiling to u3,cx"""
     shots = 4000
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(
         final_measure=True)
     targets = ref_1q_clifford.h_gate_counts_nondeterministic(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.05 * shots)
Exemplo n.º 10
0
 def test_h_gate_nondeterministic_default_basis_gates(self):
     """Test h-gate circuits compiling to backend default basis_gates."""
     shots = 4000
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(
         final_measure=True)
     qobj = assemble(circuits, QasmSimulator(), shots=shots)
     targets = ref_1q_clifford.h_gate_counts_nondeterministic(shots)
     job = QasmSimulator().run(qobj, **self.BACKEND_OPTS_SAMPLING)
     result = job.result()
     self.assertSuccess(result)
     self.compare_counts(result, circuits, targets, delta=0.05 * shots)
Exemplo n.º 11
0
 def test_h_gate_nondeterministic(self, method, device):
     """Test h-gate circuits"""
     backend = self.backend(
         method=method, device=device, seed_simulator=self.SEED)
     shots = 4000
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(
         final_measure=True)
     targets = ref_1q_clifford.h_gate_counts_nondeterministic(shots)
     job = backend.run(circuits, shots=shots)
     result = job.result()
     self.assertSuccess(result)
     self.compare_counts(result, circuits, targets, delta=0.05 * shots)
Exemplo n.º 12
0
 def test_h_gate_nondeterministic_waltz_basis_gates(self):
     """Test h-gate gate circuits compiling to u1,u2,u3,cx"""
     shots = 2000
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(
         final_measure=True)
     targets = ref_1q_clifford.h_gate_counts_nondeterministic(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.05 * shots)
Exemplo n.º 13
0
 def test_h_gate_nondeterministic(self):
     """Test h-gate circuits"""
     shots = 4000
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(
         final_measure=True)
     targets = ref_1q_clifford.h_gate_counts_nondeterministic(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.05 * shots)
Exemplo n.º 14
0
 def test_h_gate_nondeterministic_waltz_basis_gates(self):
     """Test h-gate gate circuits compiling to u1,u2,u3,cx"""
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(
         final_measure=False)
     targets = ref_1q_clifford.h_gate_unitary_nondeterministic()
     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)
Exemplo n.º 15
0
 def test_h_gate_nondeterministic_minimal_basis_gates(self):
     """Test h-gate gate circuits compiling to u3,cx"""
     shots = 4000
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(
         final_measure=True)
     targets = ref_1q_clifford.h_gate_counts_nondeterministic(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.05 * shots)
 def test_qobj_global_phase(self, device):
     """Test qobj global phase."""
     backend = self.backend(device=device)
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(
         final_measure=False)
     targets = ref_1q_clifford.h_gate_statevector_nondeterministic()
     for iter, circuit in enumerate(circuits):
         global_phase = (-1)**iter * (pi / 4)
         circuit.global_phase += global_phase
         targets[iter] = exp(1j * global_phase) * targets[iter]
     circuits = transpile(circuits, backend, optimization_level=1)
     result = backend.run(circuits, shots=1).result()
     self.assertSuccess(result)
     self.compare_statevector(result, circuits, targets, ignore_phase=False)
 def test_h_gate_nondeterministic_default_basis_gates(self):
     """Test h-gate circuits compiling to backend default basis_gates."""
     shots = 2000
     circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(final_measure=True)
     qobj = qiskit_compile(circuits, QasmSimulator(), shots=shots)
     targets = ref_1q_clifford.h_gate_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)
Exemplo n.º 18
0
    def test_qobj_global_phase(self):
        """Test qobj global phase."""

        circuits = ref_1q_clifford.h_gate_circuits_nondeterministic(
            final_measure=False)
        targets = ref_1q_clifford.h_gate_unitary_nondeterministic()

        qobj = assemble(transpile(circuits, self.SIMULATOR),
                        shots=1, **self.BACKEND_OPTS)
        # Set global phases
        for i, _ in enumerate(circuits):
            global_phase = (-1) ** i * (pi / 4)
            qobj.experiments[i].header.global_phase = global_phase
            targets[i] = exp(1j * global_phase) * targets[i]
        result = self.SIMULATOR.run(qobj).result()
        self.assertSuccess(result)
        self.compare_unitary(result, circuits, targets, ignore_phase=False)