Shortcuts

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.

get_edges()

Gets the list of edges in the coupling graph.

is_connected()

Test if the graph is connected.

largest_connected_component()

Return a set of qubits in the largest connected component.

make_symmetric()

Convert uni-directional edges into bi-directional.

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

is_symmetric

Test if the graph is symmetric.

physical_qubits

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)

is_connected()[ソース]

Test if the graph is connected.

Return True if connected, False otherwise

property is_symmetric

Test if the graph is symmetric.

Return True if symmetric, False otherwise

largest_connected_component()[ソース]

Return a set of qubits in the largest connected component.

make_symmetric()[ソース]

Convert uni-directional edges into bi-directional.

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.

戻り値の型

CouplingMap

例外

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.

size()[ソース]

Return the number of physical qubits in this graph.

subgraph(nodelist)[ソース]

Return a CouplingMap object for a subgraph of self.

nodelist (list): list of integer node labels

表示 lang: Japanese
言語
English
Japanese
German
Korean