surface_sim.layouts.repetition_code#
- repetition_code(stab_type, distance, logical_qubit_label='L0', init_point=(1, 1), init_data_qubit_id=1, init_zanc_qubit_id=1, init_xanc_qubit_id=1, init_ind=0, init_logical_ind=0, interaction_order='shallow')[source]#
Generates a repetition code layout.
- Parameters:
- stab_type
Stabilizer type for the repetition code:
"x_type"or"z_type".- distance
The distance of the code.
- logical_qubit_label
Label for the logical qubit, by default
"L0".- init_point
Coordinates for the bottom left (i.e. southest west) data qubit. By default
1, so the label is"D1".- 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.
- init_logical_ind
Minimum index that is going to be associated to a logical qubit.
- interaction_order
There are two options for built-in interaction orders:
"shallow"and"surface_code". The"shallow"one corresponds to two two-qubit-gate layers, while the"surface_code"one corresponds to the same schedule as the surface code layout (mimic what it is usually done in experiments). One can always specify the interaction order in the same format as for the rotated surface code layouts. By default"shallow".
- Returns:
- Layout
The layout of the code.