# Coupling maps in quantum computation

Perhaps a bit naive question from my side, but I could not find any satisfactory answer elsewhere:

What exactly are the coupling maps in quantum computation and, more particularly, how do those maps translate to CouplingMap objects in qiskit?

Intuitively, I do get that it is a way to express a connections between the qubits, but are then those physical connections between the physical qubits or something else? Any explanation here would be welcome. If it helps in any way, for instance, the figure below is often used to illustrate coupling map for a particular qiskit hardware setup, which I unfortunately cannot read at this point:

You can think of the qubits as nodes on a graph, and their connections as edges. Then the coupling map is just the adjacency matrix, specifying how the nodes (qubits) are connected.

For example, if you have the following device of 5 qubits with the following qubit layout:

Then its coupling map is: $$[[0, 1], [1, 0], [1, 2], [2, 1], [2, 3], [3, 2], [3, 4], [4, 3]]$$

• $$[0, 1], [1, 0]$$ indicate that $$0$$ and $$1$$ are connected.
• $$[1, 2], [2, 1]$$ indicate $$1$$ and $$2$$ are connected.

and so on. Note that you don't see $$[0,2],[2,0]$$ since $$0$$ and $$2$$ are not connected in the graph above.

• One question here - let's say that I have a 3-qubit circuit, and I need to use hardware with a 5-qubit layout from your example. Do I still need to specify a coupling map with all 5 qubits, or can I just select some 3 qubits from the map? If this is possible, what guides my decision - trajectory over which the error is the least, or something else? Nov 24, 2021 at 20:20
• Do you need to specify both [0,1] and [1,0]? What would be the difference if you only added [0,1]? Feb 24 at 15:20