0.16.0 - 2026-01-19¶
Added¶
Added the
InjectNoise.siteattribute to specify whether the noise should be injected before or after the hard content of a dressed box. Added theinject_noise_siteargument to thegenerate_boxing_pass_managerfunction to specify where noise should be injected. (#280)Added the
decompositionargument to thesamplomatic.transpiler.generate_boxing_pass_manager()function that causes allTwirlandChangeBasisannotations added by the pass manager to have the specified dressing gate decomposition. The current allowed values are'rzsx'(default) and'rzrx'. The same argument was also added to theGroupMeasIntoBoxespass, and theGroupGatesIntoBoxespass similarly gained an argumentannotations. (#284)Added the
num_bytesattribute toSpecification,TensorSpecification, andPauliLindbladMapSpecification, and thenum_bytes()method toTensorInterface, to estimate memory usage for interface data. (#289)
Changed¶
The constructor of the
GroupMeasIntoBoxestranspiler pass now only accepts keyword arguments. (#284)The
ChangeBasisannotation now acceptsdressingandmodeas independent arguments. Peviously, amodeofpreparewould result in arightdressing, while ameasurewould result in aleftdressing. (#285)The
AddInjectNoisepass now generates references based on the hash of a box’sBoxKey, resulting in the same reference from run to run of the pass. Additionally, it increments individual modifier references starting from0in each run. (#291)
Fixed¶
Fixed imports to not assume that the
typingsubpackage exists in thenumpynamespace; the lineimport numpy; numpy.typingfails in some environments, whereasimport numpy.typing; numpy.typingalways succeeds under the current version restrictions. (#286)Fixed a bug where parametric gates with fixed parameters outside of boxes caused building to fail. (#294)