I am testing different fake providers provided qiskit and trying to find a custom mapping/transpilation that may perform better than the default transpilation.
Example, here is circuit:
from qiskit.providers.fake_provider import FakeGuadalupeV2
import qiskit_aer.noise as noise
import pennylane as qml
noisemodel=noise.NoiseModel.from_backend(FakeGuadalupeV2())
m=4
dev=qml.device("qiskit.aer",wires=m,backend="aer_simulator_statevector",noise_model =noisemodel,shots=10)
@qml.qnode(dev)
def circuit(inputs,weights):
for i in range(m):
qml.RY(inputs[i],wires=i)
for i in range(m):
qml.RZ(inputs[m+i],wires=i)
for i in range(m):
qml.RX(inputs[2*m+i],wires=i)
for i in range(m):
qml.RY(inputs[3*m+i],wires=i)
qml.BasicEntanglerLayers(weights, wires=range(m))
return [qml.expval(qml.PauliZ(i)) for i in range(m)]
Now, I want to know that when ever I use this circuit, which qubits in my designed circuit will be mapped to which of the qubit in the system FakeGuadalupeV2. And also the final decomposed circuit, as no device have all quantum gates and they are applied using some combination of available gates on the system.