Skip to content

bloqade.lanes.rewrite.move2squin.noise.SimpleLogicalNoiseModel

← Module overview

classSimpleLogicalNoiseModelsource

bloqade.lanes.rewrite.move2squin.noise.SimpleLogicalNoiseModel

Bases: LogicalNoiseModelABC, SimpleNoiseModel

Logical noise model based on :class:`SimpleNoiseModel`.

Signature
class SimpleLogicalNoiseModel(lane_noise: ir.Method[[qubit.Qubit], None], idle_noise: ir.Method[[ilist.IList[qubit.Qubit, Any]], None], cz_unpaired_noise: ir.Method[[ilist.IList[qubit.Qubit, Any]], None], cz_paired_noise: ir.Method[[ilist.IList[qubit.Qubit, Any], ilist.IList[qubit.Qubit, Any]], None], global_rz_noise: ir.Method[[ilist.IList[qubit.Qubit, Any], float], None], local_rz_noise: ir.Method[[ilist.IList[qubit.Qubit, Any], float], None], global_r_noise: ir.Method[[ilist.IList[qubit.Qubit, Any], float, float], None], local_r_noise: ir.Method[[ilist.IList[qubit.Qubit, Any], float, float], None], logical_initialize_clean: ir.Method[[float, float, float, ilist.IList[qubit.Qubit, Any]], None] | None = None, logical_initialize_noisy: ir.Method[[float, float, float, ilist.IList[qubit.Qubit, Any]], None] | None = None)

This class does not add new fields beyond SimpleNoiseModel; it serves as a marker subclass that also satisfies LogicalNoiseModelABC for logical compilation passes.

The logical_initialize_clean and logical_initialize_noisy fields are inherited from SimpleNoiseModel and must both be set.

Parameters

NameTypeDefaultDescription
lane_noiseir.Method[[qubit.Qubit], None]required
idle_noiseir.Method[[ilist.IList[qubit.Qubit, Any]], None]required
cz_unpaired_noiseir.Method[[ilist.IList[qubit.Qubit, Any]], None]required
cz_paired_noiseir.Method[[ilist.IList[qubit.Qubit, Any], ilist.IList[qubit.Qubit, Any]], None]required
global_rz_noiseir.Method[[ilist.IList[qubit.Qubit, Any], float], None]required
local_rz_noiseir.Method[[ilist.IList[qubit.Qubit, Any], float], None]required
global_r_noiseir.Method[[ilist.IList[qubit.Qubit, Any], float, float], None]required
local_r_noiseir.Method[[ilist.IList[qubit.Qubit, Any], float, float], None]required
logical_initialize_cleanir.Method[[float, float, float, ilist.IList[qubit.Qubit, Any]], None] | NoneNone
logical_initialize_noisyir.Method[[float, float, float, ilist.IList[qubit.Qubit, Any]], None] | NoneNone

methodget_logical_initializesource

bloqade.lanes.rewrite.move2squin.noise.SimpleLogicalNoiseModel.get_logical_initialize

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

Returns

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

source

methodfrom_simplesource

bloqade.lanes.rewrite.move2squin.noise.SimpleLogicalNoiseModel.from_simple

Signature
def from_simple(noise_model: SimpleNoiseModel, logical_initialize_clean: ir.Method[[float, float, float, ilist.IList[qubit.Qubit, Any]], None], logical_initialize_noisy: ir.Method[[float, float, float, ilist.IList[qubit.Qubit, Any]], None]) -> SimpleLogicalNoiseModel

Create from an existing SimpleNoiseModel plus init kernels.

Parameters

NameTypeDescription
noise_modelSimpleNoiseModel
logical_initialize_cleanir.Method[[float, float, float, ilist.IList[qubit.Qubit, Any]], None]
logical_initialize_noisyir.Method[[float, float, float, ilist.IList[qubit.Qubit, Any]], None]

Returns

SimpleLogicalNoiseModel

source