qiskit.transpiler.CouplingMap¶

class
CouplingMap
(couplinglist=None, description=None)[소스]¶ Directed graph specifying fixed coupling.
Nodes correspond to physical qubits (integers) and directed edges correspond to permitted CNOT gates
Create coupling graph. By default, the generated coupling has no nodes.
 매개변수
couplinglist (list or None) – An initial coupling graph, specified as an adjacency list containing couplings, e.g. [[0,1], [0,2], [1,2]].
description (str) – A string to describe the coupling map.

__init__
(couplinglist=None, description=None)[소스]¶ Create coupling graph. By default, the generated coupling has no nodes.
 매개변수
couplinglist (list or None) – An initial coupling graph, specified as an adjacency list containing couplings, e.g. [[0,1], [0,2], [1,2]].
description (str) – A string to describe the coupling map.
Methods
__init__
([couplinglist, description])Create coupling graph.
add_edge
(src, dst)Add directed edge to coupling graph.
add_physical_qubit
(physical_qubit)Add a physical qubit to the coupling graph as a node.
distance
(physical_qubit1, physical_qubit2)Returns the undirected distance between physical_qubit1 and physical_qubit2.
draw
()Draws the coupling map.
from_full
(num_qubits[, bidirectional])Return a fully connected coupling map on n qubits.
from_grid
(num_rows, num_columns[, bidirectional])Return qubits connected on a grid of num_rows x num_columns.
from_line
(num_qubits[, bidirectional])Return a fully connected coupling map on n qubits.
from_ring
(num_qubits[, bidirectional])Return a fully connected coupling map on n qubits.
Gets the list of edges in the coupling graph.
Test if the graph is connected.
Return a set of qubits in the largest connected component.
Convert unidirectional edges into bidirectional.
neighbors
(physical_qubit)Return the nearest neighbors of a physical qubit.
reduce
(mapping)Returns a reduced coupling map that corresponds to the subgraph of qubits selected in the mapping.
shortest_undirected_path
(physical_qubit1, …)Returns the shortest undirected path between physical_qubit1 and physical_qubit2.
size
()Return the number of physical qubits in this graph.
subgraph
(nodelist)Return a CouplingMap object for a subgraph of self.
Attributes
Test if the graph is symmetric.
Returns a sorted list of physical_qubits

add_edge
(src, dst)[소스]¶ Add directed edge to coupling graph.
src (int): source physical qubit dst (int): destination physical qubit

add_physical_qubit
(physical_qubit)[소스]¶ Add a physical qubit to the coupling graph as a node.
physical_qubit (int): An integer representing a physical qubit.
 예외
CouplingError – if trying to add duplicate qubit

distance
(physical_qubit1, physical_qubit2)[소스]¶ Returns the undirected distance between physical_qubit1 and physical_qubit2.
 매개변수
physical_qubit1 (int) – A physical qubit
physical_qubit2 (int) – Another physical qubit
 반환값
The undirected distance
 반환 형식
int
 예외
CouplingError – if the qubits do not exist in the CouplingMap

draw
()[소스]¶ Draws the coupling map.
This function needs pydot, which in turn needs Graphviz to be installed. Additionally, pillow will need to be installed.
 반환값
Drawn coupling map.
 반환 형식
PIL.Image
 예외
ImportError – when pydot or pillow are not installed.

classmethod
from_full
(num_qubits, bidirectional=True)[소스]¶ Return a fully connected coupling map on n qubits.

classmethod
from_grid
(num_rows, num_columns, bidirectional=True)[소스]¶ Return qubits connected on a grid of num_rows x num_columns.

classmethod
from_line
(num_qubits, bidirectional=True)[소스]¶ Return a fully connected coupling map on n qubits.

classmethod
from_ring
(num_qubits, bidirectional=True)[소스]¶ Return a fully connected coupling map on n qubits.

get_edges
()[소스]¶ Gets the list of edges in the coupling graph.
 반환값
Each edge is a pair of physical qubits.
 반환 형식
Tuple(int,int)

property
is_symmetric
¶ Test if the graph is symmetric.
Return True if symmetric, False otherwise

neighbors
(physical_qubit)[소스]¶ Return the nearest neighbors of a physical qubit.
Directionality matters, i.e. a neighbor must be reachable by going one hop in the direction of an edge.

property
physical_qubits
¶ Returns a sorted list of physical_qubits

reduce
(mapping)[소스]¶ Returns a reduced coupling map that corresponds to the subgraph of qubits selected in the mapping.
 매개변수
mapping (list) – A mapping of reduced qubits to device qubits.
 반환값
A reduced coupling_map for the selected qubits.
 반환 형식
 예외
CouplingError – Reduced coupling map must be connected.

shortest_undirected_path
(physical_qubit1, physical_qubit2)[소스]¶ Returns the shortest undirected path between physical_qubit1 and physical_qubit2.
 매개변수
physical_qubit1 (int) – A physical qubit
physical_qubit2 (int) – Another physical qubit
 반환값
The shortest undirected path
 반환 형식
List
 예외
CouplingError – When there is no path between physical_qubit1, physical_qubit2.