replace_annotations¶
- samplomatic.utils.replace_annotations(circuit: QuantumCircuit, fn: Callable[[Annotation], list[Annotation]]) QuantumCircuit[source]¶
Return a new circuit with annotations replaced according to a callable.
For each annotation on each box,
fnis called with the annotation instance and must return a list of annotations to substitute in its place. Returning a single-element list replaces the annotation, returning an empty list removes it, and returning a multi-element list expands one annotation into several.- Parameters:
circuit – The circuit whose box annotations to replace.
fn – A callable that receives each annotation and returns the list of annotations to substitute in its place.
- Returns:
A new circuit with annotations replaced per
fn.
from qiskit.circuit import QuantumCircuit from samplomatic import Twirl from samplomatic.utils import replace_annotations circuit = QuantumCircuit(2) with circuit.box([Twirl(group="pauli")]): circuit.cx(0, 1) # Replace Twirl annotations, delete anything else updated = replace_annotations( circuit, lambda a: [Twirl(group="local_c1")] if isinstance(a, Twirl) else [] )