class topqad_sdk.noiseprofiler.libprotocols.lattice_surgery.ModelLatticeSurgery(*, distance: int, bus_width: int, rounds: tuple[int, int, int], merge_observable: tuple[str, str], preparation_basis: tuple[str, str], measurement_basis: tuple[str, str], logical_observable: tuple[str, ...])[source]

A model for the Lattice Surgery protocol.

distance

Distance of codes used for the two logical qubits.

Type:

int

bus_width

Number of rows/columns of data qubits added in the routing space.

Type:

int

rounds

Number of rounds of the pre-merge, merge, and split phases.

Type:

tuple[int, int, int]

merge_observable

Joint observable being measured.

Type:

tuple[str, str]

preparation_basis

Logical qubits’ initialization basis.

Type:

tuple[str, str]

measurement_basis

Logical qubits’ measurement basis.

Type:

tuple[str, str]

logical_observable

The observable used to validate the simulation.

Type:

tuple[str, …]

class topqad_sdk.noiseprofiler.libprotocols.magic_state_preparation_hook_injection.ModelMagicStatePreparationHookInjection(*, d_1: int, d_2: int, r_2: int, inject_state: str)[source]

A model for the Magic State Preparation using Hook Injection protocol.

d_1

The distance of the injection patch created in stage I. Must be odd.

Type:

int

d_2

The distance of the target patch created during state II. Must be odd and larger than d_1.

Type:

int

r_2

The number of rounds during stage II.

Type:

int

inject_state

The injected state, currently only ‘X’ is supported.

Type:

str

class topqad_sdk.noiseprofiler.libprotocols.magic_state_preparation_rep_code.ModelMagicStatePreparationRepCode(*, distances: list[int], rounds: list[int], inject_state: str)[source]

A model for the Magic State Preparation using Repetition Code protocol.

distances

List of two distances with the smaller value listed first. Each must be an odd integer greater than or equal to 3.

Type:

list[int]

rounds

List of two rounds. Each must be an integer greater than or equal to 1.

Type:

list[int]

inject_state

The injected state, either ‘X’ or ‘Y’.

Type:

str

class topqad_sdk.noiseprofiler.libprotocols.memory.ModelMemory(*, distance: int, rounds: int, basis: str)[source]

A model for the Memory protocol.

distance

Distance of code. Must be odd.

Type:

int

rounds

Number of rounds.

Type:

int

basis

The memory basis. Defaults to ‘Z’.

Type:

str, optional

class topqad_sdk.noiseprofiler.libprotocols.stability.ModelStability(*, rounds: int, diameter: int | tuple[int, int])[source]

A model for the Stability protocol.

rounds

Number of rounds. Must be an integer greater than or equal to 1.

Type:

int

diameter

Spatial distance of code. Must be even. Can separately specify (d_x, d_z).

Type:

int | tuple[int, int]