AddInjectNoise¶
- class samplomatic.transpiler.passes.AddInjectNoise(*args, **kwargs)[source]¶
Bases:
TransformationPassInserts
InjectNoiseannotations to all the unique boxes with twirling annotation.This pass finds all the twirl-annotated boxes in the given circuit and adds inject noise annotations to all the boxes that contain entanglers and/or own classical registers.
- Parameters:
strategy – The noise injection strategy.
overwrite – Whether to overwrite the
refof inject noise annotations that are already present in the circuit.prefix_ref – A prefix to all the
refgenerated by this class.prefix_modifier_ref – A prefix to all the
modifier_refsgenerated by this class.targets –
The class of annotated boxes to target. The supported values are:
'none'to avoid annotating boxes of any kind.'gates'to target only the twirl-annotated boxes that contain entanglers.'measures'to target only the twirl-annotated boxes that own classicalregisters.
'all'to target all the twirl-annotated boxes that contain entanglersand/or own classical registers.
Note
Every
refis generated by appending a counter toprefix_ref. The counter is shared across all the instances of this class. In order to avoid collisions, it is incremented every time that a newrefis created. The same mechanism (with a different counter) is used to generate themodifier_refs.Methods Summary
run(dag)Run a pass on the DAGCircuit.
Methods Documentation
- run(dag: DAGCircuit) DAGCircuit[source]¶
Run a pass on the DAGCircuit. This is implemented by the pass developer.
- Parameters:
dag – the dag on which the pass is run.
- Raises:
NotImplementedError – when this is left unimplemented for a pass.