mapomatic
mapomatic copied to clipboard
score for default Qiskit transpiler mapping
Hi, the mm.evaluate_layouts(..) returns your scores for all mapping you found. I'd like to see your score for the the layout which Qiskit would give me, using generate_preset_pass_manager() This layout was selected: [30, 29, 28, 36, 31].
The attached code gives me [] - no score at all. Can you help me to make it work? Thanks Jan
This is my software stack
qiskit 1.2.2
qiskit-aer 0.15.1
qiskit-algorithms 0.3.0
qiskit-ibm-experiment 0.4.8
qiskit-ibm-runtime 0.29.0
qiskit-ionq 0.5.6
qiskit-machine-learning 0.7.2
Here is the code
import numpy as np
from qiskit import *
from qiskit_aer import AerSimulator
import mapomatic as mm
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
qc = QuantumCircuit(5)
qc.h(0)
qc.cx(0,1)
qc.cx(0,2)
qc.cx(0,3)
qc.cx(0,4)
qc.measure_all()
print(qc)
service = QiskitRuntimeService()
noisy_backend = service.backend('ibm_torino')
backend = AerSimulator.from_backend(noisy_backend)
print('\n 1st pass, to convert circuit to naitive gates for ',backend.name)
pm = generate_preset_pass_manager(optimization_level=3, backend=backend)
qcT1 = pm.run(qc)
print(qcT1.draw('text', idle_wires=False))
layout0 = qcT1._layout.final_index_layout(filter_ancillas=True)
print(' initial phys layout:%s'%(layout0))
# remove idle qubits
qcT2 = mm.deflate_circuit(qcT1)
score0 = mm.evaluate_layouts(qc, [layout0], backend)
print('score0:',score0)