Skip to content

bloqade.qasm2.rewrite.noise.heuristic_noise.NoiseRewriteRule

← Module overview

classNoiseRewriteRulesource

bloqade.qasm2.rewrite.noise.heuristic_noise.NoiseRewriteRule

Bases: rewrite_abc.RewriteRule

NOTE: This pass is not guaranteed to be supported long-term in bloqade. We will be moving towards a more general approach to noise modeling in the future.

Signature
class NoiseRewriteRule(address_analysis: Dict[ir.SSAValue, address.Address], qubit_ssa_value: Dict[int, ir.SSAValue], noise_model: noise.MoveNoiseModelABC = noise.TwoRowZoneModel())

Parameters

NameTypeDefaultDescription
address_analysisDict[ir.SSAValue, address.Address]required
qubit_ssa_valueDict[int, ir.SSAValue]required
noise_modelnoise.MoveNoiseModelABCnoise.TwoRowZoneModel()

Attributes

NameTypeDefaultDescription
address_analysisDict[ir.SSAValue, address.Address]required
qubit_ssa_valueDict[int, ir.SSAValue]required
noise_modelnoise.MoveNoiseModelABCfield(default_factory=(noise.TwoRowZoneModel))

methodrewrite_Statementsource

bloqade.qasm2.rewrite.noise.heuristic_noise.NoiseRewriteRule.rewrite_Statement

def rewrite_Statement(node: ir.Statement) -> rewrite_abc.RewriteResult

Parameters

NameTypeDescription
nodeir.Statement

Returns

rewrite_abc.RewriteResult

source

methodinsert_single_qubit_noisesource

bloqade.qasm2.rewrite.noise.heuristic_noise.NoiseRewriteRule.insert_single_qubit_noise

Signature
def insert_single_qubit_noise(node: ir.Statement, qargs: ir.SSAValue, probs: Tuple[float, float, float, float])

Parameters

NameTypeDescription
nodeir.Statement
qargsir.SSAValue
probsTuple[float, float, float, float]
source

methodrewrite_single_qubit_gatesource

bloqade.qasm2.rewrite.noise.heuristic_noise.NoiseRewriteRule.rewrite_single_qubit_gate

def rewrite_single_qubit_gate(node: uop.SingleQubitGate)

Parameters

NameTypeDescription
nodeuop.SingleQubitGate
source

methodrewrite_global_single_qubit_gatesource

bloqade.qasm2.rewrite.noise.heuristic_noise.NoiseRewriteRule.rewrite_global_single_qubit_gate

def rewrite_global_single_qubit_gate(node: glob.UGate)

Parameters

NameTypeDescription
nodeglob.UGate
source

methodrewrite_parallel_single_qubit_gatesource

bloqade.qasm2.rewrite.noise.heuristic_noise.NoiseRewriteRule.rewrite_parallel_single_qubit_gate

Signature
def rewrite_parallel_single_qubit_gate(node: parallel.RZ | parallel.UGate)

Parameters

NameTypeDescription
nodeparallel.RZ | parallel.UGate
source

methodmove_noise_stmtssource

bloqade.qasm2.rewrite.noise.heuristic_noise.NoiseRewriteRule.move_noise_stmts

Signature
def move_noise_stmts(errors: Dict[Tuple[float, float, float, float], List[int]]) -> list[ir.Statement]

Parameters

NameTypeDescription
errorsDict[Tuple[float, float, float, float], List[int]]

Returns

list[ir.Statement]

source

methodcz_gate_noisesource

bloqade.qasm2.rewrite.noise.heuristic_noise.NoiseRewriteRule.cz_gate_noise

Signature
def cz_gate_noise(ctrls: ir.SSAValue, qargs: ir.SSAValue) -> list[ir.Statement]

Parameters

NameTypeDescription
ctrlsir.SSAValue
qargsir.SSAValue

Returns

list[ir.Statement]

source

methodrewrite_cz_gatesource

bloqade.qasm2.rewrite.noise.heuristic_noise.NoiseRewriteRule.rewrite_cz_gate

def rewrite_cz_gate(node: uop.CZ)

Parameters

NameTypeDescription
nodeuop.CZ
source

methodrewrite_parallel_cz_gatesource

bloqade.qasm2.rewrite.noise.heuristic_noise.NoiseRewriteRule.rewrite_parallel_cz_gate

def rewrite_parallel_cz_gate(node: parallel.CZ)

Parameters

NameTypeDescription
nodeparallel.CZ
source