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])
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')
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")