Skip to content

bloqade.lanes.rewrite.move2squin.noise.NoiseModelABC

← Module overview

classNoiseModelABCsource

bloqade.lanes.rewrite.move2squin.noise.NoiseModelABC

Bases: abc.ABC

Abstract base class for noise models used during move-to-squin compilation.

class NoiseModelABC

This is the physical noise model interface. It defines noise kernels for physical operations (lane moves, CZ gates, idle periods, local/global rotations). Methods that return None indicate no noise is inserted for that operation.

For logical compilation that also needs initialization kernels, see LogicalNoiseModelABC.

methodget_cz_paired_noisesource

bloqade.lanes.rewrite.move2squin.noise.NoiseModelABC.get_cz_paired_noise

Signature
def get_cz_paired_noise(zone_address: ZoneAddress) -> ir.Method[[ilist.IList[qubit.Qubit, Len], ilist.IList[qubit.Qubit, Len]], None] | None

Return the noise kernel for paired qubits during a CZ gate, or None.

Parameters

NameTypeDescription
zone_addressZoneAddress

Returns

ir.Method[[ilist.IList[qubit.Qubit, Len], ilist.IList[qubit.Qubit, Len]], None] | None

source

methodget_global_rz_noisesource

bloqade.lanes.rewrite.move2squin.noise.NoiseModelABC.get_global_rz_noise

Signature
def get_global_rz_noise() -> ir.Method[[ilist.IList[qubit.Qubit, Any], float], None] | None

Return the noise kernel for global Rz rotations, or None.

Returns

ir.Method[[ilist.IList[qubit.Qubit, Any], float], None] | None

source

methodget_local_rz_noisesource

bloqade.lanes.rewrite.move2squin.noise.NoiseModelABC.get_local_rz_noise

Signature
def get_local_rz_noise(locations: Sequence[LocationAddress]) -> ir.Method[[ilist.IList[qubit.Qubit, Any], float], None] | None

Return the noise kernel for local Rz rotations, or None.

Parameters

NameTypeDescription
locationsSequence[LocationAddress]

Returns

ir.Method[[ilist.IList[qubit.Qubit, Any], float], None] | None

source

methodget_global_r_noisesource

bloqade.lanes.rewrite.move2squin.noise.NoiseModelABC.get_global_r_noise

Signature
def get_global_r_noise() -> ir.Method[[ilist.IList[qubit.Qubit, Any], float, float], None] | None

Return the noise kernel for global R rotations, or None.

Returns

ir.Method[[ilist.IList[qubit.Qubit, Any], float, float], None] | None

source

methodget_local_r_noisesource

bloqade.lanes.rewrite.move2squin.noise.NoiseModelABC.get_local_r_noise

Signature
def get_local_r_noise(locations: Sequence[LocationAddress]) -> ir.Method[[ilist.IList[qubit.Qubit, Any], float, float], None] | None

Return the noise kernel for local R rotations, or None.

Parameters

NameTypeDescription
locationsSequence[LocationAddress]

Returns

ir.Method[[ilist.IList[qubit.Qubit, Any], float, float], None] | None

source

methodget_logical_initializesource

bloqade.lanes.rewrite.move2squin.noise.NoiseModelABC.get_logical_initialize

Signature
def get_logical_initialize() -> tuple[ir.Method[[float, float, float, ilist.IList[qubit.Qubit, Any]], None] | None, ir.Method[[float, float, float, ilist.IList[qubit.Qubit, Any]], None] | None]

Return (clean_kernel, noisy_kernel) for logical initialization.

The clean kernel is used by InsertGates for the noiseless initialization. The noisy kernel, if not None, is invoked by InsertNoise after initialization to apply initialization noise.

Returns (None, None) by default, meaning no initialization is provided by the noise model.

Returns

tuple[ir.Method[[float, float, float, ilist.IList[qubit.Qubit, Any]], None] | None, ir.Method[[float, float, float, ilist.IList[qubit.Qubit, Any]], None] | None]

source

methodget_lane_noisesource

bloqade.lanes.rewrite.move2squin.noise.NoiseModelABC.get_lane_noise

def get_lane_noise(lane: LaneAddress) -> ir.Method[[qubit.Qubit], None]

Return the noise kernel applied to a qubit after a lane move.

Parameters

NameTypeDescription
laneLaneAddress

Returns

ir.Method[[qubit.Qubit], None]

source

methodget_bus_idle_noisesource

bloqade.lanes.rewrite.move2squin.noise.NoiseModelABC.get_bus_idle_noise

Signature
def get_bus_idle_noise(move_type: MoveType, bus_id: int) -> ir.Method[[ilist.IList[qubit.Qubit, Any]], None]

Return the noise kernel applied to stationary qubits during a move.

Parameters

NameTypeDescription
move_typeMoveType
bus_idint

Returns

ir.Method[[ilist.IList[qubit.Qubit, Any]], None]

source

methodget_cz_unpaired_noisesource

bloqade.lanes.rewrite.move2squin.noise.NoiseModelABC.get_cz_unpaired_noise

Signature
def get_cz_unpaired_noise(zone_address: ZoneAddress) -> ir.Method[[ilist.IList[qubit.Qubit, Any]], None]

Return the noise kernel for unpaired qubits during a CZ gate.

Parameters

NameTypeDescription
zone_addressZoneAddress

Returns

ir.Method[[ilist.IList[qubit.Qubit, Any]], None]

source