0.18.0 - 2026-04-09¶
Added¶
Added the
add_tagsoption to :func:~samplomatic.transpiler.generate_boxing_pass_managerand the :class:~samplomatic.transpiler.passes.AddTagstranspiler pass. When enabled, a :class:~samplomatic.annotations.Tagannotation is automatically added to every box. Two modes are supported:'unique_box'assigns the same hash-based ref to structurally equivalent boxes, and'unique_instance'assigns a unique incrementing ref (t0,t1, …) to every box in the circuit. (#342)Added the
debugoption tobuild()that populates debug/trace information on samplex nodes, enabling users to trace nodes back to their originating box annotations. (#345)Added
map_annotations(),strip_annotations(),filter_annotations(),extend_annotations(), andreplace_annotations()utilities tosamplomtic.utilsfor modifying annotations on existing circuits. (#347)
Improved¶
Improved the two synthesizers
RzRxSynthandRzSxSynthto always generate Clifford angles when given a U2 gate that is Clifford. It is only possible to end up with non-Clifford angles when the gate being synthesized is a Z rotation, or a pi-gate of some angle. Either case leads to a degree of freedom in how to distribute the angle between the first and last RZ gate of the synthesis. This was fixed by enforcing the last angle be 0 in both cases. (#341)
Fixed¶
Fixed
samplomatic.utils.default_normalize_annotations()to also keepTagannotations, in addition toInjectNoiseandTwirlannotations. (#343)