surface_sim.layouts.rot_surface_stability_rectangle#

rot_surface_stability_rectangle(stab_type, width, height, observable='O0', init_point=(1, 1), init_data_qubit_id=1, init_zanc_qubit_id=1, init_xanc_qubit_id=1, init_ind=0, interaction_order={'x_type': ['north_west', 'south_west', 'north_east', 'south_east'], 'z_type': ['north_west', 'north_east', 'south_west', 'south_east']})[source]#

Generates a rotated surface layout for stability experiments.

Parameters:
stab_type

Type of the stabilizer that lead to the identity when multiplying all stabilizers of that type. It must be "x_type" or "z_type".

width

Width of the rotated_surface code layout in terms of the number of data qubit along the horizontal dimension.

height

Heigh of the rotated_surface code layout in terms of the number of data qubit along the vertical dimension.

observable

Label for the observable, by default "L0".

init_point

Coordinates for the bottom left (i.e. southest west) data qubit. By default (1, 1).

init_data_qubit_id

Index for the bottom left (i.e. southest west) data qubit. By default 1, so the label is "D1".

init_zanc_qubit_id

Index for the bottom left (i.e. southest west) Z-type ancilla qubit. By default 1, so the label is "Z1".

init_xanc_qubit_id

Index for the bottom left (i.e. southest west) X-type ancilla qubit. By default 1, so the label is "X1".

init_ind

Minimum index that is going to be associated to a qubit.

interaction_order

Dictionary specifying the interaction order for the x_type and z_type stabilizers. The possible interaction directions are: "north_east", "north_west", "south_east", and "south_west".

Returns:
Layout

The layout.