quri_parts.circuit.topology.square_lattice module#
- class SquareLattice(xsize, ysize, qubit_to_coord=None)#
 Bases:
objectRepresents qubits connected in a rectangular lattice with no missing pieces, and searches for the shortest path between any two qubits.
- Parameters:
 xsize (int) – Size of lattice in x direction.
ysize (int) – Size of lattice in y direction.
coord_to_qubit – Mapping from coordinates to qubit indices. If omitted, it is automatically assigned from the origin with x changing first.
qubit_to_coord (Optional[QubitToCoordMap]) –
- get_qubit(coord)#
 Returns qubit index corresponding to the given coordinate.
- Parameters:
 coord (circuit.topology.square_lattice.Coordinate) –
- Return type:
 int
- get_coord(qubit)#
 Returns coordinate corresponding to the given qubit index.
- Parameters:
 qubit (int) –
- Return type:
 circuit.topology.square_lattice.Coordinate
- is_adjacent(qubit_a, qubit_b)#
 Check if the given qubits are directory connected to each other on the lattice.
- Parameters:
 qubit_a (int) –
qubit_b (int) –
- Return type:
 bool
- qubit_path(qubit_a, qubit_b)#
 Returns sequence of qubits on the shortest path between the coordinates of two qubits.
- Parameters:
 qubit_a (int) – Qubit index at the starting point.
qubit_b (int) – Qubit index at the end point.
- Return type:
 Sequence[int]
- class SquareLatticeSWAPInsertionTranspiler(square_lattice)#
 Bases:
GateDecomposerWhen the connection of qubits is expressed in
SquareLattice, insert SWAPs as appropriate before and after for gates applied between two qubits that are not connected to each other.- Parameters:
 square_lattice (SquareLattice) –
- is_target_gate(gate)#
 Determine if a given gate is subject to decomposition.
- Parameters:
 gate (QuantumGate) – Gates in the circuit that are scanned from the front.
- Return type:
 bool
- decompose(gate)#
 Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.
- Parameters:
 gate (QuantumGate) – The gates to be decomposed.
- Return type:
 Sequence[QuantumGate]