Exemplo n.º 1
0
    def test_2q_local_invariance_simple(self):
        """Check the local invariance parameters
        for known simple cases.
        """
        sim = UnitarySimulatorPy()

        qr = QuantumRegister(2, name='q')
        qc = QuantumCircuit(qr)
        U = execute(qc, sim).result().get_unitary()
        vec = two_qubit_local_invariants(U)
        assert_allclose(vec, [1, 0, 3])

        qr = QuantumRegister(2, name='q')
        qc = QuantumCircuit(qr)
        qc.cx(qr[1], qr[0])
        U = execute(qc, sim).result().get_unitary()
        vec = two_qubit_local_invariants(U)
        assert_allclose(vec, [0, 0, 1])

        qr = QuantumRegister(2, name='q')
        qc = QuantumCircuit(qr)
        qc.cx(qr[1], qr[0])
        qc.cx(qr[0], qr[1])
        U = execute(qc, sim).result().get_unitary()
        vec = two_qubit_local_invariants(U)
        assert_allclose(vec, [0, 0, -1])

        qr = QuantumRegister(2, name='q')
        qc = QuantumCircuit(qr)
        qc.swap(qr[1], qr[0])
        U = execute(qc, sim).result().get_unitary()
        vec = two_qubit_local_invariants(U)
        assert_allclose(vec, [-1, 0, -3])
Exemplo n.º 2
0
 def test_circuit_on_fake_backend(self, backend, optimization_level):
     if not HAS_AER and backend.configuration().num_qubits > 20:
         self.skipTest('Unable to run fake_backend %s without qiskit-aer' %
                       backend.configuration().backend_name)
     job = execute(self.circuit,
                   backend,
                   optimization_level=optimization_level,
                   seed_simulator=42,
                   seed_transpiler=42)
     result = job.result()
     counts = result.get_counts()
     max_count = max(counts.items(), key=operator.itemgetter(1))[0]
     self.assertEqual(max_count, '11')
Exemplo n.º 3
0
 def test_circuit_on_fake_legacy_backend(self, backend, optimization_level):
     if not optionals.HAS_AER and backend.configuration().num_qubits > 20:
         self.skipTest("Unable to run fake_backend %s without qiskit-aer" %
                       backend.configuration().backend_name)
     with self.assertWarns(DeprecationWarning):
         job = execute(
             self.circuit,
             backend,
             optimization_level=optimization_level,
             seed_simulator=42,
             seed_transpiler=42,
         )
         result = job.result()
     counts = result.get_counts()
     max_count = max(counts.items(), key=operator.itemgetter(1))[0]
     self.assertEqual(max_count, "11")