bloqade.lanes.rewrite.move2squin.noise.NoiseModelABC
classNoiseModelABC¶source
bloqade.lanes.rewrite.move2squin.noise.NoiseModelABC
Bases: abc.ABC
Abstract base class for noise models used during move-to-squin compilation.
class NoiseModelABCThis 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_noise¶source
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] | NoneReturn the noise kernel for paired qubits during a CZ gate, or None.
Parameters
| Name | Type | Description |
|---|---|---|
zone_address | ZoneAddress |
Returns
ir.Method[[ilist.IList[qubit.Qubit, Len], ilist.IList[qubit.Qubit, Len]], None] | None
methodget_global_rz_noise¶source
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] | NoneReturn the noise kernel for global Rz rotations, or None.
Returns
ir.Method[[ilist.IList[qubit.Qubit, Any], float], None] | None
methodget_local_rz_noise¶source
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] | NoneReturn the noise kernel for local Rz rotations, or None.
Parameters
| Name | Type | Description |
|---|---|---|
locations | Sequence[LocationAddress] |
Returns
ir.Method[[ilist.IList[qubit.Qubit, Any], float], None] | None
methodget_global_r_noise¶source
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] | NoneReturn the noise kernel for global R rotations, or None.
Returns
ir.Method[[ilist.IList[qubit.Qubit, Any], float, float], None] | None
methodget_local_r_noise¶source
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] | NoneReturn the noise kernel for local R rotations, or None.
Parameters
| Name | Type | Description |
|---|---|---|
locations | Sequence[LocationAddress] |
Returns
ir.Method[[ilist.IList[qubit.Qubit, Any], float, float], None] | None
methodget_logical_initialize¶source
bloqade.lanes.rewrite.move2squin.noise.NoiseModelABC.get_logical_initialize
Signature
def get_logical_initialize() -> tuple[LogicalInitKernel | None, LogicalInitKernel | 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[LogicalInitKernel | None, LogicalInitKernel | None]
methodget_lane_noise¶source
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
| Name | Type | Description |
|---|---|---|
lane | LaneAddress |
Returns
ir.Method[[qubit.Qubit], None]
methodget_bus_idle_noise¶source
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
| Name | Type | Description |
|---|---|---|
move_type | MoveType | |
bus_id | int |
Returns
ir.Method[[ilist.IList[qubit.Qubit, Any]], None]
methodget_cz_unpaired_noise¶source
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
| Name | Type | Description |
|---|---|---|
zone_address | ZoneAddress |
Returns
ir.Method[[ilist.IList[qubit.Qubit, Any]], None]